aggregate-error-toSource.js (1614B)
1 // |reftest| skip-if(!Error.prototype.toSource) 2 3 /* Any copyright is dedicated to the Public Domain. 4 * http://creativecommons.org/licenses/publicdomain/ */ 5 6 var err = evaluate(` 7 var e = new AggregateError([]); 8 e.toSource(); 9 `, { fileName: "test.js" }); 10 assertEq(err, `(new AggregateError([], "", "test.js", 2))`); 11 12 err = evaluate(` 13 var e = new AggregateError([new Error("another")], "msg here"); 14 e.toSource(); 15 `, { fileName: "test.js" }); 16 assertEq(err, `(new AggregateError([(new Error("another", "test.js", 2))], "msg here", "test.js", 2))`); 17 18 err = evaluate(` 19 var e = new AggregateError(new Set([new Error("some error"), new Error("another error")]),"Multiple errors thrown"); 20 e.toSource(); 21 `, { fileName: "test.js" }); 22 assertEq(err, `(new AggregateError([(new Error("some error", "test.js", 2)), (new Error("another error", "test.js", 2))], "Multiple errors thrown", "test.js", 2))`); 23 24 err = evaluate(` 25 var e = new AggregateError([]); 26 e.errors.push(e); 27 e.toSource(); 28 `, { fileName: "test.js" }); 29 assertEq(err, `(new AggregateError([{}], "", "test.js", 2))`); 30 31 err = evaluate(` 32 var e = new AggregateError([]); 33 e.errors = e; 34 e.toSource(); 35 `, { fileName: "test.js" }); 36 assertEq(err, `(new AggregateError({}, "", "test.js", 2))`); 37 38 err = evaluate(` 39 var e = new AggregateError([]); 40 e.errors = undefined; 41 e.toSource(); 42 `, { fileName: "test.js" }); 43 assertEq(err, `(new AggregateError((void 0), "", "test.js", 2))`); 44 45 err = evaluate(` 46 var e = new AggregateError([]); 47 e.errors = null; 48 e.toSource(); 49 `, { fileName: "test.js" }); 50 assertEq(err, `(new AggregateError(null, "", "test.js", 2))`); 51 52 reportCompare(true, true);