From 3e85c608daf3b23bfa9b8808f77d3ead0e67a2dd Mon Sep 17 00:00:00 2001 From: Rick Waldron <waldron.rick@gmail.com> Date: Fri, 23 Jun 2017 11:08:58 -0400 Subject: [PATCH] harness test: sta.js Signed-off-by: Rick Waldron <waldron.rick@gmail.com> --- test/harness/sta-error.js | 29 +++++++++++++++++++++++++++++ test/harness/sta-override-error.js | 18 ++++++++++++++++++ test/harness/sta.js | 15 +++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 test/harness/sta-error.js create mode 100644 test/harness/sta-override-error.js create mode 100644 test/harness/sta.js diff --git a/test/harness/sta-error.js b/test/harness/sta-error.js new file mode 100644 index 0000000000..36463225c5 --- /dev/null +++ b/test/harness/sta-error.js @@ -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.'); +} diff --git a/test/harness/sta-override-error.js b/test/harness/sta-override-error.js new file mode 100644 index 0000000000..2409cfaaac --- /dev/null +++ b/test/harness/sta-override-error.js @@ -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(); +}); diff --git a/test/harness/sta.js b/test/harness/sta.js new file mode 100644 index 0000000000..d439f20294 --- /dev/null +++ b/test/harness/sta.js @@ -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"); -- GitLab