mirror of https://github.com/tc39/test262.git
commit
bf9830ee54
|
@ -40,3 +40,25 @@ assert.notSameValue = function (actual, unexpected, message) {
|
||||||
}
|
}
|
||||||
$ERROR(message);
|
$ERROR(message);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
assert.throws = function (expectedErrorConstructor, func) {
|
||||||
|
if (func === undefined) {
|
||||||
|
$ERROR('assert.throws requires two arguments: the error constructor and a function to run');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
func();
|
||||||
|
} catch (thrown) {
|
||||||
|
if (typeof thrown !== 'object' || thrown === null) {
|
||||||
|
$ERROR('Thrown value was not an object!');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (thrown.constructor !== expectedErrorConstructor) {
|
||||||
|
$ERROR('Expected a ' + expectedErrorConstructor.name + ' but got a ' + thrown.constructor.name);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$ERROR('Expected a ' + expectedErrorConstructor.name + ' to be thrown but no exception was thrown at all');
|
||||||
|
};
|
||||||
|
|
|
@ -6,9 +6,10 @@ info: >
|
||||||
Promise throws TypeError when 'this' is constructed but unsettled promise
|
Promise throws TypeError when 'this' is constructed but unsettled promise
|
||||||
author: Sam Mikes
|
author: Sam Mikes
|
||||||
description: Promise.call(new Promise()) throws TypeError
|
description: Promise.call(new Promise()) throws TypeError
|
||||||
negative: TypeError
|
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
var p = new Promise(function() {});
|
var p = new Promise(function() {});
|
||||||
|
|
||||||
Promise.call(p, function () {});
|
assert.throws(TypeError, function () {
|
||||||
|
Promise.call(p, function () {});
|
||||||
|
});
|
||||||
|
|
Loading…
Reference in New Issue