harness test: sta.js

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
This commit is contained in:
Rick Waldron 2017-06-23 11:08:58 -04:00
parent 759ad854e9
commit 3e85c608da
3 changed files with 62 additions and 0 deletions

29
test/harness/sta-error.js Normal file
View File

@ -0,0 +1,29 @@
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
description: >
The global `$ERROR` function throws an instance of the global `Test262Error`
function with the specified message.
includes: [sta.js]
---*/
var threw = false;
try {
$ERROR('This is a test message');
} catch(err) {
threw = true;
if (err.constructor !== Test262Error) {
throw new Error(
'Expected a Test262Error, but a "' + err.constructor.name +
'" was thrown.'
);
}
if (err.message !== 'This is a test message') {
throw new Error('The error thrown did not define the specified message.');
}
}
if (threw === false) {
$ERROR('Expected a Test262Error, but no error was thrown.');
}

View File

@ -0,0 +1,18 @@
// Copyright (c) 2017 Rick Waldron. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
description: >
Assert that global $ERROR is overridable
includes: [sta.js]
---*/
function BaloneyError() {}
// Override $ERROR
$ERROR = function() {
throw new BaloneyError();
};
assert.throws(BaloneyError, function() {
$ERROR();
});

15
test/harness/sta.js Normal file
View File

@ -0,0 +1,15 @@
// Copyright (c) 2017 Rick Waldron. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
description: >
Including sta.js will expose two functions:
Test262Error
$ERROR
includes: [sta.js]
---*/
assert(typeof Test262Error === "function");
assert(typeof Test262Error.prototype.toString === "function");
assert(typeof $ERROR === "function");