mirror of
https://github.com/tc39/test262.git
synced 2025-09-24 10:38:30 +02:00
Replace assertThrowsInstanceOf with assert.throws in staging/sm
This commit is contained in:
parent
660d854ccf
commit
7249a18ca0
@ -5,7 +5,7 @@
|
|||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
/*---
|
/*---
|
||||||
defines: [assertThrowsValue, assertThrowsInstanceOfWithMessageCheck, assertThrowsInstanceOf]
|
defines: [assertThrowsValue]
|
||||||
allow_unused: True
|
allow_unused: True
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
@ -29,33 +29,4 @@ allow_unused: True
|
|||||||
throw new Error(fullmsg);
|
throw new Error(fullmsg);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof globalThis.assertThrowsInstanceOfWithMessageCheck === 'undefined') {
|
|
||||||
globalThis.assertThrowsInstanceOfWithMessageCheck = function assertThrowsInstanceOfWithMessageCheck(f, ctor, check, msg) {
|
|
||||||
var fullmsg;
|
|
||||||
try {
|
|
||||||
f();
|
|
||||||
} catch (exc) {
|
|
||||||
if (!(exc instanceof ctor))
|
|
||||||
fullmsg = `Assertion failed: expected exception ${ctor.name}, got ${exc}`;
|
|
||||||
else {
|
|
||||||
// Do not test error messages
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (fullmsg === undefined)
|
|
||||||
fullmsg = `Assertion failed: expected exception ${ctor.name}, no exception thrown`;
|
|
||||||
if (msg !== undefined)
|
|
||||||
fullmsg += " - " + msg;
|
|
||||||
|
|
||||||
throw new Error(fullmsg);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
if (typeof globalThis.assertThrowsInstanceOf === 'undefined') {
|
|
||||||
globalThis.assertThrowsInstanceOf = function assertThrowsInstanceOf(f, ctor, msg) {
|
|
||||||
assertThrowsInstanceOfWithMessageCheck(f, ctor, _ => true, msg);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
})();
|
})();
|
||||||
|
@ -9,9 +9,9 @@ description: |
|
|||||||
pending
|
pending
|
||||||
esid: pending
|
esid: pending
|
||||||
---*/
|
---*/
|
||||||
assertThrowsInstanceOf(() => ArrayBuffer(), TypeError);
|
assert.throws(TypeError, () => ArrayBuffer());
|
||||||
assertThrowsInstanceOf(() => ArrayBuffer(1), TypeError);
|
assert.throws(TypeError, () => ArrayBuffer(1));
|
||||||
assertThrowsInstanceOf(() => ArrayBuffer.call(null), TypeError);
|
assert.throws(TypeError, () => ArrayBuffer.call(null));
|
||||||
assertThrowsInstanceOf(() => ArrayBuffer.apply(null, []), TypeError);
|
assert.throws(TypeError, () => ArrayBuffer.apply(null, []));
|
||||||
assertThrowsInstanceOf(() => Reflect.apply(ArrayBuffer, null, []), TypeError);
|
assert.throws(TypeError, () => Reflect.apply(ArrayBuffer, null, []));
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ for (let [ctor, answer] of tests) {
|
|||||||
a.constructor = {
|
a.constructor = {
|
||||||
[Symbol.species]: species
|
[Symbol.species]: species
|
||||||
};
|
};
|
||||||
assertThrowsInstanceOf(() => a.slice(8, 16), TypeError);
|
assert.throws(TypeError, () => a.slice(8, 16));
|
||||||
}
|
}
|
||||||
|
|
||||||
// undefined constructor
|
// undefined constructor
|
||||||
@ -119,7 +119,7 @@ for (let [ctor, answer] of tests) {
|
|||||||
for (let ctor of [null, 0, 1.1, true, false, "a", Symbol.iterator]) {
|
for (let ctor of [null, 0, 1.1, true, false, "a", Symbol.iterator]) {
|
||||||
a = arr.buffer;
|
a = arr.buffer;
|
||||||
a.constructor = ctor;
|
a.constructor = ctor;
|
||||||
assertThrowsInstanceOf(() => a.slice(8, 16), TypeError);
|
assert.throws(TypeError, () => a.slice(8, 16));
|
||||||
}
|
}
|
||||||
|
|
||||||
// @@species from different global
|
// @@species from different global
|
||||||
|
@ -20,9 +20,9 @@ var newTarget = Object.defineProperty(function(){}.bind(), "prototype", {
|
|||||||
|
|
||||||
var AsyncGenerator = async function*(){}.constructor;
|
var AsyncGenerator = async function*(){}.constructor;
|
||||||
|
|
||||||
assertThrowsInstanceOf(() => {
|
assert.throws(SyntaxError, () => {
|
||||||
Reflect.construct(AsyncGenerator, ["@error"], newTarget);
|
Reflect.construct(AsyncGenerator, ["@error"], newTarget);
|
||||||
}, SyntaxError);
|
});
|
||||||
|
|
||||||
assert.sameValue(getProtoCalled, false);
|
assert.sameValue(getProtoCalled, false);
|
||||||
|
|
||||||
|
@ -13,10 +13,10 @@ var AsyncGenerator = async function*(){}.constructor;
|
|||||||
|
|
||||||
function assertSyntaxError(code) {
|
function assertSyntaxError(code) {
|
||||||
var functionCode = `async function* f() { ${code} }`;
|
var functionCode = `async function* f() { ${code} }`;
|
||||||
assertThrowsInstanceOf(() => AsyncGenerator(code), SyntaxError, "AsyncGenerator:" + code);
|
assert.throws(SyntaxError, () => AsyncGenerator(code), "AsyncGenerator:" + code);
|
||||||
assertThrowsInstanceOf(() => eval(functionCode), SyntaxError, "eval:" + functionCode);
|
assert.throws(SyntaxError, () => eval(functionCode), "eval:" + functionCode);
|
||||||
var ieval = eval;
|
var ieval = eval;
|
||||||
assertThrowsInstanceOf(() => ieval(functionCode), SyntaxError, "indirect eval:" + functionCode);
|
assert.throws(SyntaxError, () => ieval(functionCode), "indirect eval:" + functionCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
assertSyntaxError(`for await (;;) ;`);
|
assertSyntaxError(`for await (;;) ;`);
|
||||||
|
@ -32,71 +32,71 @@ function badValue(ta) {
|
|||||||
for (let TA of intArrayConstructors) {
|
for (let TA of intArrayConstructors) {
|
||||||
let ta = new TA(1);
|
let ta = new TA(1);
|
||||||
|
|
||||||
assertThrowsInstanceOf(() => Atomics.load(ta, badValue(ta)), TypeError);
|
assert.throws(TypeError, () => Atomics.load(ta, badValue(ta)));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Atomics.store
|
// Atomics.store
|
||||||
for (let TA of intArrayConstructors) {
|
for (let TA of intArrayConstructors) {
|
||||||
let ta = new TA(1);
|
let ta = new TA(1);
|
||||||
|
|
||||||
assertThrowsInstanceOf(() => Atomics.store(ta, badValue(ta), 0), TypeError);
|
assert.throws(TypeError, () => Atomics.store(ta, badValue(ta), 0));
|
||||||
assertThrowsInstanceOf(() => Atomics.store(ta, 0, badValue(ta)), TypeError);
|
assert.throws(TypeError, () => Atomics.store(ta, 0, badValue(ta)));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Atomics.compareExchange
|
// Atomics.compareExchange
|
||||||
for (let TA of intArrayConstructors) {
|
for (let TA of intArrayConstructors) {
|
||||||
let ta = new TA(1);
|
let ta = new TA(1);
|
||||||
|
|
||||||
assertThrowsInstanceOf(() => Atomics.compareExchange(ta, badValue(ta), 0, 0), TypeError);
|
assert.throws(TypeError, () => Atomics.compareExchange(ta, badValue(ta), 0, 0));
|
||||||
assertThrowsInstanceOf(() => Atomics.compareExchange(ta, 0, badValue(ta), 0), TypeError);
|
assert.throws(TypeError, () => Atomics.compareExchange(ta, 0, badValue(ta), 0));
|
||||||
assertThrowsInstanceOf(() => Atomics.compareExchange(ta, 0, 0, badValue(ta)), TypeError);
|
assert.throws(TypeError, () => Atomics.compareExchange(ta, 0, 0, badValue(ta)));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Atomics.exchange
|
// Atomics.exchange
|
||||||
for (let TA of intArrayConstructors) {
|
for (let TA of intArrayConstructors) {
|
||||||
let ta = new TA(1);
|
let ta = new TA(1);
|
||||||
|
|
||||||
assertThrowsInstanceOf(() => Atomics.exchange(ta, badValue(ta), 0), TypeError);
|
assert.throws(TypeError, () => Atomics.exchange(ta, badValue(ta), 0));
|
||||||
assertThrowsInstanceOf(() => Atomics.exchange(ta, 0, badValue(ta)), TypeError);
|
assert.throws(TypeError, () => Atomics.exchange(ta, 0, badValue(ta)));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Atomics.add
|
// Atomics.add
|
||||||
for (let TA of intArrayConstructors) {
|
for (let TA of intArrayConstructors) {
|
||||||
let ta = new TA(1);
|
let ta = new TA(1);
|
||||||
|
|
||||||
assertThrowsInstanceOf(() => Atomics.add(ta, badValue(ta), 0), TypeError);
|
assert.throws(TypeError, () => Atomics.add(ta, badValue(ta), 0));
|
||||||
assertThrowsInstanceOf(() => Atomics.add(ta, 0, badValue(ta)), TypeError);
|
assert.throws(TypeError, () => Atomics.add(ta, 0, badValue(ta)));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Atomics.sub
|
// Atomics.sub
|
||||||
for (let TA of intArrayConstructors) {
|
for (let TA of intArrayConstructors) {
|
||||||
let ta = new TA(1);
|
let ta = new TA(1);
|
||||||
|
|
||||||
assertThrowsInstanceOf(() => Atomics.sub(ta, badValue(ta), 0), TypeError);
|
assert.throws(TypeError, () => Atomics.sub(ta, badValue(ta), 0));
|
||||||
assertThrowsInstanceOf(() => Atomics.sub(ta, 0, badValue(ta)), TypeError);
|
assert.throws(TypeError, () => Atomics.sub(ta, 0, badValue(ta)));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Atomics.and
|
// Atomics.and
|
||||||
for (let TA of intArrayConstructors) {
|
for (let TA of intArrayConstructors) {
|
||||||
let ta = new TA(1);
|
let ta = new TA(1);
|
||||||
|
|
||||||
assertThrowsInstanceOf(() => Atomics.and(ta, badValue(ta), 0), TypeError);
|
assert.throws(TypeError, () => Atomics.and(ta, badValue(ta), 0));
|
||||||
assertThrowsInstanceOf(() => Atomics.and(ta, 0, badValue(ta)), TypeError);
|
assert.throws(TypeError, () => Atomics.and(ta, 0, badValue(ta)));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Atomics.or
|
// Atomics.or
|
||||||
for (let TA of intArrayConstructors) {
|
for (let TA of intArrayConstructors) {
|
||||||
let ta = new TA(1);
|
let ta = new TA(1);
|
||||||
|
|
||||||
assertThrowsInstanceOf(() => Atomics.or(ta, badValue(ta), 0), TypeError);
|
assert.throws(TypeError, () => Atomics.or(ta, badValue(ta), 0));
|
||||||
assertThrowsInstanceOf(() => Atomics.or(ta, 0, badValue(ta)), TypeError);
|
assert.throws(TypeError, () => Atomics.or(ta, 0, badValue(ta)));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Atomics.xor
|
// Atomics.xor
|
||||||
for (let TA of intArrayConstructors) {
|
for (let TA of intArrayConstructors) {
|
||||||
let ta = new TA(1);
|
let ta = new TA(1);
|
||||||
|
|
||||||
assertThrowsInstanceOf(() => Atomics.xor(ta, badValue(ta), 0), TypeError);
|
assert.throws(TypeError, () => Atomics.xor(ta, badValue(ta), 0));
|
||||||
assertThrowsInstanceOf(() => Atomics.xor(ta, 0, badValue(ta)), TypeError);
|
assert.throws(TypeError, () => Atomics.xor(ta, 0, badValue(ta)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,5 +14,5 @@ var bufView = new DataView(buf);
|
|||||||
|
|
||||||
$262.detachArrayBuffer(buf);
|
$262.detachArrayBuffer(buf);
|
||||||
|
|
||||||
assertThrowsInstanceOf(() => bufView.getInt8(0), TypeError);
|
assert.throws(TypeError, () => bufView.getInt8(0));
|
||||||
|
|
||||||
|
@ -14,12 +14,12 @@ var view = new DataView(buffer);
|
|||||||
|
|
||||||
function check(view) {
|
function check(view) {
|
||||||
for (let fun of ['getInt8', 'setInt8', 'getInt16', 'setInt16']) {
|
for (let fun of ['getInt8', 'setInt8', 'getInt16', 'setInt16']) {
|
||||||
assertThrowsInstanceOf(() => view[fun](-10), RangeError);
|
assert.throws(RangeError, () => view[fun](-10));
|
||||||
assertThrowsInstanceOf(() => view[fun](-Infinity), RangeError);
|
assert.throws(RangeError, () => view[fun](-Infinity));
|
||||||
assertThrowsInstanceOf(() => view[fun](Infinity), RangeError);
|
assert.throws(RangeError, () => view[fun](Infinity));
|
||||||
|
|
||||||
assertThrowsInstanceOf(() => view[fun](Math.pow(2, 53)), RangeError);
|
assert.throws(RangeError, () => view[fun](Math.pow(2, 53)));
|
||||||
assertThrowsInstanceOf(() => view[fun](Math.pow(2, 54)), RangeError);
|
assert.throws(RangeError, () => view[fun](Math.pow(2, 54)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,9 +38,9 @@ if ('$262.detachArrayBuffer' in this) {
|
|||||||
|
|
||||||
check(view);
|
check(view);
|
||||||
|
|
||||||
assertThrowsInstanceOf(() => view.getInt8(0), TypeError);
|
assert.throws(TypeError, () => view.getInt8(0));
|
||||||
assertThrowsInstanceOf(() => view.setInt8(0, 0), TypeError);
|
assert.throws(TypeError, () => view.setInt8(0, 0));
|
||||||
assertThrowsInstanceOf(() => view.getInt8(Math.pow(2, 53) - 1), TypeError);
|
assert.throws(TypeError, () => view.getInt8(Math.pow(2, 53) - 1));
|
||||||
assertThrowsInstanceOf(() => view.setInt8(Math.pow(2, 53) - 1, 0), TypeError);
|
assert.throws(TypeError, () => view.setInt8(Math.pow(2, 53) - 1, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ let minusOne = Temporal.Duration.from({nanoseconds: -1});
|
|||||||
//Test invalid date
|
//Test invalid date
|
||||||
{
|
{
|
||||||
const invalidDate = new Date(NaN);
|
const invalidDate = new Date(NaN);
|
||||||
assertThrowsInstanceOf(() => invalidDate.toTemporalInstant(), RangeError);
|
assert.throws(RangeError, () => invalidDate.toTemporalInstant());
|
||||||
}
|
}
|
||||||
|
|
||||||
//Test Temporal.Instant properties
|
//Test Temporal.Instant properties
|
||||||
@ -62,11 +62,11 @@ let minusOne = Temporal.Duration.from({nanoseconds: -1});
|
|||||||
assert.sameValue(max.subtract(one).epochNanoseconds, max.epochNanoseconds - 1n);
|
assert.sameValue(max.subtract(one).epochNanoseconds, max.epochNanoseconds - 1n);
|
||||||
|
|
||||||
// Subtracting one from the minimum instant.
|
// Subtracting one from the minimum instant.
|
||||||
assertThrowsInstanceOf(() => min.add(minusOne), RangeError);
|
assert.throws(RangeError, () => min.add(minusOne));
|
||||||
assertThrowsInstanceOf(() => min.subtract(one), RangeError);
|
assert.throws(RangeError, () => min.subtract(one));
|
||||||
|
|
||||||
// Adding one to the maximum instant.
|
// Adding one to the maximum instant.
|
||||||
assertThrowsInstanceOf(() => max.add(one), RangeError);
|
assert.throws(RangeError, () => max.add(one));
|
||||||
assertThrowsInstanceOf(() => max.subtract(minusOne), RangeError);
|
assert.throws(RangeError, () => max.subtract(minusOne));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,13 +49,13 @@ var maxDateExtended = utc(+275760, 9, 13, 0, 0, 0, 0);
|
|||||||
assert.sameValue(maxDateExtended, +8.64e15);
|
assert.sameValue(maxDateExtended, +8.64e15);
|
||||||
assert.sameValue(iso(maxDateExtended - 1), "+275760-09-12T23:59:59.999Z");
|
assert.sameValue(iso(maxDateExtended - 1), "+275760-09-12T23:59:59.999Z");
|
||||||
assert.sameValue(iso(maxDateExtended ), "+275760-09-13T00:00:00.000Z");
|
assert.sameValue(iso(maxDateExtended ), "+275760-09-13T00:00:00.000Z");
|
||||||
assertThrowsInstanceOf(() => iso(maxDateExtended + 1), RangeError);
|
assert.throws(RangeError, () => iso(maxDateExtended + 1));
|
||||||
|
|
||||||
|
|
||||||
// Values around minimum date for extended iso format.
|
// Values around minimum date for extended iso format.
|
||||||
var minDateExtended = utc(-271821, 4, 20, 0, 0, 0, 0);
|
var minDateExtended = utc(-271821, 4, 20, 0, 0, 0, 0);
|
||||||
assert.sameValue(minDateExtended, -8.64e15);
|
assert.sameValue(minDateExtended, -8.64e15);
|
||||||
assertThrowsInstanceOf(() => iso(minDateExtended - 1), RangeError);
|
assert.throws(RangeError, () => iso(minDateExtended - 1));
|
||||||
assert.sameValue(iso(minDateExtended ), "-271821-04-20T00:00:00.000Z");
|
assert.sameValue(iso(minDateExtended ), "-271821-04-20T00:00:00.000Z");
|
||||||
assert.sameValue(iso(minDateExtended + 1), "-271821-04-20T00:00:00.001Z");
|
assert.sameValue(iso(minDateExtended + 1), "-271821-04-20T00:00:00.001Z");
|
||||||
|
|
||||||
|
@ -13,8 +13,8 @@ esid: pending
|
|||||||
|
|
||||||
// The toPrimitive method throws if the this value isn't an object.
|
// The toPrimitive method throws if the this value isn't an object.
|
||||||
var toPrimitive = Date.prototype[Symbol.toPrimitive];
|
var toPrimitive = Date.prototype[Symbol.toPrimitive];
|
||||||
assertThrowsInstanceOf(() => toPrimitive.call(undefined, "default"), TypeError);
|
assert.throws(TypeError, () => toPrimitive.call(undefined, "default"));
|
||||||
assertThrowsInstanceOf(() => toPrimitive.call(3, "default"), TypeError);
|
assert.throws(TypeError, () => toPrimitive.call(3, "default"));
|
||||||
|
|
||||||
// It doesn't have to be a Date object, though.
|
// It doesn't have to be a Date object, though.
|
||||||
var obj = {
|
var obj = {
|
||||||
@ -26,11 +26,11 @@ assert.sameValue(toPrimitive.call(obj, "string"), "str");
|
|||||||
assert.sameValue(toPrimitive.call(obj, "default"), "str");
|
assert.sameValue(toPrimitive.call(obj, "default"), "str");
|
||||||
|
|
||||||
// It throws if the hint argument is missing or not one of the three allowed values.
|
// It throws if the hint argument is missing or not one of the three allowed values.
|
||||||
assertThrowsInstanceOf(() => toPrimitive.call(obj), TypeError);
|
assert.throws(TypeError, () => toPrimitive.call(obj));
|
||||||
assertThrowsInstanceOf(() => toPrimitive.call(obj, undefined), TypeError);
|
assert.throws(TypeError, () => toPrimitive.call(obj, undefined));
|
||||||
assertThrowsInstanceOf(() => toPrimitive.call(obj, "boolean"), TypeError);
|
assert.throws(TypeError, () => toPrimitive.call(obj, "boolean"));
|
||||||
assertThrowsInstanceOf(() => toPrimitive.call(obj, ["number"]), TypeError);
|
assert.throws(TypeError, () => toPrimitive.call(obj, ["number"]));
|
||||||
assertThrowsInstanceOf(() => toPrimitive.call(obj, {toString() { throw "FAIL"; }}), TypeError);
|
assert.throws(TypeError, () => toPrimitive.call(obj, {toString() { throw "FAIL"; }}));
|
||||||
|
|
||||||
// The next few tests cover the OrdinaryToPrimitive algorithm, specified in
|
// The next few tests cover the OrdinaryToPrimitive algorithm, specified in
|
||||||
// ES6 7.1.1 ToPrimitive(input [, PreferredType]).
|
// ES6 7.1.1 ToPrimitive(input [, PreferredType]).
|
||||||
@ -61,7 +61,7 @@ assert.sameValue(dateobj[Symbol.toPrimitive]("number"), 15);
|
|||||||
|
|
||||||
// If neither is callable, it throws a TypeError.
|
// If neither is callable, it throws a TypeError.
|
||||||
Date.prototype.toString = "ponies";
|
Date.prototype.toString = "ponies";
|
||||||
assertThrowsInstanceOf(() => dateobj[Symbol.toPrimitive]("default"), TypeError);
|
assert.throws(TypeError, () => dateobj[Symbol.toPrimitive]("default"));
|
||||||
|
|
||||||
// Surface features.
|
// Surface features.
|
||||||
assert.sameValue(toPrimitive.name, "[Symbol.toPrimitive]");
|
assert.sameValue(toPrimitive.name, "[Symbol.toPrimitive]");
|
||||||
|
@ -17,8 +17,8 @@ var summary = 'Date.prototype.toString is a generic function';
|
|||||||
print(BUGNUMBER + ": " + summary);
|
print(BUGNUMBER + ": " + summary);
|
||||||
|
|
||||||
for (var thisValue of [{}, [], /foo/, Date.prototype, new Proxy(new Date(), {})])
|
for (var thisValue of [{}, [], /foo/, Date.prototype, new Proxy(new Date(), {})])
|
||||||
assertThrowsInstanceOf(() => Date.prototype.toString.call(thisValue), TypeError);
|
assert.throws(TypeError, () => Date.prototype.toString.call(thisValue));
|
||||||
|
|
||||||
for (var prim of [null, undefined, 0, 1.2, true, false, "foo", Symbol.iterator])
|
for (var prim of [null, undefined, 0, 1.2, true, false, "foo", Symbol.iterator])
|
||||||
assertThrowsInstanceOf(() => Date.prototype.toString.call(prim), TypeError);
|
assert.throws(TypeError, () => Date.prototype.toString.call(prim));
|
||||||
|
|
||||||
|
@ -19,8 +19,8 @@ assert.sameValue(AggregateError.prototype.name, "AggregateError");
|
|||||||
assert.sameValue(AggregateError.prototype.message, "");
|
assert.sameValue(AggregateError.prototype.message, "");
|
||||||
|
|
||||||
// The |errors| argument is mandatory.
|
// The |errors| argument is mandatory.
|
||||||
assertThrowsInstanceOf(() => new AggregateError(), TypeError);
|
assert.throws(TypeError, () => new AggregateError());
|
||||||
assertThrowsInstanceOf(() => AggregateError(), TypeError);
|
assert.throws(TypeError, () => AggregateError());
|
||||||
|
|
||||||
// The .errors data property is an array object.
|
// The .errors data property is an array object.
|
||||||
{
|
{
|
||||||
|
@ -102,7 +102,7 @@ esid: pending
|
|||||||
}
|
}
|
||||||
|
|
||||||
assert.sameValue(true, Object.isFrozen(JSON.rawJSON('"shouldBeFrozen"')));
|
assert.sameValue(true, Object.isFrozen(JSON.rawJSON('"shouldBeFrozen"')));
|
||||||
assertThrowsInstanceOf(() => JSON.rawJSON(), SyntaxError);
|
assert.throws(SyntaxError, () => JSON.rawJSON());
|
||||||
assertIsRawJson(JSON.rawJSON(1, 2), '1');
|
assertIsRawJson(JSON.rawJSON(1, 2), '1');
|
||||||
})();
|
})();
|
||||||
|
|
||||||
@ -125,9 +125,9 @@ esid: pending
|
|||||||
assert.sameValue(TypeError !== otherGlobal.TypeError, true);
|
assert.sameValue(TypeError !== otherGlobal.TypeError, true);
|
||||||
|
|
||||||
assertErrorComesFromCorrectRealm = (fun, thisRealmType) => {
|
assertErrorComesFromCorrectRealm = (fun, thisRealmType) => {
|
||||||
assertThrowsInstanceOf(() => fun(this), thisRealmType,
|
assert.throws(thisRealmType, () => fun(this),
|
||||||
`${thisRealmType.name} should come from this realm.`);
|
`${thisRealmType.name} should come from this realm.`);
|
||||||
assertThrowsInstanceOf(() => fun(otherGlobal), otherGlobal[thisRealmType.name],
|
assert.throws(otherGlobal[thisRealmType.name], () => fun(otherGlobal),
|
||||||
`${thisRealmType.name} should come from the other realm.`);
|
`${thisRealmType.name} should come from the other realm.`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@ function test(ctors, { nextVal=undefined,
|
|||||||
}
|
}
|
||||||
assert.sameValue(caught, true);
|
assert.sameValue(caught, true);
|
||||||
} else if (exceptionType) {
|
} else if (exceptionType) {
|
||||||
assertThrowsInstanceOf(() => new ctor(iterable), exceptionType);
|
assert.throws(exceptionType, () => new ctor(iterable));
|
||||||
} else {
|
} else {
|
||||||
new ctor(iterable);
|
new ctor(iterable);
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ for (let ctor of ctors) {
|
|||||||
return primitive;
|
return primitive;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
assertThrowsInstanceOf(() => new ctor(arg), TypeError);
|
assert.throws(TypeError, () => new ctor(arg));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ assertThrowsValue(
|
|||||||
"hello");
|
"hello");
|
||||||
|
|
||||||
// Not a number throws TypeError
|
// Not a number throws TypeError
|
||||||
assertThrowsInstanceOf(() => Number.prototype.toExponential.call("Hello"), TypeError);
|
assert.throws(TypeError, () => Number.prototype.toExponential.call("Hello"));
|
||||||
|
|
||||||
if (typeof assert.sameValue === "function") {
|
if (typeof assert.sameValue === "function") {
|
||||||
}
|
}
|
||||||
|
@ -51,7 +51,7 @@ assertThrowsValue(
|
|||||||
"hello");
|
"hello");
|
||||||
|
|
||||||
// Not a number throws TypeError
|
// Not a number throws TypeError
|
||||||
assertThrowsInstanceOf(() => Number.prototype.toPrecision.call("Hello"), TypeError);
|
assert.throws(TypeError, () => Number.prototype.toPrecision.call("Hello"));
|
||||||
|
|
||||||
if (typeof assert.sameValue === "function") {
|
if (typeof assert.sameValue === "function") {
|
||||||
}
|
}
|
||||||
|
@ -15,9 +15,9 @@ assert.sameValue(Number.prototype.toFixed.call(-Infinity), "-Infinity");
|
|||||||
assert.sameValue(Number.prototype.toFixed.call(Infinity), "Infinity");
|
assert.sameValue(Number.prototype.toFixed.call(Infinity), "Infinity");
|
||||||
assert.sameValue(Number.prototype.toFixed.call(NaN), "NaN");
|
assert.sameValue(Number.prototype.toFixed.call(NaN), "NaN");
|
||||||
|
|
||||||
assertThrowsInstanceOf(() => Number.prototype.toFixed.call(-Infinity, 555), RangeError);
|
assert.throws(RangeError, () => Number.prototype.toFixed.call(-Infinity, 555));
|
||||||
assertThrowsInstanceOf(() => Number.prototype.toFixed.call(Infinity, 555), RangeError);
|
assert.throws(RangeError, () => Number.prototype.toFixed.call(Infinity, 555));
|
||||||
assertThrowsInstanceOf(() => Number.prototype.toFixed.call(NaN, 555), RangeError);
|
assert.throws(RangeError, () => Number.prototype.toFixed.call(NaN, 555));
|
||||||
|
|
||||||
assertThrowsInstanceOf(() => Number.prototype.toFixed.call("Hello"), TypeError);
|
assert.throws(TypeError, () => Number.prototype.toFixed.call("Hello"));
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ description: |
|
|||||||
pending
|
pending
|
||||||
esid: pending
|
esid: pending
|
||||||
---*/
|
---*/
|
||||||
assertThrowsInstanceOf(function() { eval('let a = 100_00_;'); }, SyntaxError);
|
assert.throws(SyntaxError, function() { eval('let a = 100_00_;'); });
|
||||||
assertThrowsInstanceOf(() => eval("let b = 10__;"), SyntaxError);
|
assert.throws(SyntaxError, () => eval("let b = 10__;"));
|
||||||
assertThrowsInstanceOf(() => eval("let b = 1._2;"), SyntaxError);
|
assert.throws(SyntaxError, () => eval("let b = 1._2;"));
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ assert.sameValue(m.get(sym), 0);
|
|||||||
// sym1 will be registered in global Symbol registry hence cannot be used as a
|
// sym1 will be registered in global Symbol registry hence cannot be used as a
|
||||||
// key in WeakMap.
|
// key in WeakMap.
|
||||||
var sym1 = Symbol.for("testKey");
|
var sym1 = Symbol.for("testKey");
|
||||||
assertThrowsInstanceOf(() => m.set(sym1, 1), TypeError);
|
assert.throws(TypeError, () => m.set(sym1, 1));
|
||||||
|
|
||||||
// Well-known symbols can be used as weakmap keys.
|
// Well-known symbols can be used as weakmap keys.
|
||||||
var sym2 = Symbol.hasInstance;
|
var sym2 = Symbol.hasInstance;
|
||||||
|
@ -14,13 +14,13 @@ assert.sameValue("arguments" in this, false);
|
|||||||
|
|
||||||
// Declare |arguments| when no pre-existing (and explicit) |arguments| bindings are present.
|
// Declare |arguments| when no pre-existing (and explicit) |arguments| bindings are present.
|
||||||
function f1(p = eval("var arguments")) {}
|
function f1(p = eval("var arguments")) {}
|
||||||
assertThrowsInstanceOf(f1, SyntaxError);
|
assert.throws(SyntaxError, f1);
|
||||||
|
|
||||||
// Declare |arguments| when the function body contains an |arguments| var-binding.
|
// Declare |arguments| when the function body contains an |arguments| var-binding.
|
||||||
function f2(p = eval("var arguments")) {
|
function f2(p = eval("var arguments")) {
|
||||||
var arguments;
|
var arguments;
|
||||||
}
|
}
|
||||||
assertThrowsInstanceOf(f2, SyntaxError);
|
assert.throws(SyntaxError, f2);
|
||||||
|
|
||||||
// Declare |arguments| when the function body contains an |arguments| function declaration.
|
// Declare |arguments| when the function body contains an |arguments| function declaration.
|
||||||
//
|
//
|
||||||
@ -30,7 +30,7 @@ assertThrowsInstanceOf(f2, SyntaxError);
|
|||||||
function f3(p = eval("var arguments")) {
|
function f3(p = eval("var arguments")) {
|
||||||
function arguments() {}
|
function arguments() {}
|
||||||
}
|
}
|
||||||
assertThrowsInstanceOf(f3, SyntaxError);
|
assert.throws(SyntaxError, f3);
|
||||||
|
|
||||||
// Declare |arguments| when the function body contains an |arguments| lexical binding.
|
// Declare |arguments| when the function body contains an |arguments| lexical binding.
|
||||||
//
|
//
|
||||||
@ -40,15 +40,15 @@ assertThrowsInstanceOf(f3, SyntaxError);
|
|||||||
function f4(p = eval("var arguments")) {
|
function f4(p = eval("var arguments")) {
|
||||||
let arguments;
|
let arguments;
|
||||||
}
|
}
|
||||||
assertThrowsInstanceOf(f4, SyntaxError);
|
assert.throws(SyntaxError, f4);
|
||||||
|
|
||||||
// Declare |arguments| when a following parameter is named |arguments|.
|
// Declare |arguments| when a following parameter is named |arguments|.
|
||||||
function f5(p = eval("var arguments"), arguments) {}
|
function f5(p = eval("var arguments"), arguments) {}
|
||||||
assertThrowsInstanceOf(f5, SyntaxError);
|
assert.throws(SyntaxError, f5);
|
||||||
|
|
||||||
// Declare |arguments| when a preceding parameter is named |arguments|.
|
// Declare |arguments| when a preceding parameter is named |arguments|.
|
||||||
function f6(arguments, p = eval("var arguments")) {}
|
function f6(arguments, p = eval("var arguments")) {}
|
||||||
assertThrowsInstanceOf(f6, SyntaxError);
|
assert.throws(SyntaxError, f6);
|
||||||
|
|
||||||
|
|
||||||
// Repeat the same kind of tests for arrow function.
|
// Repeat the same kind of tests for arrow function.
|
||||||
@ -85,11 +85,11 @@ a4();
|
|||||||
|
|
||||||
// Declare |arguments| when a following parameter is named |arguments|.
|
// Declare |arguments| when a following parameter is named |arguments|.
|
||||||
var a5 = (p = eval("var arguments"), arguments) => {};
|
var a5 = (p = eval("var arguments"), arguments) => {};
|
||||||
assertThrowsInstanceOf(a5, SyntaxError);
|
assert.throws(SyntaxError, a5);
|
||||||
|
|
||||||
// Declare |arguments| when a preceding parameter is named |arguments|.
|
// Declare |arguments| when a preceding parameter is named |arguments|.
|
||||||
var a6 = (arguments, p = eval("var arguments")) => {};
|
var a6 = (arguments, p = eval("var arguments")) => {};
|
||||||
assertThrowsInstanceOf(a6, SyntaxError);
|
assert.throws(SyntaxError, a6);
|
||||||
|
|
||||||
// None of the direct eval calls introduced a global |arguments| binding.
|
// None of the direct eval calls introduced a global |arguments| binding.
|
||||||
assert.sameValue("arguments" in this, false);
|
assert.sameValue("arguments" in this, false);
|
||||||
|
@ -39,8 +39,7 @@ var randomExtensions =
|
|||||||
|
|
||||||
for (var extension of randomExtensions)
|
for (var extension of randomExtensions)
|
||||||
{
|
{
|
||||||
assertThrowsInstanceOf(() => Function(extension), SyntaxError,
|
assert.throws(SyntaxError, () => Function(extension), "bad behavior for: " + extension);
|
||||||
"bad behavior for: " + extension);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
@ -92,12 +92,12 @@ functions.forEach(f => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
function checkArgumentsAccess(f) {
|
function checkArgumentsAccess(f) {
|
||||||
assertThrowsInstanceOf(() => f.arguments, TypeError,
|
assert.throws(TypeError, () => f.arguments,
|
||||||
`Expected 'arguments' property access to throw on ${f}`);
|
`Expected 'arguments' property access to throw on ${f}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkCallerAccess(f) {
|
function checkCallerAccess(f) {
|
||||||
assertThrowsInstanceOf(() => f.caller, TypeError,
|
assert.throws(TypeError, () => f.caller,
|
||||||
`Expected 'caller' property access to throw on ${f}`);
|
`Expected 'caller' property access to throw on ${f}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,13 +36,13 @@ assert.sameValue(dv2.getInt8(0), 37);
|
|||||||
|
|
||||||
// Test that range checking works
|
// Test that range checking works
|
||||||
|
|
||||||
assertThrowsInstanceOf(() => dv.setInt32(4098, -1), RangeError);
|
assert.throws(RangeError, () => dv.setInt32(4098, -1));
|
||||||
assertThrowsInstanceOf(() => dv.setInt32(4094, -1), RangeError);
|
assert.throws(RangeError, () => dv.setInt32(4094, -1));
|
||||||
assertThrowsInstanceOf(() => dv.setInt32(-1, -1), RangeError);
|
assert.throws(RangeError, () => dv.setInt32(-1, -1));
|
||||||
|
|
||||||
assertThrowsInstanceOf(() => dv2.setInt32(2080, -1), RangeError);
|
assert.throws(RangeError, () => dv2.setInt32(2080, -1));
|
||||||
assertThrowsInstanceOf(() => dv2.setInt32(2046, -1), RangeError);
|
assert.throws(RangeError, () => dv2.setInt32(2046, -1));
|
||||||
assertThrowsInstanceOf(() => dv2.setInt32(-1, -1), RangeError);
|
assert.throws(RangeError, () => dv2.setInt32(-1, -1));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,41 +26,41 @@ if (!fieldsEnabled) {
|
|||||||
let source = `class C {
|
let source = `class C {
|
||||||
x
|
x
|
||||||
}`;
|
}`;
|
||||||
assertThrowsInstanceOf(() => Function(source), SyntaxError);
|
assert.throws(SyntaxError, () => Function(source));
|
||||||
|
|
||||||
source = `class C {
|
source = `class C {
|
||||||
x = 0;
|
x = 0;
|
||||||
}`;
|
}`;
|
||||||
assertThrowsInstanceOf(() => Function(source), SyntaxError);
|
assert.throws(SyntaxError, () => Function(source));
|
||||||
|
|
||||||
source = `class C {
|
source = `class C {
|
||||||
0 = 0;
|
0 = 0;
|
||||||
}`;
|
}`;
|
||||||
assertThrowsInstanceOf(() => Function(source), SyntaxError);
|
assert.throws(SyntaxError, () => Function(source));
|
||||||
|
|
||||||
source = `class C {
|
source = `class C {
|
||||||
[0] = 0;
|
[0] = 0;
|
||||||
}`;
|
}`;
|
||||||
assertThrowsInstanceOf(() => Function(source), SyntaxError);
|
assert.throws(SyntaxError, () => Function(source));
|
||||||
|
|
||||||
source = `class C {
|
source = `class C {
|
||||||
"hi" = 0;
|
"hi" = 0;
|
||||||
}`;
|
}`;
|
||||||
assertThrowsInstanceOf(() => Function(source), SyntaxError);
|
assert.throws(SyntaxError, () => Function(source));
|
||||||
|
|
||||||
source = `class C {
|
source = `class C {
|
||||||
"hi" = 0;
|
"hi" = 0;
|
||||||
}`;
|
}`;
|
||||||
assertThrowsInstanceOf(() => Function(source), SyntaxError);
|
assert.throws(SyntaxError, () => Function(source));
|
||||||
|
|
||||||
source = `class C {
|
source = `class C {
|
||||||
d = function(){};
|
d = function(){};
|
||||||
}`;
|
}`;
|
||||||
assertThrowsInstanceOf(() => Function(source), SyntaxError);
|
assert.throws(SyntaxError, () => Function(source));
|
||||||
|
|
||||||
source = `class C {
|
source = `class C {
|
||||||
d = class D { x = 0; };
|
d = class D { x = 0; };
|
||||||
}`;
|
}`;
|
||||||
assertThrowsInstanceOf(() => Function(source), SyntaxError);
|
assert.throws(SyntaxError, () => Function(source));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,5 +14,5 @@ esid: pending
|
|||||||
|
|
||||||
const x = 1;
|
const x = 1;
|
||||||
with ({x: 1, [Symbol.unscopables]: {x: true}})
|
with ({x: 1, [Symbol.unscopables]: {x: true}})
|
||||||
assertThrowsInstanceOf(() => {x = 2;}, TypeError);
|
assert.throws(TypeError, () => {x = 2;});
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ assert.sameValue(hit1, 1);
|
|||||||
// It can throw; the exception is propagated out.
|
// It can throw; the exception is propagated out.
|
||||||
function Fit() {}
|
function Fit() {}
|
||||||
with ({x: 0, get [Symbol.unscopables]() { throw new Fit; }})
|
with ({x: 0, get [Symbol.unscopables]() { throw new Fit; }})
|
||||||
assertThrowsInstanceOf(() => x, Fit);
|
assert.throws(Fit, () => x);
|
||||||
|
|
||||||
// Individual properties on the @@unscopables object can have getters.
|
// Individual properties on the @@unscopables object can have getters.
|
||||||
let hit2 = 0;
|
let hit2 = 0;
|
||||||
@ -47,5 +47,5 @@ assert.sameValue(hit2, 1);
|
|||||||
|
|
||||||
// And they can throw.
|
// And they can throw.
|
||||||
with ({x: 0, [Symbol.unscopables]: {get x() { throw new Fit; }}})
|
with ({x: 0, [Symbol.unscopables]: {get x() { throw new Fit; }}})
|
||||||
assertThrowsInstanceOf(() => x, Fit);
|
assert.throws(Fit, () => x);
|
||||||
|
|
||||||
|
@ -13,5 +13,5 @@ esid: pending
|
|||||||
// is a ReferenceError.
|
// is a ReferenceError.
|
||||||
|
|
||||||
with ({x: 1, [Symbol.unscopables]: {x: true}})
|
with ({x: 1, [Symbol.unscopables]: {x: true}})
|
||||||
assertThrowsInstanceOf(() => x, ReferenceError);
|
assert.throws(ReferenceError, () => x);
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ esid: pending
|
|||||||
// Accessing an uninitialized variable due to @@unscopables is still a ReferenceError.
|
// Accessing an uninitialized variable due to @@unscopables is still a ReferenceError.
|
||||||
|
|
||||||
with ({x: 1, [Symbol.unscopables]: {x: true}})
|
with ({x: 1, [Symbol.unscopables]: {x: true}})
|
||||||
assertThrowsInstanceOf(() => x, ReferenceError);
|
assert.throws(ReferenceError, () => x);
|
||||||
|
|
||||||
let x;
|
let x;
|
||||||
|
|
||||||
|
@ -15,9 +15,9 @@ var BUGNUMBER = '523401';
|
|||||||
var summary = 'numeric literal followed by an identifier';
|
var summary = 'numeric literal followed by an identifier';
|
||||||
|
|
||||||
var array = new Array();
|
var array = new Array();
|
||||||
assertThrowsInstanceOf(() => eval("array[0for]"), SyntaxError);
|
assert.throws(SyntaxError, () => eval("array[0for]"));
|
||||||
assertThrowsInstanceOf(() => eval("array[1yield]"), SyntaxError);
|
assert.throws(SyntaxError, () => eval("array[1yield]"));
|
||||||
assertThrowsInstanceOf(() => eval("array[2in []]"), SyntaxError); // "2 in []" is valid.
|
assert.throws(SyntaxError, () => eval("array[2in []]")); // "2 in []" is valid.
|
||||||
assert.sameValue(array[2 in []], undefined);
|
assert.sameValue(array[2 in []], undefined);
|
||||||
assert.sameValue(2 in [], false);
|
assert.sameValue(2 in [], false);
|
||||||
assertThrowsInstanceOf(() => eval("array[3in]"), SyntaxError);
|
assert.throws(SyntaxError, () => eval("array[3in]"));
|
||||||
|
@ -12,8 +12,8 @@ description: |
|
|||||||
esid: pending
|
esid: pending
|
||||||
---*/
|
---*/
|
||||||
"use strict";
|
"use strict";
|
||||||
assertThrowsInstanceOf(
|
assert.throws(
|
||||||
() => eval("(function() { eval(); function eval() {} })"),
|
SyntaxError,
|
||||||
SyntaxError
|
() => eval("(function() { eval(); function eval() {} })")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -23,8 +23,8 @@ for (let value of primitives) {
|
|||||||
assert.sameValue(value.x = 5, 5);
|
assert.sameValue(value.x = 5, 5);
|
||||||
assert.sameValue(value[key] = 6, 6);
|
assert.sameValue(value[key] = 6, 6);
|
||||||
|
|
||||||
assertThrowsInstanceOf(function() { "use strict"; value.x = 5; }, TypeError);
|
assert.throws(TypeError, function() { "use strict"; value.x = 5; });
|
||||||
assertThrowsInstanceOf(function() { "use strict"; value[key] = 6; }, TypeError);
|
assert.throws(TypeError, function() { "use strict"; value[key] = 6; });
|
||||||
|
|
||||||
let target = {};
|
let target = {};
|
||||||
assert.sameValue(Reflect.set(target, key, 5, value), false);
|
assert.sameValue(Reflect.set(target, key, 5, value), false);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user