mirror of https://github.com/tc39/test262.git
assert.throws fails if second argument is not a function
This commit is contained in:
parent
e451026965
commit
e7f6cd7f86
|
@ -52,8 +52,9 @@ assert.notSameValue = function (actual, unexpected, message) {
|
||||||
};
|
};
|
||||||
|
|
||||||
assert.throws = function (expectedErrorConstructor, func, message) {
|
assert.throws = function (expectedErrorConstructor, func, message) {
|
||||||
if (func === undefined) {
|
if (typeof func !== "function") {
|
||||||
$ERROR('assert.throws requires two arguments: the error constructor and a function to run');
|
$ERROR('assert.throws requires two arguments: the error constructor ' +
|
||||||
|
'and a function to run');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (message === undefined) {
|
if (message === undefined) {
|
||||||
|
|
|
@ -0,0 +1,61 @@
|
||||||
|
// Copyright (C) 2016 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
description: >
|
||||||
|
Fails if second arg is not a function
|
||||||
|
---*/
|
||||||
|
|
||||||
|
var threw = false;
|
||||||
|
|
||||||
|
try {
|
||||||
|
assert.throws(TypeError, null);
|
||||||
|
} catch(err) {
|
||||||
|
threw = true;
|
||||||
|
if (err.constructor !== Test262Error) {
|
||||||
|
$ERROR(
|
||||||
|
'Expected a Test262Error, but a "' + err.constructor.name +
|
||||||
|
'" was thrown.'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (threw === false) {
|
||||||
|
$ERROR('Expected a Test262Error, but no error was thrown.');
|
||||||
|
}
|
||||||
|
|
||||||
|
threw = false;
|
||||||
|
|
||||||
|
try {
|
||||||
|
assert.throws(TypeError, {});
|
||||||
|
} catch(err) {
|
||||||
|
threw = true;
|
||||||
|
if (err.constructor !== Test262Error) {
|
||||||
|
$ERROR(
|
||||||
|
'Expected a Test262Error, but a "' + err.constructor.name +
|
||||||
|
'" was thrown.'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (threw === false) {
|
||||||
|
$ERROR('Expected a Test262Error, but no error was thrown.');
|
||||||
|
}
|
||||||
|
|
||||||
|
threw = false;
|
||||||
|
|
||||||
|
try {
|
||||||
|
assert.throws(TypeError, "");
|
||||||
|
} catch(err) {
|
||||||
|
threw = true;
|
||||||
|
if (err.constructor !== Test262Error) {
|
||||||
|
$ERROR(
|
||||||
|
'Expected a Test262Error, but a "' + err.constructor.name +
|
||||||
|
'" was thrown.'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (threw === false) {
|
||||||
|
$ERROR('Expected a Test262Error, but no error was thrown.');
|
||||||
|
}
|
Loading…
Reference in New Issue