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) {
|
||||
if (func === undefined) {
|
||||
$ERROR('assert.throws requires two arguments: the error constructor and a function to run');
|
||||
if (typeof func !== "function") {
|
||||
$ERROR('assert.throws requires two arguments: the error constructor ' +
|
||||
'and a function to run');
|
||||
return;
|
||||
}
|
||||
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