From 3de484fe8353448bf0496369f192cbd7a51cc4a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Bargull?= Date: Tue, 11 Aug 2015 17:42:41 +0200 Subject: [PATCH 1/6] Replace runTestCase with assert.throws [test/language/expressions] --- .../expressions/assignment/11.13.1-1-1.js | 14 +++----------- .../expressions/assignment/11.13.1-1-2.js | 14 +++----------- .../expressions/assignment/11.13.1-1-3.js | 14 +++----------- .../expressions/assignment/11.13.1-1-4.js | 14 +++----------- .../expressions/assignment/11.13.1-1-6-s.js | 12 ++---------- .../expressions/assignment/11.13.1-1-s.js | 13 +++---------- .../expressions/assignment/11.13.1-2-s.js | 13 +++---------- .../expressions/assignment/11.13.1-3-s.js | 12 ++---------- .../expressions/assignment/11.13.1-4-14-s.js | 13 +++---------- .../expressions/assignment/11.13.1-4-3-s.js | 16 ++++------------ .../expressions/assignment/11.13.1-4-30-s.js | 12 +++--------- .../expressions/assignment/11.13.1-4-6-s.js | 13 +++---------- .../expressions/assignment/8.14.4-8-b_2.js | 14 ++++---------- test/language/expressions/call/11.2.3-3_1.js | 11 +++-------- test/language/expressions/call/11.2.3-3_2.js | 11 +++-------- test/language/expressions/call/11.2.3-3_3.js | 11 +++-------- test/language/expressions/call/11.2.3-3_4.js | 13 +++++-------- test/language/expressions/call/11.2.3-3_5.js | 11 +++-------- test/language/expressions/call/11.2.3-3_6.js | 12 ++++-------- test/language/expressions/call/11.2.3-3_7.js | 12 ++++-------- test/language/expressions/call/11.2.3-3_8.js | 13 +++---------- .../compound-assignment/11.13.2-1-s.js | 12 +++--------- .../compound-assignment/11.13.2-10-s.js | 12 +++--------- .../compound-assignment/11.13.2-11-s.js | 12 +++--------- .../compound-assignment/11.13.2-2-s.js | 12 +++--------- .../compound-assignment/11.13.2-23-s.js | 13 +++---------- .../compound-assignment/11.13.2-24-s.js | 13 +++---------- .../compound-assignment/11.13.2-25-s.js | 13 +++---------- .../compound-assignment/11.13.2-26-s.js | 13 +++---------- .../compound-assignment/11.13.2-27-s.js | 13 +++---------- .../compound-assignment/11.13.2-28-s.js | 13 +++---------- .../compound-assignment/11.13.2-29-s.js | 13 +++---------- .../compound-assignment/11.13.2-3-s.js | 12 +++--------- .../compound-assignment/11.13.2-30-s.js | 13 +++---------- .../compound-assignment/11.13.2-31-s.js | 13 +++---------- .../compound-assignment/11.13.2-32-s.js | 13 +++---------- .../compound-assignment/11.13.2-33-s.js | 13 +++---------- .../compound-assignment/11.13.2-34-s.js | 13 +++---------- .../compound-assignment/11.13.2-35-s.js | 13 +++---------- .../compound-assignment/11.13.2-36-s.js | 13 +++---------- .../compound-assignment/11.13.2-37-s.js | 13 +++---------- .../compound-assignment/11.13.2-38-s.js | 13 +++---------- .../compound-assignment/11.13.2-39-s.js | 13 +++---------- .../compound-assignment/11.13.2-4-s.js | 12 +++--------- .../compound-assignment/11.13.2-40-s.js | 13 +++---------- .../compound-assignment/11.13.2-41-s.js | 13 +++---------- .../compound-assignment/11.13.2-42-s.js | 13 +++---------- .../compound-assignment/11.13.2-43-s.js | 13 +++---------- .../compound-assignment/11.13.2-44-s.js | 13 +++---------- .../compound-assignment/11.13.2-45-s.js | 12 ++---------- .../compound-assignment/11.13.2-46-s.js | 12 ++---------- .../compound-assignment/11.13.2-47-s.js | 12 ++---------- .../compound-assignment/11.13.2-48-s.js | 12 ++---------- .../compound-assignment/11.13.2-49-s.js | 12 ++---------- .../compound-assignment/11.13.2-5-s.js | 12 +++--------- .../compound-assignment/11.13.2-50-s.js | 12 ++---------- .../compound-assignment/11.13.2-51-s.js | 12 ++---------- .../compound-assignment/11.13.2-52-s.js | 12 ++---------- .../compound-assignment/11.13.2-53-s.js | 12 ++---------- .../compound-assignment/11.13.2-54-s.js | 12 ++---------- .../compound-assignment/11.13.2-55-s.js | 12 ++---------- .../compound-assignment/11.13.2-6-1-s.js | 12 +++--------- .../compound-assignment/11.13.2-6-10-s.js | 12 +++--------- .../compound-assignment/11.13.2-6-11-s.js | 14 ++++---------- .../compound-assignment/11.13.2-6-2-s.js | 12 +++--------- .../compound-assignment/11.13.2-6-3-s.js | 12 +++--------- .../compound-assignment/11.13.2-6-4-s.js | 12 +++--------- .../compound-assignment/11.13.2-6-5-s.js | 12 +++--------- .../compound-assignment/11.13.2-6-6-s.js | 12 +++--------- .../compound-assignment/11.13.2-6-7-s.js | 12 +++--------- .../compound-assignment/11.13.2-6-8-s.js | 12 +++--------- .../compound-assignment/11.13.2-6-9-s.js | 12 +++--------- .../compound-assignment/11.13.2-6-s.js | 12 +++--------- .../compound-assignment/11.13.2-7-s.js | 12 +++--------- .../compound-assignment/11.13.2-8-s.js | 12 +++--------- .../compound-assignment/11.13.2-9-s.js | 12 +++--------- test/language/expressions/delete/11.4.1-3-2.js | 14 ++------------ .../expressions/delete/11.4.1-3-a-1-s.js | 11 ++--------- .../expressions/delete/11.4.1-4-a-1-s.js | 13 +++---------- .../expressions/delete/11.4.1-4-a-2-s.js | 13 +++---------- .../expressions/delete/11.4.1-4.a-3-s.js | 12 ++---------- .../expressions/delete/11.4.1-4.a-8-s.js | 15 +++------------ .../expressions/delete/11.4.1-4.a-9-s.js | 13 +++---------- .../expressions/delete/11.4.1-5-a-1-s.js | 12 ++---------- .../expressions/delete/11.4.1-5-a-10-s.js | 12 ++---------- .../expressions/delete/11.4.1-5-a-11-s.js | 12 ++---------- .../expressions/delete/11.4.1-5-a-12-s.js | 12 ++---------- .../expressions/delete/11.4.1-5-a-13-s.js | 12 ++---------- .../expressions/delete/11.4.1-5-a-14-s.js | 12 ++---------- .../expressions/delete/11.4.1-5-a-15-s.js | 12 ++---------- .../expressions/delete/11.4.1-5-a-16-s.js | 12 ++---------- .../expressions/delete/11.4.1-5-a-17-s.js | 13 +++---------- .../expressions/delete/11.4.1-5-a-18-s.js | 12 +++--------- .../expressions/delete/11.4.1-5-a-19-s.js | 12 +++--------- .../expressions/delete/11.4.1-5-a-2-s.js | 12 ++---------- .../expressions/delete/11.4.1-5-a-20-s.js | 12 +++--------- .../expressions/delete/11.4.1-5-a-21-s.js | 12 +++--------- .../expressions/delete/11.4.1-5-a-22-s.js | 12 +++--------- .../expressions/delete/11.4.1-5-a-23-s.js | 12 +++--------- .../expressions/delete/11.4.1-5-a-24-s.js | 12 +++--------- .../expressions/delete/11.4.1-5-a-25-s.js | 12 +++--------- .../expressions/delete/11.4.1-5-a-27-s.js | 11 ++--------- .../expressions/delete/11.4.1-5-a-3-s.js | 12 ++---------- .../expressions/delete/11.4.1-5-a-4-s.js | 12 ++---------- .../expressions/delete/11.4.1-5-a-5-s.js | 12 ++---------- .../expressions/delete/11.4.1-5-a-6-s.js | 12 ++---------- .../expressions/delete/11.4.1-5-a-7-s.js | 12 ++---------- .../expressions/delete/11.4.1-5-a-8-s.js | 12 ++---------- .../expressions/delete/11.4.1-5-a-9-s.js | 12 ++---------- .../expressions/delete/11.4.4-4.a-3-s.js | 12 ++---------- test/language/expressions/object/11.1.5-1-s.js | 12 +++--------- test/language/expressions/object/11.1.5-2-s.js | 12 +++--------- test/language/expressions/object/11.1.5-3-s.js | 11 ++--------- test/language/expressions/object/11.1.5-4-s.js | 11 ++--------- .../expressions/object/11.1.5_6-2-1-s.js | 12 +++--------- .../expressions/object/11.1.5_6-2-2-s.js | 11 ++--------- .../expressions/object/11.1.5_7-2-1-s.js | 12 +++--------- .../expressions/object/11.1.5_7-2-2-s.js | 12 +++--------- .../postfix-decrement/11.3.2-2-2-s.js | 12 +++--------- .../postfix-increment/11.3.1-2-2-s.js | 12 +++--------- .../expressions/prefix-decrement/11.4.5-2-1-s.js | 12 +++--------- .../expressions/prefix-increment/11.4.4-2-1-s.js | 12 +++--------- 122 files changed, 336 insertions(+), 1172 deletions(-) diff --git a/test/language/expressions/assignment/11.13.1-1-1.js b/test/language/expressions/assignment/11.13.1-1-1.js index 4832a073ca..5bc0891b15 100644 --- a/test/language/expressions/assignment/11.13.1-1-1.js +++ b/test/language/expressions/assignment/11.13.1-1-1.js @@ -7,17 +7,9 @@ es5id: 11.13.1-1-1 description: > simple assignment throws ReferenceError if LeftHandSide is not a reference (number) -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(ReferenceError, function() { eval("42 = 42"); - } - catch (e) { - if (e instanceof ReferenceError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/assignment/11.13.1-1-2.js b/test/language/expressions/assignment/11.13.1-1-2.js index 4ef12ab7d5..8f42ba35b2 100644 --- a/test/language/expressions/assignment/11.13.1-1-2.js +++ b/test/language/expressions/assignment/11.13.1-1-2.js @@ -7,17 +7,9 @@ es5id: 11.13.1-1-2 description: > simple assignment throws ReferenceError if LeftHandSide is not a reference (string) -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(ReferenceError, function() { eval("'x' = 42"); - } - catch (e) { - if (e instanceof ReferenceError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/assignment/11.13.1-1-3.js b/test/language/expressions/assignment/11.13.1-1-3.js index 1969b2a7f8..196821e97b 100644 --- a/test/language/expressions/assignment/11.13.1-1-3.js +++ b/test/language/expressions/assignment/11.13.1-1-3.js @@ -7,17 +7,9 @@ es5id: 11.13.1-1-3 description: > simple assignment throws ReferenceError if LeftHandSide is not a reference (boolean) -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(ReferenceError, function() { eval("true = 42"); - } - catch (e) { - if (e instanceof ReferenceError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/assignment/11.13.1-1-4.js b/test/language/expressions/assignment/11.13.1-1-4.js index 8b0dc8eb45..4a5cb16340 100644 --- a/test/language/expressions/assignment/11.13.1-1-4.js +++ b/test/language/expressions/assignment/11.13.1-1-4.js @@ -7,17 +7,9 @@ es5id: 11.13.1-1-4 description: > simple assignment throws ReferenceError if LeftHandSide is not a reference (null) -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(ReferenceError, function() { eval("null = 42"); - } - catch (e) { - if (e instanceof ReferenceError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/assignment/11.13.1-1-6-s.js b/test/language/expressions/assignment/11.13.1-1-6-s.js index 5a112ff1d0..5da54baf4f 100644 --- a/test/language/expressions/assignment/11.13.1-1-6-s.js +++ b/test/language/expressions/assignment/11.13.1-1-6-s.js @@ -7,17 +7,9 @@ es5id: 11.13.1-1-6-s description: > simple assignment throws ReferenceError if LeftHandSide is an unresolvable reference (base obj undefined) -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(ReferenceError, function() { __ES3_1_test_suite_test_11_13_1_unique_id_0__.x = 42; - return false; - } - catch (e) { - return (e instanceof ReferenceError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/assignment/11.13.1-1-s.js b/test/language/expressions/assignment/11.13.1-1-s.js index 9c8f508be0..380814a003 100644 --- a/test/language/expressions/assignment/11.13.1-1-s.js +++ b/test/language/expressions/assignment/11.13.1-1-s.js @@ -8,10 +8,8 @@ description: > reference to a data property with the attribute value {[[Writable]]:false} under strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { value: 10, @@ -19,12 +17,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop = 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 10; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 10, 'obj.prop'); diff --git a/test/language/expressions/assignment/11.13.1-2-s.js b/test/language/expressions/assignment/11.13.1-2-s.js index ee005def69..f0869cb850 100644 --- a/test/language/expressions/assignment/11.13.1-2-s.js +++ b/test/language/expressions/assignment/11.13.1-2-s.js @@ -8,10 +8,8 @@ description: > reference to an accessor property with the attribute value {[[Set]]:undefined} under strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { get: function () { @@ -21,12 +19,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop = 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 11; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 11, 'obj.prop'); diff --git a/test/language/expressions/assignment/11.13.1-3-s.js b/test/language/expressions/assignment/11.13.1-3-s.js index 4f3e5e8a32..deee7fc8d1 100644 --- a/test/language/expressions/assignment/11.13.1-3-s.js +++ b/test/language/expressions/assignment/11.13.1-3-s.js @@ -9,18 +9,10 @@ description: > [[Extensible]] internal property has the value false under strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.preventExtensions(obj); - - try { +assert.throws(TypeError, function() { obj.len = 10; - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/assignment/11.13.1-4-14-s.js b/test/language/expressions/assignment/11.13.1-4-14-s.js index 6193954958..ee6899aaff 100644 --- a/test/language/expressions/assignment/11.13.1-4-14-s.js +++ b/test/language/expressions/assignment/11.13.1-4-14-s.js @@ -7,16 +7,9 @@ description: > simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode (Number.MAX_VALUE) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Number.MAX_VALUE = 42; - return false; - } - catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/assignment/11.13.1-4-3-s.js b/test/language/expressions/assignment/11.13.1-4-3-s.js index 22d88388bb..20d175c7d7 100644 --- a/test/language/expressions/assignment/11.13.1-4-3-s.js +++ b/test/language/expressions/assignment/11.13.1-4-3-s.js @@ -7,18 +7,10 @@ description: > simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode (Global.Infinity) flags: [onlyStrict] -includes: - - runTestCase.js - - fnGlobalObject.js +includes: [fnGlobalObject.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { fnGlobalObject().Infinity = 42; - return false; - } - catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/assignment/11.13.1-4-30-s.js b/test/language/expressions/assignment/11.13.1-4-30-s.js index 242f96d10a..70cdcd0af6 100644 --- a/test/language/expressions/assignment/11.13.1-4-30-s.js +++ b/test/language/expressions/assignment/11.13.1-4-30-s.js @@ -8,16 +8,10 @@ description: > appears as the LeftHandSideExpression (PrimaryExpression) of simple assignment(=) under strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var blah = eval; - try { +assert.throws(SyntaxError, function() { eval("(eval) = 20;"); - return false; - } catch (e) { - return e instanceof SyntaxError && blah === eval; - } -} -runTestCase(testcase); +}); +assert.sameValue(blah, eval, 'blah'); diff --git a/test/language/expressions/assignment/11.13.1-4-6-s.js b/test/language/expressions/assignment/11.13.1-4-6-s.js index bd35f51f4f..7778e254d6 100644 --- a/test/language/expressions/assignment/11.13.1-4-6-s.js +++ b/test/language/expressions/assignment/11.13.1-4-6-s.js @@ -7,16 +7,9 @@ description: > simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode (Function.length) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Function.length = 42; - return false; - } - catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/assignment/8.14.4-8-b_2.js b/test/language/expressions/assignment/8.14.4-8-b_2.js index 61c1f3f402..1223afeab5 100644 --- a/test/language/expressions/assignment/8.14.4-8-b_2.js +++ b/test/language/expressions/assignment/8.14.4-8-b_2.js @@ -5,19 +5,13 @@ es5id: 8.14.4-8-b_2 description: Non-writable property on a prototype written to in strict mode. flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { function foo() {}; Object.defineProperty(foo.prototype, "bar", {value: "unwritable"}); var o = new foo(); - try { - o.bar = "overridden"; - return false; - } catch(e) { - return (e instanceof TypeError) && (o.bar==="unwritable"); - } -} -runTestCase(testcase); +assert.throws(TypeError, function() { + o.bar = "overridden"; +}); +assert.sameValue(o.bar, "unwritable", 'o.bar'); diff --git a/test/language/expressions/call/11.2.3-3_1.js b/test/language/expressions/call/11.2.3-3_1.js index 4ae4848421..e3299dc9ed 100644 --- a/test/language/expressions/call/11.2.3-3_1.js +++ b/test/language/expressions/call/11.2.3-3_1.js @@ -6,19 +6,14 @@ es5id: 11.2.3-3_1 description: > Call arguments are evaluated before the check is made to see if the object is actually callable (FunctionDeclaration) -includes: [runTestCase.js] ---*/ -function testcase() { var fooCalled = false; function foo(){ fooCalled = true; } var o = { }; - try { +assert.throws(TypeError, function() { o.bar( foo() ); $ERROR("o.bar does not exist!"); - } catch(e) { - return (e instanceof TypeError) && (fooCalled===true); - } -} -runTestCase(testcase); +}); +assert.sameValue(fooCalled, true, 'fooCalled'); diff --git a/test/language/expressions/call/11.2.3-3_2.js b/test/language/expressions/call/11.2.3-3_2.js index 0de02c677e..d99eedfcb1 100644 --- a/test/language/expressions/call/11.2.3-3_2.js +++ b/test/language/expressions/call/11.2.3-3_2.js @@ -6,19 +6,14 @@ es5id: 11.2.3-3_2 description: > Call arguments are evaluated before the check is made to see if the object is actually callable (FunctionExpression) -includes: [runTestCase.js] ---*/ -function testcase() { var fooCalled = false; var foo = function (){ fooCalled = true; } var o = { }; - try { +assert.throws(TypeError, function() { o.bar( foo() ); $ERROR("o.bar does not exist!"); - } catch(e) { - return (e instanceof TypeError) && (fooCalled===true); - } -} -runTestCase(testcase); +}); +assert.sameValue(fooCalled, true, 'fooCalled'); diff --git a/test/language/expressions/call/11.2.3-3_3.js b/test/language/expressions/call/11.2.3-3_3.js index ef652bbd93..25d26bc709 100644 --- a/test/language/expressions/call/11.2.3-3_3.js +++ b/test/language/expressions/call/11.2.3-3_3.js @@ -6,19 +6,14 @@ es5id: 11.2.3-3_3 description: > Call arguments are not evaluated before the check is made to see if the object is actually callable (undefined member) -includes: [runTestCase.js] ---*/ -function testcase() { var fooCalled = false; function foo(){ fooCalled = true; } var o = { }; - try { +assert.throws(TypeError, function() { o.bar.gar( foo() ); $ERROR("o.bar does not exist!"); - } catch(e) { - return (e instanceof TypeError) && (fooCalled===false); - } -} -runTestCase(testcase); +}); +assert.sameValue(fooCalled, false, 'fooCalled'); diff --git a/test/language/expressions/call/11.2.3-3_4.js b/test/language/expressions/call/11.2.3-3_4.js index 99a7c543e8..3a01ef550a 100644 --- a/test/language/expressions/call/11.2.3-3_4.js +++ b/test/language/expressions/call/11.2.3-3_4.js @@ -6,21 +6,18 @@ es5id: 11.2.3-3_4 description: > Call arguments are evaluated before the check is made to see if the object is actually callable (property) -includes: [runTestCase.js] ---*/ -function testcase() { var fooCalled = false; function foo(){ fooCalled = true; } var o = { }; Object.defineProperty(o, "bar", {get: function() {this.barGetter = true; return 42;}, set: function(x) {this.barSetter = true; }}); - try { +assert.throws(TypeError, function() { o.bar( foo() ); $ERROR("o.bar does not exist!"); - } catch(e) { - return (e instanceof TypeError) && (fooCalled===true) && (o.barGetter===true) && (o.barSetter===undefined); - } -} -runTestCase(testcase); +}); +assert.sameValue(fooCalled, true, 'fooCalled'); +assert.sameValue(o.barGetter, true, 'o.barGetter'); +assert.sameValue(o.barSetter, undefined, 'o.barSetter'); diff --git a/test/language/expressions/call/11.2.3-3_5.js b/test/language/expressions/call/11.2.3-3_5.js index f3e58fa1b4..c8efb1a0bf 100644 --- a/test/language/expressions/call/11.2.3-3_5.js +++ b/test/language/expressions/call/11.2.3-3_5.js @@ -6,19 +6,14 @@ es5id: 11.2.3-3_5 description: > Call arguments are evaluated before the check is made to see if the object is actually callable (eval'ed) -includes: [runTestCase.js] ---*/ -function testcase() { var fooCalled = false; function foo(){ fooCalled = true; } var o = { }; - try { +assert.throws(TypeError, function() { eval("o.bar( foo() );"); $ERROR("o.bar does not exist!"); - } catch(e) { - return (e instanceof TypeError) && (fooCalled===true); - } -} -runTestCase(testcase); +}); +assert.sameValue(fooCalled, true, 'fooCalled'); diff --git a/test/language/expressions/call/11.2.3-3_6.js b/test/language/expressions/call/11.2.3-3_6.js index b302abac71..18b59596d3 100644 --- a/test/language/expressions/call/11.2.3-3_6.js +++ b/test/language/expressions/call/11.2.3-3_6.js @@ -6,18 +6,14 @@ es5id: 11.2.3-3_6 description: > Call arguments are evaluated before the check is made to see if the object is actually callable (getter called) -includes: [runTestCase.js] ---*/ -function testcase() { var o = { }; Object.defineProperty(o, "bar", {get: function() {this.barGetter = true; return 42;}, set: function(x) {this.barSetter = true; }}); - try { +assert.throws(TypeError, function() { o.foo( o.bar ); $ERROR("o.foo does not exist!"); - } catch(e) { - return (e instanceof TypeError) && (o.barGetter===true) && (o.barSetter===undefined); - } -} -runTestCase(testcase); +}); +assert.sameValue(o.barGetter, true, 'o.barGetter'); +assert.sameValue(o.barSetter, undefined, 'o.barSetter'); diff --git a/test/language/expressions/call/11.2.3-3_7.js b/test/language/expressions/call/11.2.3-3_7.js index 318413d927..b56ca7e6f4 100644 --- a/test/language/expressions/call/11.2.3-3_7.js +++ b/test/language/expressions/call/11.2.3-3_7.js @@ -6,18 +6,14 @@ es5id: 11.2.3-3_7 description: > Call arguments are evaluated before the check is made to see if the object is actually callable (getter called as indexed property) -includes: [runTestCase.js] ---*/ -function testcase() { var o = { }; Object.defineProperty(o, "bar", {get: function() {this.barGetter = true; return 42;}, set: function(x) {this.barSetter = true; }}); - try { +assert.throws(TypeError, function() { o.foo( o["bar"] ); $ERROR("o.foo does not exist!"); - } catch(e) { - return (e instanceof TypeError) && (o.barGetter===true) && (o.barSetter===undefined); - } -} -runTestCase(testcase); +}); +assert.sameValue(o.barGetter, true, 'o.barGetter'); +assert.sameValue(o.barSetter, undefined, 'o.barSetter'); diff --git a/test/language/expressions/call/11.2.3-3_8.js b/test/language/expressions/call/11.2.3-3_8.js index b0f4677b90..bc35ec06c8 100644 --- a/test/language/expressions/call/11.2.3-3_8.js +++ b/test/language/expressions/call/11.2.3-3_8.js @@ -7,19 +7,12 @@ description: > Call arguments are evaluated before the check is made to see if the object is actually callable (global object) flags: [noStrict] -includes: - - runTestCase.js ---*/ -function testcase() { var fooCalled = false; function foo(){ fooCalled = true; } - - try { +assert.throws(TypeError, function() { this.bar( foo() ); $ERROR("this.bar does not exist!"); - } catch(e) { - return (e instanceof TypeError) && (fooCalled===true); - } -} -runTestCase(testcase); +}); +assert.sameValue(fooCalled, true, 'fooCalled'); diff --git a/test/language/expressions/compound-assignment/11.13.2-1-s.js b/test/language/expressions/compound-assignment/11.13.2-1-s.js index 159b17bfc9..446461885f 100644 --- a/test/language/expressions/compound-assignment/11.13.2-1-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-1-s.js @@ -6,15 +6,9 @@ es5id: 11.13.2-1-s description: > ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(*=) evaluates to an unresolvable reference -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(ReferenceError, function() { eval("_11_13_2_1 *= 1;"); - return false; - } catch (e) { - return e instanceof ReferenceError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-10-s.js b/test/language/expressions/compound-assignment/11.13.2-10-s.js index b5726c941e..1e652ce26f 100644 --- a/test/language/expressions/compound-assignment/11.13.2-10-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-10-s.js @@ -6,15 +6,9 @@ es5id: 11.13.2-10-s description: > ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(^=) evaluates to an unresolvable reference -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(ReferenceError, function() { eval("_11_13_2_10 ^= 1;"); - return false; - } catch (e) { - return e instanceof ReferenceError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-11-s.js b/test/language/expressions/compound-assignment/11.13.2-11-s.js index a55be9a4cc..7328623512 100644 --- a/test/language/expressions/compound-assignment/11.13.2-11-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-11-s.js @@ -6,15 +6,9 @@ es5id: 11.13.2-11-s description: > ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(|=) evaluates to an unresolvable reference -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(ReferenceError, function() { eval("_11_13_2_11 |= 1;"); - return false; - } catch (e) { - return e instanceof ReferenceError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-2-s.js b/test/language/expressions/compound-assignment/11.13.2-2-s.js index 78ea77f01c..1a66d33b12 100644 --- a/test/language/expressions/compound-assignment/11.13.2-2-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-2-s.js @@ -6,15 +6,9 @@ es5id: 11.13.2-2-s description: > Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(/=) evaluates to an unresolvable reference -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(ReferenceError, function() { eval("_11_13_2_2 /= 1;"); - return false; - } catch (e) { - return e instanceof ReferenceError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-23-s.js b/test/language/expressions/compound-assignment/11.13.2-23-s.js index 739f623725..d209ecbf51 100644 --- a/test/language/expressions/compound-assignment/11.13.2-23-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-23-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(*=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { value: 10, @@ -19,12 +17,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop *= 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 10; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 10, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-24-s.js b/test/language/expressions/compound-assignment/11.13.2-24-s.js index a4042bc4f8..42bec67e91 100644 --- a/test/language/expressions/compound-assignment/11.13.2-24-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-24-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(/=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { value: 10, @@ -19,12 +17,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop /= 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 10; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 10, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-25-s.js b/test/language/expressions/compound-assignment/11.13.2-25-s.js index 3a0955547f..f3c4b11c3a 100644 --- a/test/language/expressions/compound-assignment/11.13.2-25-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-25-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(%=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { value: 10, @@ -19,12 +17,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop %= 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 10; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 10, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-26-s.js b/test/language/expressions/compound-assignment/11.13.2-26-s.js index 53fae86891..bdd0e68a31 100644 --- a/test/language/expressions/compound-assignment/11.13.2-26-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-26-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(+=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { value: 10, @@ -19,12 +17,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop += 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 10; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 10, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-27-s.js b/test/language/expressions/compound-assignment/11.13.2-27-s.js index d4d92cf0be..f87a5a2dfd 100644 --- a/test/language/expressions/compound-assignment/11.13.2-27-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-27-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(-=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { value: 10, @@ -19,12 +17,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop -= 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 10; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 10, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-28-s.js b/test/language/expressions/compound-assignment/11.13.2-28-s.js index d65fcbefcf..3bf144daeb 100644 --- a/test/language/expressions/compound-assignment/11.13.2-28-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-28-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(<<=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { value: 10, @@ -19,12 +17,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop <<= 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 10; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 10, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-29-s.js b/test/language/expressions/compound-assignment/11.13.2-29-s.js index 8974a1615f..ed8091fcfe 100644 --- a/test/language/expressions/compound-assignment/11.13.2-29-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-29-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(>>=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { value: 10, @@ -19,12 +17,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop >>= 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 10; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 10, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-3-s.js b/test/language/expressions/compound-assignment/11.13.2-3-s.js index 8eb11c9d05..93b23a3ccd 100644 --- a/test/language/expressions/compound-assignment/11.13.2-3-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-3-s.js @@ -8,15 +8,9 @@ description: > LeftHandSideExpression of a Compound Assignment operator(%=) evaluates to an unresolvable reference flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(ReferenceError, function() { eval("_11_13_2_3 %= 1;"); - return false; - } catch (e) { - return e instanceof ReferenceError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-30-s.js b/test/language/expressions/compound-assignment/11.13.2-30-s.js index ab927ad0d0..26f120d3f5 100644 --- a/test/language/expressions/compound-assignment/11.13.2-30-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-30-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(>>>=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { value: 10, @@ -19,12 +17,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop >>>= 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 10; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 10, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-31-s.js b/test/language/expressions/compound-assignment/11.13.2-31-s.js index 878ed63e3b..0d67866208 100644 --- a/test/language/expressions/compound-assignment/11.13.2-31-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-31-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(&=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { value: 10, @@ -19,12 +17,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop &= 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 10; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 10, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-32-s.js b/test/language/expressions/compound-assignment/11.13.2-32-s.js index 96f1ad9df2..8182307d60 100644 --- a/test/language/expressions/compound-assignment/11.13.2-32-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-32-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(^=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { value: 10, @@ -19,12 +17,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop ^= 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 10; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 10, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-33-s.js b/test/language/expressions/compound-assignment/11.13.2-33-s.js index f1aa5b365b..c0883a6e56 100644 --- a/test/language/expressions/compound-assignment/11.13.2-33-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-33-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(|=) is a reference to a data property with the attribute value {[[Writable]]:false} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { value: 10, @@ -19,12 +17,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop |= 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 10; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 10, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-34-s.js b/test/language/expressions/compound-assignment/11.13.2-34-s.js index 5ae15b6674..b4becc6d0b 100644 --- a/test/language/expressions/compound-assignment/11.13.2-34-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-34-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(*=) is a reference to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { get: function () { @@ -21,12 +19,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop *= 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 11; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 11, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-35-s.js b/test/language/expressions/compound-assignment/11.13.2-35-s.js index 78aec217b4..81829ff160 100644 --- a/test/language/expressions/compound-assignment/11.13.2-35-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-35-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(/=) is a reference to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { get: function () { @@ -21,12 +19,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop /= 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 11; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 11, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-36-s.js b/test/language/expressions/compound-assignment/11.13.2-36-s.js index 3d771cff67..7eb331477c 100644 --- a/test/language/expressions/compound-assignment/11.13.2-36-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-36-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(%=) is a reference to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { get: function () { @@ -21,12 +19,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop %= 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 11; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 11, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-37-s.js b/test/language/expressions/compound-assignment/11.13.2-37-s.js index c21c84a7b0..4d8aa3b8f3 100644 --- a/test/language/expressions/compound-assignment/11.13.2-37-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-37-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(+=) is a reference to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { get: function () { @@ -21,12 +19,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop += 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 11; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 11, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-38-s.js b/test/language/expressions/compound-assignment/11.13.2-38-s.js index 6e637599aa..9b39dca4fb 100644 --- a/test/language/expressions/compound-assignment/11.13.2-38-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-38-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(-=) is a reference to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { get: function () { @@ -21,12 +19,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop -= 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 11; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 11, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-39-s.js b/test/language/expressions/compound-assignment/11.13.2-39-s.js index 3b78d131ec..ebd44377c6 100644 --- a/test/language/expressions/compound-assignment/11.13.2-39-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-39-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(<<=) is a reference to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { get: function () { @@ -21,12 +19,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop <<= 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 11; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 11, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-4-s.js b/test/language/expressions/compound-assignment/11.13.2-4-s.js index 3370fe1878..aeecd46c7a 100644 --- a/test/language/expressions/compound-assignment/11.13.2-4-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-4-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(+=) evaluates to an unresolvable reference -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(ReferenceError, function() { eval("_11_13_2_4 += 1;"); - return false; - } catch (e) { - return e instanceof ReferenceError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-40-s.js b/test/language/expressions/compound-assignment/11.13.2-40-s.js index ac6cd92e6e..28f57bd4c3 100644 --- a/test/language/expressions/compound-assignment/11.13.2-40-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-40-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(>>=) is a reference to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { get: function () { @@ -21,12 +19,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop >>= 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 11; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 11, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-41-s.js b/test/language/expressions/compound-assignment/11.13.2-41-s.js index 707032af87..d5d567d97c 100644 --- a/test/language/expressions/compound-assignment/11.13.2-41-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-41-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(>>>=) is a reference to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { get: function () { @@ -21,12 +19,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop >>>= 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 11; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 11, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-42-s.js b/test/language/expressions/compound-assignment/11.13.2-42-s.js index 5d81a5130a..860fefca8d 100644 --- a/test/language/expressions/compound-assignment/11.13.2-42-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-42-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(&=) is a reference to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { get: function () { @@ -21,12 +19,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop &= 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 11; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 11, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-43-s.js b/test/language/expressions/compound-assignment/11.13.2-43-s.js index b3c1e38b38..b25ca2ba1b 100644 --- a/test/language/expressions/compound-assignment/11.13.2-43-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-43-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(^=) is a reference to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { get: function () { @@ -21,12 +19,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop ^= 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 11; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 11, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-44-s.js b/test/language/expressions/compound-assignment/11.13.2-44-s.js index 75808f9ac1..9489059879 100644 --- a/test/language/expressions/compound-assignment/11.13.2-44-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-44-s.js @@ -8,10 +8,8 @@ description: > Compound Assignment operator(|=) is a reference of to an accessor property with the attribute value {[[Set]]:undefined} flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { get: function () { @@ -21,12 +19,7 @@ function testcase() { enumerable: true, configurable: true }); - - try { +assert.throws(TypeError, function() { obj.prop |= 20; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === 11; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 11, 'obj.prop'); diff --git a/test/language/expressions/compound-assignment/11.13.2-45-s.js b/test/language/expressions/compound-assignment/11.13.2-45-s.js index b912bfd9da..93cfaa2490 100644 --- a/test/language/expressions/compound-assignment/11.13.2-45-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-45-s.js @@ -9,18 +9,10 @@ description: > property of an object whose [[Extensible]] internal property is false flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.preventExtensions(obj); - - try { +assert.throws(TypeError, function() { obj.len *= 10; - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-46-s.js b/test/language/expressions/compound-assignment/11.13.2-46-s.js index 81af78fd79..26bc4c6e7d 100644 --- a/test/language/expressions/compound-assignment/11.13.2-46-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-46-s.js @@ -9,18 +9,10 @@ description: > property of an object whose [[Extensible]] internal property is false flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.preventExtensions(obj); - - try { +assert.throws(TypeError, function() { obj.len /= 10; - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-47-s.js b/test/language/expressions/compound-assignment/11.13.2-47-s.js index bd195e5eb5..75805899fe 100644 --- a/test/language/expressions/compound-assignment/11.13.2-47-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-47-s.js @@ -9,18 +9,10 @@ description: > property of an object whose [[Extensible]] internal property is false flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.preventExtensions(obj); - - try { +assert.throws(TypeError, function() { obj.len %= 10; - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-48-s.js b/test/language/expressions/compound-assignment/11.13.2-48-s.js index a6f09bfe95..920b643ccb 100644 --- a/test/language/expressions/compound-assignment/11.13.2-48-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-48-s.js @@ -9,18 +9,10 @@ description: > property of an object whose [[Extensible]] internal property is false flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.preventExtensions(obj); - - try { +assert.throws(TypeError, function() { obj.len += 10; - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-49-s.js b/test/language/expressions/compound-assignment/11.13.2-49-s.js index fc5dff939b..48f3aedbf5 100644 --- a/test/language/expressions/compound-assignment/11.13.2-49-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-49-s.js @@ -9,18 +9,10 @@ description: > property of an object whose [[Extensible]] internal property is false flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.preventExtensions(obj); - - try { +assert.throws(TypeError, function() { obj.len -= 10; - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-5-s.js b/test/language/expressions/compound-assignment/11.13.2-5-s.js index 6c9bc27a6b..16654674aa 100644 --- a/test/language/expressions/compound-assignment/11.13.2-5-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-5-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(-=) evaluates to an unresolvable reference -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(ReferenceError, function() { eval("_11_13_2_5 -= 1;"); - return false; - } catch (e) { - return e instanceof ReferenceError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-50-s.js b/test/language/expressions/compound-assignment/11.13.2-50-s.js index bca80fc100..2e46189b66 100644 --- a/test/language/expressions/compound-assignment/11.13.2-50-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-50-s.js @@ -9,18 +9,10 @@ description: > property of an object whose [[Extensible]] internal property is false flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.preventExtensions(obj); - - try { +assert.throws(TypeError, function() { obj.len <<= 10; - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-51-s.js b/test/language/expressions/compound-assignment/11.13.2-51-s.js index 1700bb52d1..53d27cb234 100644 --- a/test/language/expressions/compound-assignment/11.13.2-51-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-51-s.js @@ -9,18 +9,10 @@ description: > property of an object whose [[Extensible]] internal property is false flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.preventExtensions(obj); - - try { +assert.throws(TypeError, function() { obj.len >>= 10; - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-52-s.js b/test/language/expressions/compound-assignment/11.13.2-52-s.js index 903fe627ce..e0f5b604e9 100644 --- a/test/language/expressions/compound-assignment/11.13.2-52-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-52-s.js @@ -9,18 +9,10 @@ description: > non-existent property of an object whose [[Extensible]] internal property if false flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.preventExtensions(obj); - - try { +assert.throws(TypeError, function() { obj.len >>>= 10; - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-53-s.js b/test/language/expressions/compound-assignment/11.13.2-53-s.js index e806f5c7f0..335a8ba0a7 100644 --- a/test/language/expressions/compound-assignment/11.13.2-53-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-53-s.js @@ -9,18 +9,10 @@ description: > property of an object whose [[Extensible]] internal property is false flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.preventExtensions(obj); - - try { +assert.throws(TypeError, function() { obj.len &= 10; - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-54-s.js b/test/language/expressions/compound-assignment/11.13.2-54-s.js index 3ea74293a3..f0c9a49302 100644 --- a/test/language/expressions/compound-assignment/11.13.2-54-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-54-s.js @@ -9,18 +9,10 @@ description: > property of an object whose [[Extensible]] internal property is false flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.preventExtensions(obj); - - try { +assert.throws(TypeError, function() { obj.len ^= 10; - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-55-s.js b/test/language/expressions/compound-assignment/11.13.2-55-s.js index 5725573132..9a56c0a236 100644 --- a/test/language/expressions/compound-assignment/11.13.2-55-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-55-s.js @@ -9,18 +9,10 @@ description: > property of an object whose [[Extensible]] internal property is false flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.preventExtensions(obj); - - try { +assert.throws(TypeError, function() { obj.len |= 10; - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-1-s.js b/test/language/expressions/compound-assignment/11.13.2-6-1-s.js index cc66c4642a..2e8f1b9c88 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-1-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-1-s.js @@ -7,16 +7,10 @@ description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(*=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var blah = eval; - try { +assert.throws(SyntaxError, function() { eval("eval *= 20;"); - return false; - } catch (e) { - return e instanceof SyntaxError && blah === eval; - } - } -runTestCase(testcase); +}); +assert.sameValue(blah, eval, 'blah'); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-10-s.js b/test/language/expressions/compound-assignment/11.13.2-6-10-s.js index e126407e21..aa3ff2c02f 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-10-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-10-s.js @@ -7,16 +7,10 @@ description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(^=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var blah = eval; - try { +assert.throws(SyntaxError, function() { eval("eval ^= 20;"); - return false; - } catch (e) { - return e instanceof SyntaxError && blah === eval; - } - } -runTestCase(testcase); +}); +assert.sameValue(blah, eval, 'blah'); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-11-s.js b/test/language/expressions/compound-assignment/11.13.2-6-11-s.js index ea5caeca81..a6bd1295a6 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-11-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-11-s.js @@ -7,16 +7,10 @@ description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(|=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var blah = eval; - try { - eval("eval |= 20;"); - return false; - } catch (e) { - return e instanceof SyntaxError && blah === eval; - } - } -runTestCase(testcase); +assert.throws(SyntaxError, function() { + eval("eval |= 20;"); +}); +assert.sameValue(blah, eval, 'blah'); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-2-s.js b/test/language/expressions/compound-assignment/11.13.2-6-2-s.js index 3be6d709f9..e2e549c3d8 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-2-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-2-s.js @@ -7,16 +7,10 @@ description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(/=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var blah = eval; - try { +assert.throws(SyntaxError, function() { eval("eval /= 20;"); - return false; - } catch (e) { - return e instanceof SyntaxError && blah === eval; - } - } -runTestCase(testcase); +}); +assert.sameValue(blah, eval, 'blah'); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-3-s.js b/test/language/expressions/compound-assignment/11.13.2-6-3-s.js index 0612d5364f..6e79a2089c 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-3-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-3-s.js @@ -7,16 +7,10 @@ description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(%=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var blah = eval; - try { +assert.throws(SyntaxError, function() { eval("eval %= 20;"); - return false; - } catch (e) { - return e instanceof SyntaxError && blah === eval; - } - } -runTestCase(testcase); +}); +assert.sameValue(blah, eval, 'blah'); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-4-s.js b/test/language/expressions/compound-assignment/11.13.2-6-4-s.js index eab0d354ce..fbff6abb72 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-4-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-4-s.js @@ -7,16 +7,10 @@ description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(+=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var blah = eval; - try { +assert.throws(SyntaxError, function() { eval("eval += 20;"); - return false; - } catch (e) { - return e instanceof SyntaxError && blah === eval; - } - } -runTestCase(testcase); +}); +assert.sameValue(blah, eval, 'blah'); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-5-s.js b/test/language/expressions/compound-assignment/11.13.2-6-5-s.js index 93389778e8..a01ada3635 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-5-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-5-s.js @@ -7,16 +7,10 @@ description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(-=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var blah = eval; - try { +assert.throws(SyntaxError, function() { eval("eval -= 20;"); - return false; - } catch (e) { - return e instanceof SyntaxError && blah === eval; - } - } -runTestCase(testcase); +}); +assert.sameValue(blah, eval, 'blah'); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-6-s.js b/test/language/expressions/compound-assignment/11.13.2-6-6-s.js index b57fed0101..c4c7360c80 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-6-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-6-s.js @@ -8,16 +8,10 @@ description: > as the LeftHandSideExpression of a Compound Assignment operator(<<=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var blah = eval; - try { +assert.throws(SyntaxError, function() { eval("eval <<= 20;"); - return false; - } catch (e) { - return e instanceof SyntaxError && blah === eval; - } - } -runTestCase(testcase); +}); +assert.sameValue(blah, eval, 'blah'); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-7-s.js b/test/language/expressions/compound-assignment/11.13.2-6-7-s.js index 1599e4f899..8778fbdf1f 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-7-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-7-s.js @@ -8,16 +8,10 @@ description: > as the LeftHandSideExpression of a Compound Assignment operator(>>=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var blah = eval; - try { +assert.throws(SyntaxError, function() { eval("eval >>= 20;"); - return false; - } catch (e) { - return e instanceof SyntaxError && blah === eval; - } - } -runTestCase(testcase); +}); +assert.sameValue(blah, eval, 'blah'); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-8-s.js b/test/language/expressions/compound-assignment/11.13.2-6-8-s.js index 66519aa72a..f67a3b7ffc 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-8-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-8-s.js @@ -8,16 +8,10 @@ description: > as the LeftHandSideExpression of a Compound Assignment operator(>>>=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var blah = eval; - try { +assert.throws(SyntaxError, function() { eval("eval >>>= 20;"); - return false; - } catch (e) { - return e instanceof SyntaxError && blah === eval; - } - } -runTestCase(testcase); +}); +assert.sameValue(blah, eval, 'blah'); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-9-s.js b/test/language/expressions/compound-assignment/11.13.2-6-9-s.js index 098cca5865..4db6cba4ad 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-9-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-9-s.js @@ -7,16 +7,10 @@ description: > Strict Mode - SyntaxError is thrown if the identifier eval appear as the LeftHandSideExpression of a Compound Assignment operator(&=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var blah = eval; - try { +assert.throws(SyntaxError, function() { eval("eval &= 20;"); - return false; - } catch (e) { - return e instanceof SyntaxError && blah === eval; - } - } -runTestCase(testcase); +}); +assert.sameValue(blah, eval, 'blah'); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-s.js b/test/language/expressions/compound-assignment/11.13.2-6-s.js index 563676a9af..14084ba7e2 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(<<=) evaluates to an unresolvable reference -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(ReferenceError, function() { eval("_11_13_2_6 <<= 1;"); - return false; - } catch (e) { - return e instanceof ReferenceError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-7-s.js b/test/language/expressions/compound-assignment/11.13.2-7-s.js index f6a6fa948e..ae8d2b1921 100644 --- a/test/language/expressions/compound-assignment/11.13.2-7-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-7-s.js @@ -8,15 +8,9 @@ description: > LeftHandSideExpression of a Compound Assignment operator(>>=) evaluates to an unresolvable reference flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(ReferenceError, function() { eval("_11_13_2_7 >>= 1;"); - return false; - } catch (e) { - return e instanceof ReferenceError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-8-s.js b/test/language/expressions/compound-assignment/11.13.2-8-s.js index d37ef25a6a..ecd1cd8326 100644 --- a/test/language/expressions/compound-assignment/11.13.2-8-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-8-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(>>>=) evaluates to an unresolvable reference -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(ReferenceError, function() { eval("_11_13_2_8 >>>= 1;"); - return false; - } catch (e) { - return e instanceof ReferenceError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/compound-assignment/11.13.2-9-s.js b/test/language/expressions/compound-assignment/11.13.2-9-s.js index b58701da84..50836f4f62 100644 --- a/test/language/expressions/compound-assignment/11.13.2-9-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-9-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - ReferenceError is thrown if the LeftHandSideExpression of a Compound Assignment operator(&=) evaluates to an unresolvable reference -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(ReferenceError, function() { eval("_11_13_2_9 &= 1;"); - return false; - } catch (e) { - return e instanceof ReferenceError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-3-2.js b/test/language/expressions/delete/11.4.1-3-2.js index df1c3f612e..608468319b 100644 --- a/test/language/expressions/delete/11.4.1-3-2.js +++ b/test/language/expressions/delete/11.4.1-3-2.js @@ -6,19 +6,9 @@ es5id: 11.4.1-3-2 description: > delete operator throws ReferenceError when deleting an explicitly qualified yet unresolvable reference (base obj undefined) -includes: [runTestCase.js] ---*/ -function testcase() { // just cooking up a long/veryLikely unique name - try - { +assert.throws(ReferenceError, function() { var d = delete __ES3_1_test_suite_test_11_4_1_3_unique_id_2__.x; - } - catch(e) - { - if (e instanceof ReferenceError) - return true; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-3-a-1-s.js b/test/language/expressions/delete/11.4.1-3-a-1-s.js index fd3db626cc..cb66ac0321 100644 --- a/test/language/expressions/delete/11.4.1-3-a-1-s.js +++ b/test/language/expressions/delete/11.4.1-3-a-1-s.js @@ -7,16 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting an un-resolvable reference flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("delete obj"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-4-a-1-s.js b/test/language/expressions/delete/11.4.1-4-a-1-s.js index cd5b561e9e..73544a0fd4 100644 --- a/test/language/expressions/delete/11.4.1-4-a-1-s.js +++ b/test/language/expressions/delete/11.4.1-4-a-1-s.js @@ -7,21 +7,14 @@ description: > Strict Mode - TypeError is thrown when deleting non-configurable data property flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { value: "abc", configurable: false }); - - try { +assert.throws(TypeError, function() { delete obj.prop; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === "abc"; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, "abc", 'obj.prop'); diff --git a/test/language/expressions/delete/11.4.1-4-a-2-s.js b/test/language/expressions/delete/11.4.1-4-a-2-s.js index b61a6c0e69..431d61f1c2 100644 --- a/test/language/expressions/delete/11.4.1-4-a-2-s.js +++ b/test/language/expressions/delete/11.4.1-4-a-2-s.js @@ -7,10 +7,8 @@ description: > Strict Mode - TypeError is thrown when deleting non-configurable accessor property flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { get: function () { @@ -18,12 +16,7 @@ function testcase() { }, configurable: false }); - - try { +assert.throws(TypeError, function() { delete obj.prop; - return false; - } catch (e) { - return e instanceof TypeError && obj.prop === "abc"; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, "abc", 'obj.prop'); diff --git a/test/language/expressions/delete/11.4.1-4.a-3-s.js b/test/language/expressions/delete/11.4.1-4.a-3-s.js index 501f3162e7..1ea95a6b7c 100644 --- a/test/language/expressions/delete/11.4.1-4.a-3-s.js +++ b/test/language/expressions/delete/11.4.1-4.a-3-s.js @@ -10,21 +10,13 @@ description: > delete operator throws TypeError when deleting a non-configurable data property in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; var desc = { value : 1 }; // all other attributes default to false Object.defineProperty(o, "foo", desc); // Now, deleting o.foo should throw TypeError because [[Configurable]] on foo is false. - try { +assert.throws(TypeError, function() { delete o.foo; - return false; - } - catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-4.a-8-s.js b/test/language/expressions/delete/11.4.1-4.a-8-s.js index 69bb9fa51e..a0dd257efe 100644 --- a/test/language/expressions/delete/11.4.1-4.a-8-s.js +++ b/test/language/expressions/delete/11.4.1-4.a-8-s.js @@ -10,19 +10,10 @@ description: > delete operator throws TypeError when deleting a non-configurable data property in strict mode flags: [onlyStrict] -includes: - - runTestCase.js - - fnGlobalObject.js +includes: [fnGlobalObject.js] ---*/ -function testcase() { // NaN (15.1.1.1) has [[Configurable]] set to false. - try { +assert.throws(TypeError, function() { delete fnGlobalObject().NaN; - return false; - } - catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-4.a-9-s.js b/test/language/expressions/delete/11.4.1-4.a-9-s.js index 197d0769eb..f4cefb2cad 100644 --- a/test/language/expressions/delete/11.4.1-4.a-9-s.js +++ b/test/language/expressions/delete/11.4.1-4.a-9-s.js @@ -10,16 +10,9 @@ description: > delete operator throws TypeError when deleting a non-configurable data property (Math.LN2) in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { delete Math.LN2; - return false; - } - catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-1-s.js b/test/language/expressions/delete/11.4.1-5-a-1-s.js index b7200bc3e7..86575dd324 100644 --- a/test/language/expressions/delete/11.4.1-5-a-1-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-1-s.js @@ -7,17 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting a variable which is a primitive value type (number) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var _11_4_1_5 = 5; - - try { +assert.throws(SyntaxError, function() { eval("delete _11_4_1_5;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-10-s.js b/test/language/expressions/delete/11.4.1-5-a-10-s.js index 5b23498a97..a48304837a 100644 --- a/test/language/expressions/delete/11.4.1-5-a-10-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-10-s.js @@ -7,17 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting a variable of type Array flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var arrObj = [1,2,3]; - - try { +assert.throws(SyntaxError, function() { eval("delete arrObj;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-11-s.js b/test/language/expressions/delete/11.4.1-5-a-11-s.js index 57f22f6c90..49c29c283f 100644 --- a/test/language/expressions/delete/11.4.1-5-a-11-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-11-s.js @@ -7,17 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting a variable of type String flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var strObj = new String("abc"); - - try { +assert.throws(SyntaxError, function() { eval("delete strObj;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-12-s.js b/test/language/expressions/delete/11.4.1-5-a-12-s.js index e292408768..1b6c4d62b6 100644 --- a/test/language/expressions/delete/11.4.1-5-a-12-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-12-s.js @@ -7,17 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting a variable of type Boolean flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var boolObj = new Boolean(false); - - try { +assert.throws(SyntaxError, function() { eval("delete boolObj;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-13-s.js b/test/language/expressions/delete/11.4.1-5-a-13-s.js index aeb96027b8..7fd0268380 100644 --- a/test/language/expressions/delete/11.4.1-5-a-13-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-13-s.js @@ -7,17 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting a variable of type Number flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var numObj = new Number(0); - - try { +assert.throws(SyntaxError, function() { eval("delete numObj;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-14-s.js b/test/language/expressions/delete/11.4.1-5-a-14-s.js index c39db53a43..f9f20d490d 100644 --- a/test/language/expressions/delete/11.4.1-5-a-14-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-14-s.js @@ -7,17 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting a variable of type Date flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var dateObj = new Date(); - - try { +assert.throws(SyntaxError, function() { eval("delete dateObj;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-15-s.js b/test/language/expressions/delete/11.4.1-5-a-15-s.js index f3f54e138c..38e873065a 100644 --- a/test/language/expressions/delete/11.4.1-5-a-15-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-15-s.js @@ -7,17 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting a variable of type RegExp flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var regObj = new RegExp(); - - try { +assert.throws(SyntaxError, function() { eval("delete regObj;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-16-s.js b/test/language/expressions/delete/11.4.1-5-a-16-s.js index 876760d2ab..cf730de501 100644 --- a/test/language/expressions/delete/11.4.1-5-a-16-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-16-s.js @@ -7,17 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting a variable of type Error flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var errObj = new Error(); - - try { +assert.throws(SyntaxError, function() { eval("delete errObj;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-17-s.js b/test/language/expressions/delete/11.4.1-5-a-17-s.js index 502b09219d..55ebf2e489 100644 --- a/test/language/expressions/delete/11.4.1-5-a-17-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-17-s.js @@ -7,16 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting a variable of type Arguments flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var argObj = (function (a, b) { delete arguments; }(1, 2));"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +assert.throws(SyntaxError, function() { + eval("var argObj = (function (a, b) { delete arguments; }(1, 2));"); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-18-s.js b/test/language/expressions/delete/11.4.1-5-a-18-s.js index c370de06f1..eb1af56e10 100644 --- a/test/language/expressions/delete/11.4.1-5-a-18-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-18-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting a built-in (Object) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("delete Object;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-19-s.js b/test/language/expressions/delete/11.4.1-5-a-19-s.js index f960f9032f..442e22f0b9 100644 --- a/test/language/expressions/delete/11.4.1-5-a-19-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-19-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting a built-in (Function) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("delete Function;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-2-s.js b/test/language/expressions/delete/11.4.1-5-a-2-s.js index 1d39f9a2d5..b9afc1edf2 100644 --- a/test/language/expressions/delete/11.4.1-5-a-2-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-2-s.js @@ -7,19 +7,11 @@ description: > Strict Mode - SyntaxError is thrown when deleting a function parameter flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { function funObj(x) { eval("delete x;"); } - - try { +assert.throws(SyntaxError, function() { funObj(1); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-20-s.js b/test/language/expressions/delete/11.4.1-5-a-20-s.js index 2f66bd7ed9..456c4b3f07 100644 --- a/test/language/expressions/delete/11.4.1-5-a-20-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-20-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting a built-in (Array) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("delete Array;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-21-s.js b/test/language/expressions/delete/11.4.1-5-a-21-s.js index 43d29cb98b..1bf9bd3ce1 100644 --- a/test/language/expressions/delete/11.4.1-5-a-21-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-21-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting a built-in (String) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("delete String;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-22-s.js b/test/language/expressions/delete/11.4.1-5-a-22-s.js index acab4ea756..1e02b15aa7 100644 --- a/test/language/expressions/delete/11.4.1-5-a-22-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-22-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting a built-in (Boolean) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("delete Boolean;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-23-s.js b/test/language/expressions/delete/11.4.1-5-a-23-s.js index 1eb2eb08df..e383430d8b 100644 --- a/test/language/expressions/delete/11.4.1-5-a-23-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-23-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting a built-in (Number) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("delete Number;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-24-s.js b/test/language/expressions/delete/11.4.1-5-a-24-s.js index e3782a273b..ef63b0579d 100644 --- a/test/language/expressions/delete/11.4.1-5-a-24-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-24-s.js @@ -5,15 +5,9 @@ es5id: 11.4.1-5-a-24-s description: Strict Mode - SyntaxError is thrown when deleting a built-in (Date) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("delete Date;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-25-s.js b/test/language/expressions/delete/11.4.1-5-a-25-s.js index dcbf2ccb44..8484c985a3 100644 --- a/test/language/expressions/delete/11.4.1-5-a-25-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-25-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting a built-in (RegExp) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("delete RegExp;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-27-s.js b/test/language/expressions/delete/11.4.1-5-a-27-s.js index 04e2a9e76c..b2bd625885 100644 --- a/test/language/expressions/delete/11.4.1-5-a-27-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-27-s.js @@ -7,18 +7,11 @@ description: > Strict Mode - TypeError is thrown after deleting a property, calling preventExtensions, and attempting to reassign the property flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var a = {x:0, get y() { return 0;}}; delete a.x; Object.preventExtensions(a); - try { +assert.throws(TypeError, function() { a.x = 1; - return false; - } catch (e) { - return e instanceof TypeError; - } -} -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-3-s.js b/test/language/expressions/delete/11.4.1-5-a-3-s.js index 7780f4ddc2..224dd524e3 100644 --- a/test/language/expressions/delete/11.4.1-5-a-3-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-3-s.js @@ -5,17 +5,9 @@ es5id: 11.4.1-5-a-3-s description: Strict Mode - SyntaxError is thrown when deleting a function name flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { function funObj () { } - - try { +assert.throws(SyntaxError, function() { eval("delete funObj"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-4-s.js b/test/language/expressions/delete/11.4.1-5-a-4-s.js index 51714eba87..93138ea90c 100644 --- a/test/language/expressions/delete/11.4.1-5-a-4-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-4-s.js @@ -7,19 +7,11 @@ description: > Strict Mode - SyntaxError is thrown when deleting a function parameter flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { function funObj(x, y, z) { eval("delete y;"); } - - try { +assert.throws(SyntaxError, function() { funObj(1); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-5-s.js b/test/language/expressions/delete/11.4.1-5-a-5-s.js index 88020733c1..b6b12cc04c 100644 --- a/test/language/expressions/delete/11.4.1-5-a-5-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-5-s.js @@ -7,17 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting a variable which is a primitive type (boolean) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var _11_4_1_5 = true; - - try { +assert.throws(SyntaxError, function() { eval("delete _11_4_1_5;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-6-s.js b/test/language/expressions/delete/11.4.1-5-a-6-s.js index 4a4cd5ee0b..1d30df158b 100644 --- a/test/language/expressions/delete/11.4.1-5-a-6-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-6-s.js @@ -7,17 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting a variable which is a primitive type (string) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var _11_4_1_5 = "abc"; - - try { +assert.throws(SyntaxError, function() { eval("delete _11_4_1_5;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-7-s.js b/test/language/expressions/delete/11.4.1-5-a-7-s.js index a9dd1f76f9..b29661e7ec 100644 --- a/test/language/expressions/delete/11.4.1-5-a-7-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-7-s.js @@ -7,17 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting a variable of type Object flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var obj = new Object(); - - try { +assert.throws(SyntaxError, function() { eval("delete obj;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-8-s.js b/test/language/expressions/delete/11.4.1-5-a-8-s.js index ee7fabd4c2..721bae15fd 100644 --- a/test/language/expressions/delete/11.4.1-5-a-8-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-8-s.js @@ -5,17 +5,9 @@ es5id: 11.4.1-5-a-8-s description: Strict Mode - SyntaxError is thrown when deleting a function object flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var funObj = function () { }; - - try { +assert.throws(SyntaxError, function() { eval("delete funObj;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.1-5-a-9-s.js b/test/language/expressions/delete/11.4.1-5-a-9-s.js index 4f51102712..0a5cf3622a 100644 --- a/test/language/expressions/delete/11.4.1-5-a-9-s.js +++ b/test/language/expressions/delete/11.4.1-5-a-9-s.js @@ -7,17 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when deleting a variable of type function (declaration) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { function funObj () { }; - - try { +assert.throws(SyntaxError, function() { eval("delete funObj;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/delete/11.4.4-4.a-3-s.js b/test/language/expressions/delete/11.4.4-4.a-3-s.js index 8f9455fc5d..72c7a0ad74 100644 --- a/test/language/expressions/delete/11.4.4-4.a-3-s.js +++ b/test/language/expressions/delete/11.4.4-4.a-3-s.js @@ -10,21 +10,13 @@ description: > delete operator throws TypeError when deleting a non-configurable data property in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; var desc = { value : 1 }; // all other attributes default to false Object.defineProperty(o, "foo", desc); // Now, deleting o.foo should throw TypeError because [[Configurable]] on foo is false. - try { +assert.throws(TypeError, function() { delete o.foo; - return false; - } - catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/object/11.1.5-1-s.js b/test/language/expressions/object/11.1.5-1-s.js index 865f4d7dff..abc491dcbe 100644 --- a/test/language/expressions/object/11.1.5-1-s.js +++ b/test/language/expressions/object/11.1.5-1-s.js @@ -8,15 +8,9 @@ description: > Identifier in a PropertySetParameterList of a PropertyAssignment that is contained in strict code flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("var obj = {set _11_1_5_1_fun(eval) {}};"); - return false; - } catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/object/11.1.5-2-s.js b/test/language/expressions/object/11.1.5-2-s.js index 604191572e..7a4c054df9 100644 --- a/test/language/expressions/object/11.1.5-2-s.js +++ b/test/language/expressions/object/11.1.5-2-s.js @@ -8,15 +8,9 @@ description: > Identifier in a PropertySetParameterList of a PropertyAssignment that is contained in strict code flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("var obj = {set _11_1_5_2_fun(arguments) {} };"); - return false; - } catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/object/11.1.5-3-s.js b/test/language/expressions/object/11.1.5-3-s.js index 7817fcea21..831a801944 100644 --- a/test/language/expressions/object/11.1.5-3-s.js +++ b/test/language/expressions/object/11.1.5-3-s.js @@ -8,16 +8,9 @@ description: > Identifier in a PropertySetParameterList of a PropertyAssignment if its FunctionBody is strict code flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("var obj = {set _11_1_5_3_fun(eval) { \"use strict\"; }};"); - return false; - } catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/object/11.1.5-4-s.js b/test/language/expressions/object/11.1.5-4-s.js index 422416f0cd..dc16139062 100644 --- a/test/language/expressions/object/11.1.5-4-s.js +++ b/test/language/expressions/object/11.1.5-4-s.js @@ -8,16 +8,9 @@ description: > the Identifier in a PropertySetParameterList of a PropertyAssignment if its FunctionBody is strict code flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("var obj = {set _11_1_5_4_fun(arguments) {\"use strict\";}};"); - return false; - } catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/object/11.1.5_6-2-1-s.js b/test/language/expressions/object/11.1.5_6-2-1-s.js index 589a2075e6..65035c0eac 100644 --- a/test/language/expressions/object/11.1.5_6-2-1-s.js +++ b/test/language/expressions/object/11.1.5_6-2-1-s.js @@ -7,11 +7,10 @@ description: > Strict Mode - SyntaxError is thrown when an assignment to a reserved word or a future reserved word is contained in strict code flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("var obj = {\ get _11_1_5_6_2_1() {\ public = 42;\ @@ -20,9 +19,4 @@ function testcase() { };"); var _11_1_5_6_2_1 = obj._11_1_5_6_2_1; - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/object/11.1.5_6-2-2-s.js b/test/language/expressions/object/11.1.5_6-2-2-s.js index d52470741d..9ae348ff54 100644 --- a/test/language/expressions/object/11.1.5_6-2-2-s.js +++ b/test/language/expressions/object/11.1.5_6-2-2-s.js @@ -8,12 +8,10 @@ description: > reserved word or a future reserved word is made inside a strict mode FunctionBody of a PropertyAssignment flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("var obj = {\ get _11_1_5_6_2_2() {\ \"use strict\";\ @@ -22,9 +20,4 @@ function testcase() { }\ };\ var _11_1_5_6_2_2 = obj._11_1_5_6_2_2;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/object/11.1.5_7-2-1-s.js b/test/language/expressions/object/11.1.5_7-2-1-s.js index e0361fc5db..f716977416 100644 --- a/test/language/expressions/object/11.1.5_7-2-1-s.js +++ b/test/language/expressions/object/11.1.5_7-2-1-s.js @@ -7,11 +7,10 @@ description: > Strict Mode - SyntaxError is thrown when an assignment to a reserved word is contained in strict code flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("var data = \"data\";\ var obj = {\ set _11_1_5_7_2_1(value) {\ @@ -20,9 +19,4 @@ function testcase() { }\ };\ obj._11_1_5_7_2_1 = 1;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/object/11.1.5_7-2-2-s.js b/test/language/expressions/object/11.1.5_7-2-2-s.js index 84b0ac3a13..08cfe79dfc 100644 --- a/test/language/expressions/object/11.1.5_7-2-2-s.js +++ b/test/language/expressions/object/11.1.5_7-2-2-s.js @@ -8,11 +8,10 @@ description: > reserved word is made in a strict FunctionBody of a PropertyAssignment flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("var data = \"data\";\ var obj = {\ set _11_1_5_7_2_2(value) {\ @@ -21,9 +20,4 @@ function testcase() { }\ };\ obj._11_1_5_7_2_2 = 1;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/postfix-decrement/11.3.2-2-2-s.js b/test/language/expressions/postfix-decrement/11.3.2-2-2-s.js index 0fc15b17a1..526318e0e7 100644 --- a/test/language/expressions/postfix-decrement/11.3.2-2-2-s.js +++ b/test/language/expressions/postfix-decrement/11.3.2-2-2-s.js @@ -7,16 +7,10 @@ description: > Strict Mode - SyntaxError is thrown if the identifier 'eval' appear as a PostfixExpression(eval--) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var blah = eval; - try { +assert.throws(SyntaxError, function() { eval("eval--;"); - return false; - } catch (e) { - return e instanceof SyntaxError && blah === eval; - } - } -runTestCase(testcase); +}); +assert.sameValue(blah, eval, 'blah'); diff --git a/test/language/expressions/postfix-increment/11.3.1-2-2-s.js b/test/language/expressions/postfix-increment/11.3.1-2-2-s.js index 56aaa3d1a8..54e117f989 100644 --- a/test/language/expressions/postfix-increment/11.3.1-2-2-s.js +++ b/test/language/expressions/postfix-increment/11.3.1-2-2-s.js @@ -7,16 +7,10 @@ description: > Strict Mode - SyntaxError is thrown if the identifier 'eval' appear as a PostfixExpression(eval++) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var blah = eval; - try { +assert.throws(SyntaxError, function() { eval("eval++;"); - return false; - } catch (e) { - return e instanceof SyntaxError && blah === eval; - } - } -runTestCase(testcase); +}); +assert.sameValue(blah, eval, 'blah'); diff --git a/test/language/expressions/prefix-decrement/11.4.5-2-1-s.js b/test/language/expressions/prefix-decrement/11.4.5-2-1-s.js index fbbf882999..5c1058187d 100644 --- a/test/language/expressions/prefix-decrement/11.4.5-2-1-s.js +++ b/test/language/expressions/prefix-decrement/11.4.5-2-1-s.js @@ -5,16 +5,10 @@ es5id: 11.4.5-2-1-s description: Strict Mode - SyntaxError is thrown for --eval flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var blah = eval; - try { +assert.throws(SyntaxError, function() { eval("--eval;"); - return false; - } catch (e) { - return e instanceof SyntaxError && blah === eval; - } - } -runTestCase(testcase); +}); +assert.sameValue(blah, eval, 'blah'); diff --git a/test/language/expressions/prefix-increment/11.4.4-2-1-s.js b/test/language/expressions/prefix-increment/11.4.4-2-1-s.js index 9ff404bdc9..35f72e827d 100644 --- a/test/language/expressions/prefix-increment/11.4.4-2-1-s.js +++ b/test/language/expressions/prefix-increment/11.4.4-2-1-s.js @@ -5,16 +5,10 @@ es5id: 11.4.4-2-1-s description: Strict Mode - SyntaxError is thrown for ++eval flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var blah = eval; - try { +assert.throws(SyntaxError, function() { eval("++eval;"); - return false; - } catch (e) { - return e instanceof SyntaxError && blah === eval; - } - } -runTestCase(testcase); +}); +assert.sameValue(blah, eval, 'blah'); From 7f55f60b5fde724d9e1bcb12b342382322519fd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Bargull?= Date: Tue, 11 Aug 2015 17:43:01 +0200 Subject: [PATCH 2/6] Replace runTestCase with assert.throws [test/language/statements] --- test/language/statements/block/12.1-1.js | 12 +++--------- test/language/statements/block/12.1-2.js | 12 +++--------- test/language/statements/block/12.1-3.js | 12 +++--------- test/language/statements/block/12.1-4.js | 12 +++--------- test/language/statements/block/12.1-5.js | 12 +++--------- test/language/statements/block/12.1-6.js | 12 +++--------- test/language/statements/block/12.1-7.js | 12 +++--------- test/language/statements/function/13.0-1.js | 12 +++--------- test/language/statements/function/13.0-10-s.js | 12 ++---------- test/language/statements/function/13.0-11-s.js | 12 ++---------- test/language/statements/function/13.0-13-s.js | 11 ++--------- test/language/statements/function/13.0-14-s.js | 11 ++--------- test/language/statements/function/13.0-15-s.js | 11 ++--------- test/language/statements/function/13.0-16-s.js | 11 ++--------- test/language/statements/function/13.0-2.js | 12 +++--------- test/language/statements/function/13.0-3.js | 11 ++--------- test/language/statements/function/13.0-4.js | 11 ++--------- test/language/statements/function/13.0-7-s.js | 11 ++--------- test/language/statements/function/13.0-9-s.js | 11 ++--------- test/language/statements/function/13.1-1-s.js | 12 +++--------- test/language/statements/function/13.1-10-s.js | 12 +++--------- test/language/statements/function/13.1-11-s.js | 12 +++--------- test/language/statements/function/13.1-12-s.js | 12 ++---------- test/language/statements/function/13.1-13-s.js | 12 +++--------- test/language/statements/function/13.1-14-s.js | 12 ++---------- test/language/statements/function/13.1-15-s.js | 11 ++--------- test/language/statements/function/13.1-16-s.js | 11 ++--------- test/language/statements/function/13.1-17-s.js | 11 ++--------- test/language/statements/function/13.1-18-s.js | 11 ++--------- test/language/statements/function/13.1-19-s.js | 11 ++--------- test/language/statements/function/13.1-2-s.js | 12 +++--------- test/language/statements/function/13.1-20-s.js | 11 ++--------- test/language/statements/function/13.1-21-s.js | 11 ++--------- test/language/statements/function/13.1-22-s.js | 11 ++--------- test/language/statements/function/13.1-23-s.js | 11 ++--------- test/language/statements/function/13.1-24-s.js | 11 ++--------- test/language/statements/function/13.1-25-s.js | 11 ++--------- test/language/statements/function/13.1-26-s.js | 11 ++--------- test/language/statements/function/13.1-27-s.js | 11 ++--------- test/language/statements/function/13.1-28-s.js | 12 ++---------- test/language/statements/function/13.1-29-s.js | 11 ++--------- test/language/statements/function/13.1-3-s.js | 12 +++--------- test/language/statements/function/13.1-30-s.js | 11 ++--------- test/language/statements/function/13.1-31-s.js | 11 ++--------- test/language/statements/function/13.1-32-s.js | 11 ++--------- test/language/statements/function/13.1-33-s.js | 11 ++--------- test/language/statements/function/13.1-34-s.js | 11 ++--------- test/language/statements/function/13.1-35-s.js | 11 ++--------- test/language/statements/function/13.1-36-s.js | 11 ++--------- test/language/statements/function/13.1-37-s.js | 11 ++--------- test/language/statements/function/13.1-38-s.js | 11 ++--------- test/language/statements/function/13.1-39-s.js | 11 ++--------- test/language/statements/function/13.1-4-s.js | 12 +++--------- test/language/statements/function/13.1-40-s.js | 11 ++--------- test/language/statements/function/13.1-41-s.js | 11 ++--------- test/language/statements/function/13.1-42-s.js | 11 ++--------- test/language/statements/function/13.1-5-s.js | 12 +++--------- test/language/statements/function/13.1-6-s.js | 12 +++--------- test/language/statements/function/13.1-7-s.js | 12 +++--------- test/language/statements/function/13.1-8-s.js | 12 +++--------- test/language/statements/function/13.1-9-s.js | 12 +++--------- test/language/statements/function/13.2-10-s.js | 12 ++---------- test/language/statements/function/13.2-13-s.js | 12 ++---------- test/language/statements/function/13.2-14-s.js | 12 ++---------- test/language/statements/function/13.2-17-s.js | 12 ++---------- test/language/statements/function/13.2-18-s.js | 12 ++---------- test/language/statements/function/13.2-2-s.js | 12 +++--------- test/language/statements/function/13.2-21-s.js | 12 ++---------- test/language/statements/function/13.2-22-s.js | 12 ++---------- test/language/statements/function/13.2-25-s.js | 12 ++---------- test/language/statements/function/13.2-26-s.js | 12 ++---------- test/language/statements/function/13.2-4-s.js | 12 +++--------- test/language/statements/function/13.2-5-s.js | 12 ++---------- test/language/statements/function/13.2-6-s.js | 12 ++---------- test/language/statements/function/13.2-9-s.js | 12 ++---------- test/language/statements/try/12.14.1-1-s.js | 11 ++--------- test/language/statements/try/12.14.1-2-s.js | 11 ++--------- test/language/statements/try/12.14.1-3-s.js | 12 +++--------- test/language/statements/variable/12.2.1-1-s.js | 13 +++---------- test/language/statements/variable/12.2.1-12-s.js | 13 +++---------- test/language/statements/variable/12.2.1-13-s.js | 13 +++---------- test/language/statements/variable/12.2.1-14-s.js | 13 +++---------- test/language/statements/variable/12.2.1-15-s.js | 13 +++---------- test/language/statements/variable/12.2.1-18-s.js | 13 +++---------- test/language/statements/variable/12.2.1-19-s.js | 13 +++---------- test/language/statements/variable/12.2.1-2-s.js | 13 +++---------- test/language/statements/variable/12.2.1-22-s.js | 14 ++------------ test/language/statements/variable/12.2.1-23-s.js | 13 +++---------- test/language/statements/variable/12.2.1-24-s.js | 13 +++---------- test/language/statements/variable/12.2.1-25-s.js | 13 +++---------- test/language/statements/variable/12.2.1-26-s.js | 13 +++---------- test/language/statements/variable/12.2.1-27-s.js | 13 +++---------- test/language/statements/variable/12.2.1-28-s.js | 13 +++---------- test/language/statements/variable/12.2.1-29-s.js | 13 +++---------- test/language/statements/variable/12.2.1-3-s.js | 13 +++---------- test/language/statements/variable/12.2.1-30-s.js | 13 +++---------- test/language/statements/variable/12.2.1-31-s.js | 13 +++---------- test/language/statements/variable/12.2.1-32-s.js | 13 +++---------- test/language/statements/variable/12.2.1-33-s.js | 13 +++---------- test/language/statements/variable/12.2.1-34-s.js | 13 +++---------- test/language/statements/variable/12.2.1-35-s.js | 13 +++---------- test/language/statements/variable/12.2.1-36-s.js | 13 +++---------- test/language/statements/variable/12.2.1-37-s.js | 13 +++---------- test/language/statements/variable/12.2.1-4-s.js | 13 +++---------- test/language/statements/variable/12.2.1-7-s.js | 13 +++---------- test/language/statements/variable/12.2.1-8-s.js | 13 +++---------- test/language/statements/with/12.10.1-1-s.js | 12 ++---------- test/language/statements/with/12.10.1-10-s.js | 12 ++---------- test/language/statements/with/12.10.1-11-s.js | 13 +++---------- test/language/statements/with/12.10.1-12-s.js | 13 +++---------- test/language/statements/with/12.10.1-14-s.js | 13 +++---------- test/language/statements/with/12.10.1-15-s.js | 12 +++--------- test/language/statements/with/12.10.1-16-s.js | 12 +++--------- test/language/statements/with/12.10.1-2-s.js | 13 +++---------- test/language/statements/with/12.10.1-3-s.js | 13 +++---------- test/language/statements/with/12.10.1-4-s.js | 14 +++----------- test/language/statements/with/12.10.1-7-s.js | 13 +++---------- test/language/statements/with/12.10.1-8-s.js | 13 +++---------- test/language/statements/with/12.10.1-9-s.js | 13 +++---------- 119 files changed, 300 insertions(+), 1130 deletions(-) diff --git a/test/language/statements/block/12.1-1.js b/test/language/statements/block/12.1-1.js index 5655c14fb4..0f1ddd0237 100644 --- a/test/language/statements/block/12.1-1.js +++ b/test/language/statements/block/12.1-1.js @@ -4,15 +4,9 @@ /*--- es5id: 12.1-1 description: "12.1 - block '{ StatementListopt };' is not allowed: try-catch" -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("try{};catch(){}"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/block/12.1-2.js b/test/language/statements/block/12.1-2.js index 3e40203851..b0b41000c4 100644 --- a/test/language/statements/block/12.1-2.js +++ b/test/language/statements/block/12.1-2.js @@ -6,15 +6,9 @@ es5id: 12.1-2 description: > 12.1 - block '{ StatementListopt };' is not allowed: try-catch-finally -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("try{};catch{};finally{}"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/block/12.1-3.js b/test/language/statements/block/12.1-3.js index ad2b8d8411..a7fb97e72e 100644 --- a/test/language/statements/block/12.1-3.js +++ b/test/language/statements/block/12.1-3.js @@ -4,15 +4,9 @@ /*--- es5id: 12.1-3 description: "12.1 - block '{ StatementListopt };' is not allowed: try-finally" -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("try{};finally{}"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/block/12.1-4.js b/test/language/statements/block/12.1-4.js index b7284151fa..bf130e4594 100644 --- a/test/language/statements/block/12.1-4.js +++ b/test/language/statements/block/12.1-4.js @@ -4,15 +4,9 @@ /*--- es5id: 12.1-4 description: "12.1 - block '{ StatementListopt };' is not allowed: if-else" -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("if{};else{}"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/block/12.1-5.js b/test/language/statements/block/12.1-5.js index 908ddcda1a..2ac6f46085 100644 --- a/test/language/statements/block/12.1-5.js +++ b/test/language/statements/block/12.1-5.js @@ -4,15 +4,9 @@ /*--- es5id: 12.1-5 description: "12.1 - block '{ StatementListopt };' is not allowed: if-else-if" -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("if{};else if{}"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/block/12.1-6.js b/test/language/statements/block/12.1-6.js index f46fd21695..deeffa1710 100644 --- a/test/language/statements/block/12.1-6.js +++ b/test/language/statements/block/12.1-6.js @@ -6,15 +6,9 @@ es5id: 12.1-6 description: > 12.1 - block '{ StatementListopt };' is not allowed: if-else-if-else -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("if{};else if{};else{}"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/block/12.1-7.js b/test/language/statements/block/12.1-7.js index c251e8f930..ee5c6acdfc 100644 --- a/test/language/statements/block/12.1-7.js +++ b/test/language/statements/block/12.1-7.js @@ -4,15 +4,9 @@ /*--- es5id: 12.1-7 description: "12.1 - block '{ StatementListopt };' is not allowed: do-while" -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("do{};while()"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.0-1.js b/test/language/statements/function/13.0-1.js index 7e0e308ce0..33b5fd66e8 100644 --- a/test/language/statements/function/13.0-1.js +++ b/test/language/statements/function/13.0-1.js @@ -6,15 +6,9 @@ es5id: 13.0-1 description: > 13.0 - multiple names in one function declaration is not allowed, two function names -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("function x, y() {}"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.0-10-s.js b/test/language/statements/function/13.0-10-s.js index 9368a83bc1..5964e461f1 100644 --- a/test/language/statements/function/13.0-10-s.js +++ b/test/language/statements/function/13.0-10-s.js @@ -11,11 +11,8 @@ description: > the code of this FunctionBody with an inner function contains a Use Strict Directive flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - function _13_0_10_fun() { function _13_0_10_inner() { "use strict"; @@ -23,11 +20,6 @@ function testcase() { } _13_0_10_inner(); }; - try { +assert.throws(SyntaxError, function() { _13_0_10_fun(); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.0-11-s.js b/test/language/statements/function/13.0-11-s.js index 5686b6e1b3..5a7684a822 100644 --- a/test/language/statements/function/13.0-11-s.js +++ b/test/language/statements/function/13.0-11-s.js @@ -11,11 +11,8 @@ description: > the code of this FunctionBody with an inner function which is in strict mode flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - function _13_0_11_fun() { "use strict"; function _13_0_11_inner() { @@ -23,11 +20,6 @@ function testcase() { } _13_0_11_inner(); }; - try { +assert.throws(SyntaxError, function() { _13_0_11_fun(); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.0-13-s.js b/test/language/statements/function/13.0-13-s.js index 0615fe0201..d5f73e2c50 100644 --- a/test/language/statements/function/13.0-13-s.js +++ b/test/language/statements/function/13.0-13-s.js @@ -11,16 +11,9 @@ description: > the function body of a Function constructor begins with a Strict Directive flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("var _13_0_13_fun = new Function(\" \", \"'use strict'; eval = 42;\"); _13_0_13_fun();"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.0-14-s.js b/test/language/statements/function/13.0-14-s.js index 22bcc0d763..5a518430ab 100644 --- a/test/language/statements/function/13.0-14-s.js +++ b/test/language/statements/function/13.0-14-s.js @@ -11,17 +11,10 @@ description: > the function body of a Function constructor contains a Strict Directive flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { var _13_0_14_fun = new Function(" ", "'use strict'; eval = 42; "); _13_0_14_fun(); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.0-15-s.js b/test/language/statements/function/13.0-15-s.js index 728dcb034e..6281c22c38 100644 --- a/test/language/statements/function/13.0-15-s.js +++ b/test/language/statements/function/13.0-15-s.js @@ -11,17 +11,10 @@ description: > a FunctionDeclaration is contained in strict mode code within eval code flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("'use strict'; function _13_0_15_fun() {eval = 42;};"); _13_0_15_fun(); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.0-16-s.js b/test/language/statements/function/13.0-16-s.js index 3eefb46e32..c825848e2c 100644 --- a/test/language/statements/function/13.0-16-s.js +++ b/test/language/statements/function/13.0-16-s.js @@ -11,17 +11,10 @@ description: > a FunctionExpression is contained in strict mode code within eval code flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("'use strict'; var _13_0_16_fun = function () {eval = 42;};"); _13_0_16_fun(); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.0-2.js b/test/language/statements/function/13.0-2.js index f2baa5a68d..7a3712f061 100644 --- a/test/language/statements/function/13.0-2.js +++ b/test/language/statements/function/13.0-2.js @@ -6,15 +6,9 @@ es5id: 13.0-2 description: > 13.0 - multiple names in one function declaration is not allowed, three function names -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("function x,y,z(){}"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.0-3.js b/test/language/statements/function/13.0-3.js index 7ffb99d438..f4eab6a1c8 100644 --- a/test/language/statements/function/13.0-3.js +++ b/test/language/statements/function/13.0-3.js @@ -6,16 +6,9 @@ es5id: 13.0-3 description: > 13.0 - property names in function definition is not allowed, add a new property into object -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; - try { +assert.throws(SyntaxError, function() { eval("function obj.tt() {};"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.0-4.js b/test/language/statements/function/13.0-4.js index 56225bf7d8..ace2f52e13 100644 --- a/test/language/statements/function/13.0-4.js +++ b/test/language/statements/function/13.0-4.js @@ -6,17 +6,10 @@ es5id: 13.0-4 description: > 13.0 - multiple names in one function declaration is not allowed, add a new property into a property which is a object -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; obj.tt = { len: 10 }; - try { +assert.throws(SyntaxError, function() { eval("function obj.tt.ss() {};"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.0-7-s.js b/test/language/statements/function/13.0-7-s.js index 0c6ae6cfd9..9e280a909a 100644 --- a/test/language/statements/function/13.0-7-s.js +++ b/test/language/statements/function/13.0-7-s.js @@ -11,17 +11,10 @@ description: > the code of this FunctionDeclaration is contained in non-strict mode but the call to eval is a direct call in strict mode code flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("'use strict'; function _13_0_7_fun() {eval = 42;};"); _13_0_7_fun(); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.0-9-s.js b/test/language/statements/function/13.0-9-s.js index c2b1bf20f9..15145ababa 100644 --- a/test/language/statements/function/13.0-9-s.js +++ b/test/language/statements/function/13.0-9-s.js @@ -11,19 +11,12 @@ description: > a FunctionDeclaration that is contained in strict mode code has an inner function flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var _13_0_9_fun = function () { function _13_0_9_inner() { eval("eval = 42;"); } _13_0_9_inner(); }; - try { +assert.throws(SyntaxError, function() { _13_0_9_fun(); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-1-s.js b/test/language/statements/function/13.1-1-s.js index 077414ba0c..cb5ad0aea6 100644 --- a/test/language/statements/function/13.1-1-s.js +++ b/test/language/statements/function/13.1-1-s.js @@ -12,15 +12,9 @@ description: > appears within a FormalParameterList of a strict mode FunctionDeclaration flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("function _13_1_1_fun(eval) { }"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-10-s.js b/test/language/statements/function/13.1-10-s.js index 41acf78913..a57ddb8efd 100644 --- a/test/language/statements/function/13.1-10-s.js +++ b/test/language/statements/function/13.1-10-s.js @@ -12,15 +12,9 @@ description: > 'strict mode' using a FunctionExpression and the function has three identical parameters flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("var _13_1_10_fun = function (param, param, param) { };") - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-11-s.js b/test/language/statements/function/13.1-11-s.js index 4d64d256d2..f518e3e3ec 100644 --- a/test/language/statements/function/13.1-11-s.js +++ b/test/language/statements/function/13.1-11-s.js @@ -7,15 +7,9 @@ description: > StrictMode - SyntaxError is thrown if 'eval' occurs as the function name of a FunctionDeclaration in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("function eval() { };") - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-12-s.js b/test/language/statements/function/13.1-12-s.js index 8f0e24d6f1..9ab5a3d727 100644 --- a/test/language/statements/function/13.1-12-s.js +++ b/test/language/statements/function/13.1-12-s.js @@ -7,17 +7,9 @@ description: > StrictMode - SyntaxError is thrown if 'eval' occurs as the Identifier of a FunctionExpression in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var _13_1_12_s = {}; - - try { +assert.throws(SyntaxError, function() { eval("_13_1_12_s.x = function eval() {};"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-13-s.js b/test/language/statements/function/13.1-13-s.js index 290904800b..ca42171704 100644 --- a/test/language/statements/function/13.1-13-s.js +++ b/test/language/statements/function/13.1-13-s.js @@ -7,15 +7,9 @@ description: > StrictMode - SyntaxError is thrown if 'arguments' occurs as the function name of a FunctionDeclaration in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("function arguments() { };") - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-14-s.js b/test/language/statements/function/13.1-14-s.js index d639eb202c..902419038b 100644 --- a/test/language/statements/function/13.1-14-s.js +++ b/test/language/statements/function/13.1-14-s.js @@ -7,17 +7,9 @@ description: > StrictMode - SyntaxError is thrown if 'arguments' occurs as the Identifier of a FunctionExpression in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var _13_1_14_s = {}; - - try { +assert.throws(SyntaxError, function() { eval("_13_1_14_s.x = function arguments() {};"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-15-s.js b/test/language/statements/function/13.1-15-s.js index 1ee28524d8..6d47b948d7 100644 --- a/test/language/statements/function/13.1-15-s.js +++ b/test/language/statements/function/13.1-15-s.js @@ -12,16 +12,9 @@ description: > appears within a FormalParameterList of a strict mode FunctionDeclaration in strict eval code flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("'use strict';function _13_1_15_fun(eval) { }"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-16-s.js b/test/language/statements/function/13.1-16-s.js index 0522c9b1eb..a2e2c4999d 100644 --- a/test/language/statements/function/13.1-16-s.js +++ b/test/language/statements/function/13.1-16-s.js @@ -12,16 +12,9 @@ description: > appears within a FormalParameterList of a strict mode FunctionDeclaration when FuctionBody is strict code flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("function _13_1_16_fun(eval) { 'use strict'; }"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-17-s.js b/test/language/statements/function/13.1-17-s.js index 6d1dd8dcd4..9c08d09341 100644 --- a/test/language/statements/function/13.1-17-s.js +++ b/test/language/statements/function/13.1-17-s.js @@ -12,16 +12,9 @@ description: > appears within a FormalParameterList of a strict mode FunctionExpression in strict eval code flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("'use strict'; var _13_1_17_fun = function (eval) { }"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-18-s.js b/test/language/statements/function/13.1-18-s.js index 92a0c07fdf..1ff8d86997 100644 --- a/test/language/statements/function/13.1-18-s.js +++ b/test/language/statements/function/13.1-18-s.js @@ -12,16 +12,9 @@ description: > appears within a FormalParameterList of a strict mode FunctionExpression when FuctionBody is strict code flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("var _13_1_18_fun = function (eval) { 'use strict'; }"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-19-s.js b/test/language/statements/function/13.1-19-s.js index 5cbf661565..3dce5196fe 100644 --- a/test/language/statements/function/13.1-19-s.js +++ b/test/language/statements/function/13.1-19-s.js @@ -12,16 +12,9 @@ description: > appears within a FormalParameterList of a strict mode FunctionDeclaration in strict eval code flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("'use strict';function _13_1_19_fun(arguments) { }"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-2-s.js b/test/language/statements/function/13.1-2-s.js index dfda3645f5..07a657bd37 100644 --- a/test/language/statements/function/13.1-2-s.js +++ b/test/language/statements/function/13.1-2-s.js @@ -12,15 +12,9 @@ description: > appears within a FormalParameterList of a strict mode FunctionExpression flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("var _13_1_2_fun = function (eval) { }"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-20-s.js b/test/language/statements/function/13.1-20-s.js index 44265dbb99..8c57d7a622 100644 --- a/test/language/statements/function/13.1-20-s.js +++ b/test/language/statements/function/13.1-20-s.js @@ -12,16 +12,9 @@ description: > appears within a FormalParameterList of a strict mode FunctionDeclaration when FuctionBody is strict code flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("function _13_1_20_fun(arguments) { 'use strict'; }"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-21-s.js b/test/language/statements/function/13.1-21-s.js index cb4421f62b..4e79bace14 100644 --- a/test/language/statements/function/13.1-21-s.js +++ b/test/language/statements/function/13.1-21-s.js @@ -12,16 +12,9 @@ description: > appears within a FormalParameterList of a strict mode FunctionExpression in strict eval code flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("'use strict'; var _13_1_21_fun = function (arguments) { }"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-22-s.js b/test/language/statements/function/13.1-22-s.js index 3243a96f24..ac3417cb86 100644 --- a/test/language/statements/function/13.1-22-s.js +++ b/test/language/statements/function/13.1-22-s.js @@ -12,16 +12,9 @@ description: > appears within a FormalParameterList of a strict mode FunctionExpression when FuctionBody is strict code flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("var _13_1_22_fun = function (arguments) { 'use strict'; }"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-23-s.js b/test/language/statements/function/13.1-23-s.js index fedc7a3428..36008957f9 100644 --- a/test/language/statements/function/13.1-23-s.js +++ b/test/language/statements/function/13.1-23-s.js @@ -12,16 +12,9 @@ description: > a FunctionDeclaration that is contained in eval strict code and the function has two identical parameters flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("'use strict'; function _13_1_23_fun(param, param) { }"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-24-s.js b/test/language/statements/function/13.1-24-s.js index de66d85783..fc459cd93e 100644 --- a/test/language/statements/function/13.1-24-s.js +++ b/test/language/statements/function/13.1-24-s.js @@ -12,16 +12,9 @@ description: > a FunctionDeclaration whose FunctionBody is contained in strict code and the function has two identical parameters flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("function _13_1_24_fun(param, param) { 'use strict'; }"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-25-s.js b/test/language/statements/function/13.1-25-s.js index e470eb4ae6..7bc1c7b082 100644 --- a/test/language/statements/function/13.1-25-s.js +++ b/test/language/statements/function/13.1-25-s.js @@ -13,16 +13,9 @@ description: > the function has two identical parameters which are separated by a unique parameter name flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("'use strict'; function _13_1_25_fun(param1, param2, param1) { }"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-26-s.js b/test/language/statements/function/13.1-26-s.js index dd16e5f113..f44b944904 100644 --- a/test/language/statements/function/13.1-26-s.js +++ b/test/language/statements/function/13.1-26-s.js @@ -13,16 +13,9 @@ description: > code and the function has two identical parameters which are separated by a unique parameter name flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("function _13_1_26_fun(param1, param2, param1) { 'use strict'; }"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-27-s.js b/test/language/statements/function/13.1-27-s.js index b9cf0eb534..3ad0c92061 100644 --- a/test/language/statements/function/13.1-27-s.js +++ b/test/language/statements/function/13.1-27-s.js @@ -12,16 +12,9 @@ description: > a FunctionDeclaration that is contained in eval strict code and the function has three identical parameters flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("'use strict'; function _13_1_27_fun(param, param, param) { }"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-28-s.js b/test/language/statements/function/13.1-28-s.js index f87d2d1706..61d6e3f311 100644 --- a/test/language/statements/function/13.1-28-s.js +++ b/test/language/statements/function/13.1-28-s.js @@ -12,17 +12,9 @@ description: > a FunctionDeclaration whose FunctionBody is contained in strict code and the function has three identical parameters flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - - try { +assert.throws(SyntaxError, function() { eval("function _13_1_28_fun(param, param, param) { 'use strict'; }"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-29-s.js b/test/language/statements/function/13.1-29-s.js index 9c0cc7171b..0dd41865e6 100644 --- a/test/language/statements/function/13.1-29-s.js +++ b/test/language/statements/function/13.1-29-s.js @@ -12,16 +12,9 @@ description: > a FunctionExpression that is contained in eval strict code and the function has two identical parameters flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("'use strict'; var _13_1_29_fun = function (param, param) { };"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-3-s.js b/test/language/statements/function/13.1-3-s.js index baa9c16c43..803e5986c2 100644 --- a/test/language/statements/function/13.1-3-s.js +++ b/test/language/statements/function/13.1-3-s.js @@ -12,15 +12,9 @@ description: > appears within a FormalParameterList of a strict mode FunctionDeclaration flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("function _13_1_3_fun(arguments) { }"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-30-s.js b/test/language/statements/function/13.1-30-s.js index 0fbae1edeb..d7fa8d644f 100644 --- a/test/language/statements/function/13.1-30-s.js +++ b/test/language/statements/function/13.1-30-s.js @@ -12,16 +12,9 @@ description: > a FunctionExpression whose FunctionBody is contained in strict code and the function has two identical parameters flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("var _13_1_30_fun = function (param, param) { 'use strict'; };"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-31-s.js b/test/language/statements/function/13.1-31-s.js index 4aba0e0542..911588b633 100644 --- a/test/language/statements/function/13.1-31-s.js +++ b/test/language/statements/function/13.1-31-s.js @@ -13,16 +13,9 @@ description: > function has two identical parameters, which are separated by a unique parameter name flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("'use strict'; var _13_1_31_fun = function (param1, param2, param1) { };"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-32-s.js b/test/language/statements/function/13.1-32-s.js index e46f50f783..486c553919 100644 --- a/test/language/statements/function/13.1-32-s.js +++ b/test/language/statements/function/13.1-32-s.js @@ -13,16 +13,9 @@ description: > has two identical parameters, which are separated by a unique parameter name flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("var _13_1_32_fun = function (param1, param2, param1) { 'use strict'; };"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-33-s.js b/test/language/statements/function/13.1-33-s.js index 3d9b311287..cdccca76ad 100644 --- a/test/language/statements/function/13.1-33-s.js +++ b/test/language/statements/function/13.1-33-s.js @@ -12,16 +12,9 @@ description: > FunctionExpression that is contained in eval strict code and the function has three identical parameters flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("'use strict'; var _13_1_33_fun = function (param, param, param) { };") - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-34-s.js b/test/language/statements/function/13.1-34-s.js index 4bedc59919..e3d9c6f400 100644 --- a/test/language/statements/function/13.1-34-s.js +++ b/test/language/statements/function/13.1-34-s.js @@ -11,16 +11,9 @@ description: > Strict Mode - SyntaxError is thrown if a function declaration has three identical parameters with a strict mode body flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("var _13_1_34_fun = function (param, param, param) { 'use strict'; };") - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-35-s.js b/test/language/statements/function/13.1-35-s.js index 53f6bb730d..ca9376953a 100644 --- a/test/language/statements/function/13.1-35-s.js +++ b/test/language/statements/function/13.1-35-s.js @@ -7,16 +7,9 @@ description: > StrictMode - SyntaxError is thrown if 'eval' occurs as the function name of a FunctionDeclaration in strict eval code flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("'use strict'; function eval() { };") - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-36-s.js b/test/language/statements/function/13.1-36-s.js index 0d09fef4e9..ce5c98ec0d 100644 --- a/test/language/statements/function/13.1-36-s.js +++ b/test/language/statements/function/13.1-36-s.js @@ -8,16 +8,9 @@ description: > function name of a FunctionDeclaration whose FunctionBody is in strict mode flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("function eval() { 'use strict'; };") - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-37-s.js b/test/language/statements/function/13.1-37-s.js index 031782a57b..5b2c1db6b4 100644 --- a/test/language/statements/function/13.1-37-s.js +++ b/test/language/statements/function/13.1-37-s.js @@ -7,16 +7,9 @@ description: > StrictMode - SyntaxError is thrown if 'eval' occurs as the Identifier of a FunctionExpression in strict eval code flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var _13_1_37_s = {}; - try { +assert.throws(SyntaxError, function() { eval("'use strict'; _13_1_37_s.x = function eval() {};"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-38-s.js b/test/language/statements/function/13.1-38-s.js index bc5c1a49e5..ac4db793dd 100644 --- a/test/language/statements/function/13.1-38-s.js +++ b/test/language/statements/function/13.1-38-s.js @@ -8,16 +8,9 @@ description: > Identifier of a FunctionExpression whose FunctionBody is contained in strict code flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var _13_1_38_s = {}; - try { +assert.throws(SyntaxError, function() { eval("_13_1_38_s.x = function eval() {'use strict'; };"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-39-s.js b/test/language/statements/function/13.1-39-s.js index bdbde71c60..633be9641d 100644 --- a/test/language/statements/function/13.1-39-s.js +++ b/test/language/statements/function/13.1-39-s.js @@ -7,16 +7,9 @@ description: > StrictMode - SyntaxError is thrown if 'arguments' occurs as the function name of a FunctionDeclaration in strict eval code flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("'use strict'; function arguments() { };") - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-4-s.js b/test/language/statements/function/13.1-4-s.js index 71729cf40e..092aaee0df 100644 --- a/test/language/statements/function/13.1-4-s.js +++ b/test/language/statements/function/13.1-4-s.js @@ -12,15 +12,9 @@ description: > appears within a FormalParameterList of a strict mode FunctionExpression flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("var _13_1_4_fun = function (arguments) { };"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-40-s.js b/test/language/statements/function/13.1-40-s.js index d29ce3e5d3..8c77046075 100644 --- a/test/language/statements/function/13.1-40-s.js +++ b/test/language/statements/function/13.1-40-s.js @@ -8,16 +8,9 @@ description: > Identifier of a FunctionDeclaration whose FunctionBody is contained in strict code flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("function arguments() { 'use strict'; };") - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-41-s.js b/test/language/statements/function/13.1-41-s.js index f59b4aeb07..a6e246177a 100644 --- a/test/language/statements/function/13.1-41-s.js +++ b/test/language/statements/function/13.1-41-s.js @@ -7,16 +7,9 @@ description: > StrictMode - SyntaxError is thrown if 'arguments' occurs as the Identifier of a FunctionExpression in strict eval code flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var _13_1_41_s = {}; - try { +assert.throws(SyntaxError, function() { eval("'use strict'; _13_1_41_s.x = function arguments() {};"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-42-s.js b/test/language/statements/function/13.1-42-s.js index eee56516fe..8e9a3fccb8 100644 --- a/test/language/statements/function/13.1-42-s.js +++ b/test/language/statements/function/13.1-42-s.js @@ -8,16 +8,9 @@ description: > Identifier of a FunctionExpression whose FunctionBody is contained in strict code flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var _13_1_42_s = {}; - try { +assert.throws(SyntaxError, function() { eval("_13_1_42_s.x = function arguments() {'use strict';};"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-5-s.js b/test/language/statements/function/13.1-5-s.js index a0dd7d482d..65a010a6c1 100644 --- a/test/language/statements/function/13.1-5-s.js +++ b/test/language/statements/function/13.1-5-s.js @@ -12,15 +12,9 @@ description: > 'strict mode' using a FunctionDeclaration and the function has two identical parameters flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("function _13_1_5_fun(param, param) { }"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-6-s.js b/test/language/statements/function/13.1-6-s.js index 24f7542da2..d02d720914 100644 --- a/test/language/statements/function/13.1-6-s.js +++ b/test/language/statements/function/13.1-6-s.js @@ -13,15 +13,9 @@ description: > identical parameters, which are separated by a unique parameter name flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("function _13_1_6_fun(param1, param2, param1) { }"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-7-s.js b/test/language/statements/function/13.1-7-s.js index 64e4b17217..b42b13e823 100644 --- a/test/language/statements/function/13.1-7-s.js +++ b/test/language/statements/function/13.1-7-s.js @@ -12,15 +12,9 @@ description: > 'strict mode' using a FunctionDeclaration and the function has three identical parameters flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("function _13_1_7_fun(param, param, param) { }"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-8-s.js b/test/language/statements/function/13.1-8-s.js index 9ab6acd803..42f977405a 100644 --- a/test/language/statements/function/13.1-8-s.js +++ b/test/language/statements/function/13.1-8-s.js @@ -12,15 +12,9 @@ description: > 'strict mode' using a FunctionExpression and the function has two identical parameters flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("var _13_1_8_fun = function (param, param) { };"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.1-9-s.js b/test/language/statements/function/13.1-9-s.js index 551a6f61c7..a8284132c1 100644 --- a/test/language/statements/function/13.1-9-s.js +++ b/test/language/statements/function/13.1-9-s.js @@ -13,15 +13,9 @@ description: > identical parameters, which are separated by a unique parameter name flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("var _13_1_9_fun = function (param1, param2, param1) { };"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.2-10-s.js b/test/language/statements/function/13.2-10-s.js index 4687488f61..6cefcc79d7 100644 --- a/test/language/statements/function/13.2-10-s.js +++ b/test/language/statements/function/13.2-10-s.js @@ -6,17 +6,9 @@ es5id: 13.2-10-s description: > StrictMode - writing a property named 'caller' of function objects is not allowed outside the function -includes: [runTestCase.js] ---*/ -function testcase() { var foo = Function("'use strict';"); - try { +assert.throws(TypeError, function() { foo.caller = 41; - return false; - } - catch (e) { - return e instanceof TypeError; - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.2-13-s.js b/test/language/statements/function/13.2-13-s.js index ae3d1800f1..3fb244f9e1 100644 --- a/test/language/statements/function/13.2-13-s.js +++ b/test/language/statements/function/13.2-13-s.js @@ -6,17 +6,9 @@ es5id: 13.2-13-s description: > StrictMode - reading a property named 'arguments' of function objects is not allowed outside the function -includes: [runTestCase.js] ---*/ -function testcase() { var foo = new Function("'use strict';"); - try { +assert.throws(TypeError, function() { var temp = foo.arguments; - return false; - } - catch (e) { - return e instanceof TypeError; - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.2-14-s.js b/test/language/statements/function/13.2-14-s.js index 08e623791e..06073a4bd7 100644 --- a/test/language/statements/function/13.2-14-s.js +++ b/test/language/statements/function/13.2-14-s.js @@ -6,17 +6,9 @@ es5id: 13.2-14-s description: > StrictMode - writing a property named 'arguments' of function objects is not allowed outside the function -includes: [runTestCase.js] ---*/ -function testcase() { var foo = new Function("'use strict';"); - try { +assert.throws(TypeError, function() { foo.arguments = 41; - return false; - } - catch (e) { - return e instanceof TypeError; - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.2-17-s.js b/test/language/statements/function/13.2-17-s.js index 5354731b2b..df7a22e2e1 100644 --- a/test/language/statements/function/13.2-17-s.js +++ b/test/language/statements/function/13.2-17-s.js @@ -6,17 +6,9 @@ es5id: 13.2-17-s description: > StrictMode - reading a property named 'arguments' of function objects is not allowed outside the function -includes: [runTestCase.js] ---*/ -function testcase() { var foo = Function("'use strict';"); - try { +assert.throws(TypeError, function() { var temp = foo.arguments; - return false; - } - catch (e) { - return e instanceof TypeError; - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.2-18-s.js b/test/language/statements/function/13.2-18-s.js index 6ea8865190..77b6467227 100644 --- a/test/language/statements/function/13.2-18-s.js +++ b/test/language/statements/function/13.2-18-s.js @@ -6,17 +6,9 @@ es5id: 13.2-18-s description: > StrictMode - writing a property named 'arguments' of function objects is not allowed outside the function -includes: [runTestCase.js] ---*/ -function testcase() { var foo = Function("'use strict';"); - try { +assert.throws(TypeError, function() { foo.arguments = 41; - return false; - } - catch (e) { - return e instanceof TypeError; - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.2-2-s.js b/test/language/statements/function/13.2-2-s.js index d47478316c..77e670e9f1 100644 --- a/test/language/statements/function/13.2-2-s.js +++ b/test/language/statements/function/13.2-2-s.js @@ -7,17 +7,11 @@ description: > StrictMode - A TypeError is thrown when a strict mode code writes to properties named 'caller' of function instances. flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { var foo = function () { } foo.caller = 20; - return false; - } catch (ex) { - return ex instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.2-21-s.js b/test/language/statements/function/13.2-21-s.js index c7b5ac37b8..34b13e98ae 100644 --- a/test/language/statements/function/13.2-21-s.js +++ b/test/language/statements/function/13.2-21-s.js @@ -7,17 +7,9 @@ description: > StrictMode - reading a property named 'caller' of function objects is not allowed outside the function flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { function foo () {"use strict";} - try { +assert.throws(TypeError, function() { var temp = foo.caller; - return false; - } - catch (e) { - return e instanceof TypeError; - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.2-22-s.js b/test/language/statements/function/13.2-22-s.js index 55a1a34a32..a3955d8710 100644 --- a/test/language/statements/function/13.2-22-s.js +++ b/test/language/statements/function/13.2-22-s.js @@ -7,17 +7,9 @@ description: > StrictMode - writing a property named 'caller' of function objects is not allowed outside the function flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { function foo () {"use strict";} - try { +assert.throws(TypeError, function() { foo.caller = 41; - return false; - } - catch (e) { - return e instanceof TypeError; - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.2-25-s.js b/test/language/statements/function/13.2-25-s.js index 0590659765..b4a46bd72f 100644 --- a/test/language/statements/function/13.2-25-s.js +++ b/test/language/statements/function/13.2-25-s.js @@ -7,17 +7,9 @@ description: > StrictMode - reading a property named 'arguments' of function objects is not allowed outside the function flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { function foo () {"use strict";} - try { +assert.throws(TypeError, function() { var temp = foo.arguments; - return false; - } - catch (e) { - return e instanceof TypeError; - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.2-26-s.js b/test/language/statements/function/13.2-26-s.js index 33f2f1840d..371af059c7 100644 --- a/test/language/statements/function/13.2-26-s.js +++ b/test/language/statements/function/13.2-26-s.js @@ -7,17 +7,9 @@ description: > StrictMode - writing a property named 'arguments' of function objects is not allowed outside the function flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { function foo () {"use strict";} - try { +assert.throws(TypeError, function() { foo.arguments = 41; - return false; - } - catch (e) { - return e instanceof TypeError; - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.2-4-s.js b/test/language/statements/function/13.2-4-s.js index 68a1b0a7a5..8ff3f336fc 100644 --- a/test/language/statements/function/13.2-4-s.js +++ b/test/language/statements/function/13.2-4-s.js @@ -7,17 +7,11 @@ description: > StrictMode - A TypeError is thrown when a code in strict mode tries to write to 'arguments' of function instances. flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { var foo = function () { } foo.arguments = 20; - return false; - } catch (ex) { - return ex instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.2-5-s.js b/test/language/statements/function/13.2-5-s.js index 2000a44488..a617e305bb 100644 --- a/test/language/statements/function/13.2-5-s.js +++ b/test/language/statements/function/13.2-5-s.js @@ -7,17 +7,9 @@ description: > StrictMode - reading a property named 'caller' of function objects is not allowed outside the function flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var foo = new Function("'use strict';"); - try { +assert.throws(TypeError, function() { var temp = foo.caller; - return false; - } - catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.2-6-s.js b/test/language/statements/function/13.2-6-s.js index d751d08041..ffe989f44d 100644 --- a/test/language/statements/function/13.2-6-s.js +++ b/test/language/statements/function/13.2-6-s.js @@ -7,17 +7,9 @@ description: > StrictMode - writing a property named 'caller' of function objects is not allowed outside the function flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var foo = new Function("'use strict';"); - try { +assert.throws(TypeError, function() { foo.caller = 41; - return false; - } - catch (e) { - return e instanceof TypeError; - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/function/13.2-9-s.js b/test/language/statements/function/13.2-9-s.js index 9594fbb112..756d0e1a21 100644 --- a/test/language/statements/function/13.2-9-s.js +++ b/test/language/statements/function/13.2-9-s.js @@ -7,17 +7,9 @@ description: > StrictMode - reading a property named 'caller' of function objects is not allowed outside the function flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var foo = Function("'use strict';"); - try { +assert.throws(TypeError, function() { var temp = foo.caller; - return false; - } - catch (e) { - return e instanceof TypeError; - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/try/12.14.1-1-s.js b/test/language/statements/try/12.14.1-1-s.js index e88f976ae7..688e10439d 100644 --- a/test/language/statements/try/12.14.1-1-s.js +++ b/test/language/statements/try/12.14.1-1-s.js @@ -8,17 +8,10 @@ description: > occurs within strict code and the Identifier of the Catch production is eval flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("\ try {} catch (eval) { }\ "); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/try/12.14.1-2-s.js b/test/language/statements/try/12.14.1-2-s.js index 0fe35a9995..7977218340 100644 --- a/test/language/statements/try/12.14.1-2-s.js +++ b/test/language/statements/try/12.14.1-2-s.js @@ -8,17 +8,10 @@ description: > occurs within strict code and the Identifier of the Catch production is arguments flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { eval("\ try {} catch (arguments) { }\ "); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/try/12.14.1-3-s.js b/test/language/statements/try/12.14.1-3-s.js index 29e75f7ceb..7223984812 100644 --- a/test/language/statements/try/12.14.1-3-s.js +++ b/test/language/statements/try/12.14.1-3-s.js @@ -8,11 +8,10 @@ description: > Catch occurs within strict code and the Identifier of the Catch production is EVAL but throws SyntaxError if it is eval flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try{ eval(" try { \ +assert.throws(SyntaxError, function() { + eval(" try { \ throw new Error(\"...\");\ return false;\ } catch (EVAL) {\ @@ -24,9 +23,4 @@ function testcase() { return EVAL instanceof Error;\ }\ }"); - return false; - } catch(e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-1-s.js b/test/language/statements/variable/12.2.1-1-s.js index 448ebb28b6..bdf44cea2b 100644 --- a/test/language/statements/variable/12.2.1-1-s.js +++ b/test/language/statements/variable/12.2.1-1-s.js @@ -7,16 +7,9 @@ description: > eval - a function declaring a var named 'eval' throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('function foo() { var eval; }'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-12-s.js b/test/language/statements/variable/12.2.1-12-s.js index 8028f64738..50ffbfef3c 100644 --- a/test/language/statements/variable/12.2.1-12-s.js +++ b/test/language/statements/variable/12.2.1-12-s.js @@ -5,16 +5,9 @@ es5id: 12.2.1-12-s description: arguments as local var identifier throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('function foo() { var arguments;}'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-13-s.js b/test/language/statements/variable/12.2.1-13-s.js index 8de3ada3ff..5e9fc3a6d5 100644 --- a/test/language/statements/variable/12.2.1-13-s.js +++ b/test/language/statements/variable/12.2.1-13-s.js @@ -5,16 +5,9 @@ es5id: 12.2.1-13-s description: arguments assignment throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('function foo() { arguments = 42; }; foo()'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-14-s.js b/test/language/statements/variable/12.2.1-14-s.js index 0f43c2824b..06cf5eba8d 100644 --- a/test/language/statements/variable/12.2.1-14-s.js +++ b/test/language/statements/variable/12.2.1-14-s.js @@ -7,16 +7,9 @@ description: > arguments - a function expr declaring a var named 'arguments' throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('(function (){var arguments;});'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-15-s.js b/test/language/statements/variable/12.2.1-15-s.js index 2da7a85230..8447267316 100644 --- a/test/language/statements/variable/12.2.1-15-s.js +++ b/test/language/statements/variable/12.2.1-15-s.js @@ -7,16 +7,9 @@ description: > arguments - a function expr assigning into 'arguments' throws a SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('(function () {arguments = 42;})()'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-18-s.js b/test/language/statements/variable/12.2.1-18-s.js index 6e8c15b00d..88e1327365 100644 --- a/test/language/statements/variable/12.2.1-18-s.js +++ b/test/language/statements/variable/12.2.1-18-s.js @@ -7,16 +7,9 @@ description: > A direct eval declaring a var named 'arguments' throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('var arguments;'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-19-s.js b/test/language/statements/variable/12.2.1-19-s.js index fd73916ddb..e750197fc3 100644 --- a/test/language/statements/variable/12.2.1-19-s.js +++ b/test/language/statements/variable/12.2.1-19-s.js @@ -7,16 +7,9 @@ description: > A direct eval assigning into 'arguments' throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('arguments = 42;'); - return false; - } - catch (e) { - return (e instanceof SyntaxError) ; - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-2-s.js b/test/language/statements/variable/12.2.1-2-s.js index d2e96976c7..40da7f8923 100644 --- a/test/language/statements/variable/12.2.1-2-s.js +++ b/test/language/statements/variable/12.2.1-2-s.js @@ -7,16 +7,9 @@ description: > eval - a function assigning into 'eval' throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('function foo() { eval = 42; }; foo()'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-22-s.js b/test/language/statements/variable/12.2.1-22-s.js index f84c20578c..4c737c6af5 100644 --- a/test/language/statements/variable/12.2.1-22-s.js +++ b/test/language/statements/variable/12.2.1-22-s.js @@ -6,19 +6,9 @@ es5id: 12.2.1-22-s description: > arguments as global var identifier throws SyntaxError in strict mode -includes: [runTestCase.js] ---*/ -function testcase() { - var indirectEval = eval; - - try { +assert.throws(SyntaxError, function() { indirectEval("'use strict'; var arguments;"); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-23-s.js b/test/language/statements/variable/12.2.1-23-s.js index 3ee332933e..45e3912de7 100644 --- a/test/language/statements/variable/12.2.1-23-s.js +++ b/test/language/statements/variable/12.2.1-23-s.js @@ -7,16 +7,9 @@ description: > arguments as local var identifier assigned to throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('function foo() { var arguments = 42;}'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-24-s.js b/test/language/statements/variable/12.2.1-24-s.js index bac5088214..8e5818b107 100644 --- a/test/language/statements/variable/12.2.1-24-s.js +++ b/test/language/statements/variable/12.2.1-24-s.js @@ -7,16 +7,9 @@ description: > eval as local var identifier assigned to throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('function foo() { var eval = 42;}'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-25-s.js b/test/language/statements/variable/12.2.1-25-s.js index 826afe7a97..95712e37f4 100644 --- a/test/language/statements/variable/12.2.1-25-s.js +++ b/test/language/statements/variable/12.2.1-25-s.js @@ -5,16 +5,9 @@ es5id: 12.2.1-25-s description: arguments as local var identifier throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('function foo() { var arguments, a;}'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-26-s.js b/test/language/statements/variable/12.2.1-26-s.js index a12e454ffb..427689845b 100644 --- a/test/language/statements/variable/12.2.1-26-s.js +++ b/test/language/statements/variable/12.2.1-26-s.js @@ -5,16 +5,9 @@ es5id: 12.2.1-26-s description: eval as local var identifier throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('function foo() { var a, eval;}'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-27-s.js b/test/language/statements/variable/12.2.1-27-s.js index cf6bbad494..51b3bc1b32 100644 --- a/test/language/statements/variable/12.2.1-27-s.js +++ b/test/language/statements/variable/12.2.1-27-s.js @@ -7,16 +7,9 @@ description: > eval as local var identifier assigned to throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('function foo() { var eval = 42, a;}'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-28-s.js b/test/language/statements/variable/12.2.1-28-s.js index fcf7156af5..c06f66b58c 100644 --- a/test/language/statements/variable/12.2.1-28-s.js +++ b/test/language/statements/variable/12.2.1-28-s.js @@ -7,16 +7,9 @@ description: > arguments as local var identifier assigned to throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('function foo() { var a, arguments = 42;}'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-29-s.js b/test/language/statements/variable/12.2.1-29-s.js index 3470528578..f188ae7196 100644 --- a/test/language/statements/variable/12.2.1-29-s.js +++ b/test/language/statements/variable/12.2.1-29-s.js @@ -5,16 +5,9 @@ es5id: 12.2.1-29-s description: eval as local var identifier throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('function foo() { var eval, a = 42;}'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-3-s.js b/test/language/statements/variable/12.2.1-3-s.js index 75d700f5e0..19166749a4 100644 --- a/test/language/statements/variable/12.2.1-3-s.js +++ b/test/language/statements/variable/12.2.1-3-s.js @@ -7,16 +7,9 @@ description: > eval - a function expr declaring a var named 'eval' throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('(function () { var eval; })'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-30-s.js b/test/language/statements/variable/12.2.1-30-s.js index d66da4f82c..2fb229dda0 100644 --- a/test/language/statements/variable/12.2.1-30-s.js +++ b/test/language/statements/variable/12.2.1-30-s.js @@ -5,16 +5,9 @@ es5id: 12.2.1-30-s description: arguments as local var identifier throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('function foo() { var a = 42, arguments;}'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-31-s.js b/test/language/statements/variable/12.2.1-31-s.js index 7b45601ba5..937313d894 100644 --- a/test/language/statements/variable/12.2.1-31-s.js +++ b/test/language/statements/variable/12.2.1-31-s.js @@ -7,16 +7,9 @@ description: > eval as local var identifier defined twice throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('function foo() { var eval, eval;}'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-32-s.js b/test/language/statements/variable/12.2.1-32-s.js index b0b17ce060..12326d08bf 100644 --- a/test/language/statements/variable/12.2.1-32-s.js +++ b/test/language/statements/variable/12.2.1-32-s.js @@ -7,16 +7,9 @@ description: > arguments as local var identifier defined twice and assigned once throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('function foo() { var arguments, arguments = 42;}'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-33-s.js b/test/language/statements/variable/12.2.1-33-s.js index 188ec75458..0b474dd519 100644 --- a/test/language/statements/variable/12.2.1-33-s.js +++ b/test/language/statements/variable/12.2.1-33-s.js @@ -5,16 +5,9 @@ es5id: 12.2.1-33-s description: arguments as local var identifier throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('function foo() { var a, arguments, b;}'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-34-s.js b/test/language/statements/variable/12.2.1-34-s.js index 2cdf1495bc..c7794514a1 100644 --- a/test/language/statements/variable/12.2.1-34-s.js +++ b/test/language/statements/variable/12.2.1-34-s.js @@ -5,16 +5,9 @@ es5id: 12.2.1-34-s description: "'for(var eval in ...) {...}' throws SyntaxError in strict mode" flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('for (var eval in null) {};'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-35-s.js b/test/language/statements/variable/12.2.1-35-s.js index c9f4064230..5d8d17ce55 100644 --- a/test/language/statements/variable/12.2.1-35-s.js +++ b/test/language/statements/variable/12.2.1-35-s.js @@ -5,16 +5,9 @@ es5id: 12.2.1-35-s description: "'for(var eval = 42 in ...) {...}' throws SyntaxError in strict mode" flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('for (var eval = 42 in null) {};'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-36-s.js b/test/language/statements/variable/12.2.1-36-s.js index de1dcab519..872d7c7c2a 100644 --- a/test/language/statements/variable/12.2.1-36-s.js +++ b/test/language/statements/variable/12.2.1-36-s.js @@ -5,16 +5,9 @@ es5id: 12.2.1-36-s description: "'for(var arguments in ...) {...}' throws SyntaxError in strict mode" flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('for (var arguments in null) {};'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-37-s.js b/test/language/statements/variable/12.2.1-37-s.js index 6e81d9702c..cf7227e630 100644 --- a/test/language/statements/variable/12.2.1-37-s.js +++ b/test/language/statements/variable/12.2.1-37-s.js @@ -7,16 +7,9 @@ description: > 'for(var arguments = 42 in ...) {...}' throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('for (var arguments = 42 in null) {};'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-4-s.js b/test/language/statements/variable/12.2.1-4-s.js index ccdeec6ce7..00fbcde7f8 100644 --- a/test/language/statements/variable/12.2.1-4-s.js +++ b/test/language/statements/variable/12.2.1-4-s.js @@ -7,16 +7,9 @@ description: > eval - a function expr assigning into 'eval' throws a SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('(function () { eval = 42; })()'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-7-s.js b/test/language/statements/variable/12.2.1-7-s.js index 2f16e64b4e..723c5d221c 100644 --- a/test/language/statements/variable/12.2.1-7-s.js +++ b/test/language/statements/variable/12.2.1-7-s.js @@ -7,16 +7,9 @@ description: > eval - a direct eval declaring a var named 'eval' throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('var eval;'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/variable/12.2.1-8-s.js b/test/language/statements/variable/12.2.1-8-s.js index 5156674d83..aa75ccea96 100644 --- a/test/language/statements/variable/12.2.1-8-s.js +++ b/test/language/statements/variable/12.2.1-8-s.js @@ -7,16 +7,9 @@ description: > eval - a direct eval assigning into 'eval' throws SyntaxError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval('eval = 42;'); - return false; - } - catch (e) { - return (e instanceof SyntaxError) ; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/with/12.10.1-1-s.js b/test/language/statements/with/12.10.1-1-s.js index 634e2ffda1..1407711469 100644 --- a/test/language/statements/with/12.10.1-1-s.js +++ b/test/language/statements/with/12.10.1-1-s.js @@ -5,12 +5,10 @@ es5id: 12.10.1-1-s description: with statement in strict mode throws SyntaxError (strict function) flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(SyntaxError, function() { // wrapping it in eval since this needs to be a syntax error. The // exception thrown must be a SyntaxError exception. eval("\ @@ -20,10 +18,4 @@ function testcase() { with (o) {};\ }\ "); - return false; - } - catch (e) { - return(e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/with/12.10.1-10-s.js b/test/language/statements/with/12.10.1-10-s.js index 00b713824d..49553bee72 100644 --- a/test/language/statements/with/12.10.1-10-s.js +++ b/test/language/statements/with/12.10.1-10-s.js @@ -7,22 +7,14 @@ description: > with statement in strict mode throws SyntaxError (eval, where the container function is strict) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { // wrapping it in eval since this needs to be a syntax error. The // exception thrown must be a SyntaxError exception. Note that eval // inherits the strictness of its calling context. - try { +assert.throws(SyntaxError, function() { eval("\ var o = {};\ with (o) {}\ "); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/with/12.10.1-11-s.js b/test/language/statements/with/12.10.1-11-s.js index 5d03b9f6e7..1b4e2e1f3e 100644 --- a/test/language/statements/with/12.10.1-11-s.js +++ b/test/language/statements/with/12.10.1-11-s.js @@ -7,16 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when using WithStatement in strict mode code flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("with ({}) { throw new Error();}"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +assert.throws(SyntaxError, function() { + eval("with ({}) { throw new Error();}"); +}); diff --git a/test/language/statements/with/12.10.1-12-s.js b/test/language/statements/with/12.10.1-12-s.js index c6a1cc6c0d..fe450fac80 100644 --- a/test/language/statements/with/12.10.1-12-s.js +++ b/test/language/statements/with/12.10.1-12-s.js @@ -5,20 +5,13 @@ es5id: 12.10.1-12-s description: with statement in strict mode throws SyntaxError (strict eval) flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("\ 'use strict'; \ var o = {}; \ with (o) {}\ "); - return false; - } - catch (e) { - return (e instanceof SyntaxError) ; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/with/12.10.1-14-s.js b/test/language/statements/with/12.10.1-14-s.js index 0078f12366..8c825e74b8 100644 --- a/test/language/statements/with/12.10.1-14-s.js +++ b/test/language/statements/with/12.10.1-14-s.js @@ -7,16 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when the getter of a literal object utilizes WithStatement flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var obj = { get(a) { with(a){} } }; "); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +assert.throws(SyntaxError, function() { + eval("var obj = { get(a) { with(a){} } }; "); +}); diff --git a/test/language/statements/with/12.10.1-15-s.js b/test/language/statements/with/12.10.1-15-s.js index 7191936831..b552a9a762 100644 --- a/test/language/statements/with/12.10.1-15-s.js +++ b/test/language/statements/with/12.10.1-15-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when the RHS of a dot property assignment utilizes WithStatement flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("var obj = {}; obj.get = function (a) { with(a){} }; "); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/with/12.10.1-16-s.js b/test/language/statements/with/12.10.1-16-s.js index 4bbd2d22bc..5fe63c58fa 100644 --- a/test/language/statements/with/12.10.1-16-s.js +++ b/test/language/statements/with/12.10.1-16-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when the RHS of an object indexer assignment utilizes WithStatement flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("var obj = {}; obj['get'] = function (a) { with(a){} }; "); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/with/12.10.1-2-s.js b/test/language/statements/with/12.10.1-2-s.js index 1fab7fe6d7..639f81413f 100644 --- a/test/language/statements/with/12.10.1-2-s.js +++ b/test/language/statements/with/12.10.1-2-s.js @@ -7,11 +7,10 @@ description: > with statement in strict mode throws SyntaxError (nested function where container is strict) flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { // wrapping it in eval since this needs to be a syntax error. The // exception thrown must be a SyntaxError exception. eval("\ @@ -23,10 +22,4 @@ function testcase() { }\ }\ "); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/with/12.10.1-3-s.js b/test/language/statements/with/12.10.1-3-s.js index 1a186ff2dc..922d035960 100644 --- a/test/language/statements/with/12.10.1-3-s.js +++ b/test/language/statements/with/12.10.1-3-s.js @@ -7,11 +7,10 @@ description: > with statement in strict mode throws SyntaxError (nested strict function) flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { // wrapping it in eval since this needs to be a syntax error. The // exception thrown must be a SyntaxError exception. eval("\ @@ -23,10 +22,4 @@ function testcase() { }\ }\ "); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/with/12.10.1-4-s.js b/test/language/statements/with/12.10.1-4-s.js index 0a1a151fc7..04a25d49fb 100644 --- a/test/language/statements/with/12.10.1-4-s.js +++ b/test/language/statements/with/12.10.1-4-s.js @@ -5,21 +5,13 @@ es5id: 12.10.1-4-s description: with statement in strict mode throws SyntaxError (strict Function) flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { var f = Function("\ \'use strict\'; \ var o = {}; \ with (o) {};\ "); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/with/12.10.1-7-s.js b/test/language/statements/with/12.10.1-7-s.js index d51fb00137..35d562653d 100644 --- a/test/language/statements/with/12.10.1-7-s.js +++ b/test/language/statements/with/12.10.1-7-s.js @@ -8,20 +8,13 @@ description: > expression, where the container function is directly evaled from strict code) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("var f = function () {\ var o = {}; \ with (o) {}; \ }\ "); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/with/12.10.1-8-s.js b/test/language/statements/with/12.10.1-8-s.js index 54779f38ce..3e1a8f5222 100644 --- a/test/language/statements/with/12.10.1-8-s.js +++ b/test/language/statements/with/12.10.1-8-s.js @@ -7,11 +7,10 @@ description: > with statement in strict mode throws SyntaxError (function expression, where the container Function is strict) flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { Function("\ \'use strict\'; \ var f1 = function () {\ @@ -19,10 +18,4 @@ function testcase() { with (o) {}; \ }\ "); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/statements/with/12.10.1-9-s.js b/test/language/statements/with/12.10.1-9-s.js index d04d1f9079..614c0d6439 100644 --- a/test/language/statements/with/12.10.1-9-s.js +++ b/test/language/statements/with/12.10.1-9-s.js @@ -7,11 +7,10 @@ description: > with statement in strict mode throws SyntaxError (strict function expression) flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("\ var f = function () {\ \'use strict\';\ @@ -19,10 +18,4 @@ function testcase() { with (o) {}; \ }\ "); - return false; - } - catch (e) { - return (e instanceof SyntaxError) ; - } - } -runTestCase(testcase); +}); From 1f97345668236508d8148f28fece4f4a190a6543 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Bargull?= Date: Tue, 11 Aug 2015 17:43:21 +0200 Subject: [PATCH 3/6] Replace runTestCase with assert.throws [test/language/] --- test/language/arguments-object/10.5-1-s.js | 12 +++--------- test/language/arguments-object/10.5-7-b-1-s.js | 12 +++--------- test/language/arguments-object/10.6-13-b-1-s.js | 14 +++----------- test/language/arguments-object/10.6-13-c-1-s.js | 14 +++----------- test/language/arguments-object/10.6-14-b-4-s.js | 12 ++---------- test/language/arguments-object/10.6-14-c-4-s.js | 12 ++---------- test/language/directive-prologue/10.1.1-25-s.js | 12 +++--------- test/language/directive-prologue/10.1.1-30-s.js | 12 +++--------- .../future-reserved-words/7.6.1-17-s.js | 13 +++---------- .../future-reserved-words/7.6.1-18-s.js | 14 ++++---------- .../future-reserved-words/7.6.1-19-s.js | 14 ++++---------- .../future-reserved-words/7.6.1-20-s.js | 14 ++++---------- .../future-reserved-words/7.6.1-21-s.js | 14 ++++---------- .../future-reserved-words/7.6.1-22-s.js | 14 ++++---------- .../future-reserved-words/7.6.1-23-s.js | 14 ++++---------- .../future-reserved-words/7.6.1-24-s.js | 14 ++++---------- .../future-reserved-words/7.6.1-25-s.js | 14 ++++---------- .../future-reserved-words/7.6.1.2-1-s.js | 14 ++++---------- .../future-reserved-words/7.6.1.2-2-s.js | 14 ++++---------- .../future-reserved-words/7.6.1.2-3-s.js | 14 ++++---------- .../future-reserved-words/7.6.1.2-4-s.js | 14 ++++---------- .../future-reserved-words/7.6.1.2-5-s.js | 14 ++++---------- .../future-reserved-words/7.6.1.2-6-s.js | 14 ++++---------- .../future-reserved-words/7.6.1.2-7-s.js | 14 ++++---------- .../future-reserved-words/7.6.1.2-8-s.js | 14 ++++---------- .../future-reserved-words/7.6.1.2-9-s.js | 14 ++++---------- test/language/line-terminators/7.3-10.js | 14 ++++---------- test/language/line-terminators/7.3-3.js | 14 ++++---------- test/language/line-terminators/7.3-4.js | 14 ++++---------- test/language/line-terminators/7.3-7.js | 14 ++++---------- test/language/line-terminators/7.3-8.js | 14 ++++---------- test/language/line-terminators/7.3-9.js | 14 ++++---------- test/language/literals/regexp/7.8.5-1.js | 14 ++++---------- test/language/literals/string/7.8.4-1-s.js | 17 ++++------------- test/language/literals/string/7.8.4-10-s.js | 17 ++++------------- test/language/literals/string/7.8.4-11-s.js | 17 ++++------------- test/language/literals/string/7.8.4-12-s.js | 17 ++++------------- test/language/literals/string/7.8.4-13-s.js | 17 ++++------------- test/language/literals/string/7.8.4-14-s.js | 17 ++++------------- test/language/literals/string/7.8.4-15-s.js | 17 ++++------------- test/language/literals/string/7.8.4-16-s.js | 17 ++++------------- test/language/literals/string/7.8.4-17-s.js | 17 ++++------------- test/language/literals/string/7.8.4-18-s.js | 17 ++++------------- test/language/literals/string/7.8.4-19-s.js | 17 ++++------------- test/language/literals/string/7.8.4-2-s.js | 17 ++++------------- test/language/literals/string/7.8.4-20-s.js | 17 ++++------------- test/language/literals/string/7.8.4-21-s.js | 17 ++++------------- test/language/literals/string/7.8.4-22-s.js | 17 ++++------------- test/language/literals/string/7.8.4-23-s.js | 17 ++++------------- test/language/literals/string/7.8.4-24-s.js | 17 ++++------------- test/language/literals/string/7.8.4-25-s.js | 17 ++++------------- test/language/literals/string/7.8.4-26-s.js | 17 ++++------------- test/language/literals/string/7.8.4-27-s.js | 17 ++++------------- test/language/literals/string/7.8.4-28-s.js | 17 ++++------------- test/language/literals/string/7.8.4-29-s.js | 17 ++++------------- test/language/literals/string/7.8.4-3-s.js | 17 ++++------------- test/language/literals/string/7.8.4-30-s.js | 17 ++++------------- test/language/literals/string/7.8.4-31-s.js | 17 ++++------------- test/language/literals/string/7.8.4-32-s.js | 17 ++++------------- test/language/literals/string/7.8.4-33-s.js | 17 ++++------------- test/language/literals/string/7.8.4-4-s.js | 17 ++++------------- test/language/literals/string/7.8.4-5-s.js | 17 ++++------------- test/language/literals/string/7.8.4-6-s.js | 17 ++++------------- test/language/literals/string/7.8.4-7-s.js | 17 ++++------------- test/language/literals/string/7.8.4-8-s.js | 17 ++++------------- test/language/literals/string/7.8.4-9-s.js | 17 ++++------------- test/language/types/reference/8.7.2-1-s.js | 12 +++--------- test/language/types/reference/8.7.2-3-s.js | 12 ++---------- test/language/types/reference/8.7.2-4-s.js | 12 ++---------- test/language/types/reference/8.7.2-5-s.js | 12 ++---------- 70 files changed, 262 insertions(+), 796 deletions(-) diff --git a/test/language/arguments-object/10.5-1-s.js b/test/language/arguments-object/10.5-1-s.js index bd88ae9f32..7123cdbed6 100644 --- a/test/language/arguments-object/10.5-1-s.js +++ b/test/language/arguments-object/10.5-1-s.js @@ -5,17 +5,11 @@ es5id: 10.5-1-s description: Strict Mode - arguments object is immutable flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { (function fun() { eval("arguments = 10"); })(30); - return false; - } catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/arguments-object/10.5-7-b-1-s.js b/test/language/arguments-object/10.5-7-b-1-s.js index 48da093b19..e02db4dd87 100644 --- a/test/language/arguments-object/10.5-7-b-1-s.js +++ b/test/language/arguments-object/10.5-7-b-1-s.js @@ -5,15 +5,9 @@ es5id: 10.5-7-b-1-s description: Strict Mode - arguments object is immutable in eval'ed functions flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { eval("(function _10_5_7_b_1_fun() { arguments = 10;} ());"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/arguments-object/10.6-13-b-1-s.js b/test/language/arguments-object/10.6-13-b-1-s.js index b590b2b1ff..efa479cf3f 100644 --- a/test/language/arguments-object/10.6-13-b-1-s.js +++ b/test/language/arguments-object/10.6-13-b-1-s.js @@ -7,17 +7,9 @@ description: > Accessing caller property of Arguments object throws TypeError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try - { + +assert.throws(TypeError, function() { arguments.caller; - } - catch (e) { - if(e instanceof TypeError) - return true; - } - } -runTestCase(testcase); +}); diff --git a/test/language/arguments-object/10.6-13-c-1-s.js b/test/language/arguments-object/10.6-13-c-1-s.js index 88c3187c62..aa4b245adb 100644 --- a/test/language/arguments-object/10.6-13-c-1-s.js +++ b/test/language/arguments-object/10.6-13-c-1-s.js @@ -7,17 +7,9 @@ description: > Accessing callee property of Arguments object throws TypeError in strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try - { + +assert.throws(TypeError, function() { arguments.callee; - return false; - } - catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/arguments-object/10.6-14-b-4-s.js b/test/language/arguments-object/10.6-14-b-4-s.js index bc0da52882..2ac9023bb9 100644 --- a/test/language/arguments-object/10.6-14-b-4-s.js +++ b/test/language/arguments-object/10.6-14-b-4-s.js @@ -7,19 +7,11 @@ description: > Strict Mode - TypeError is thrown when accessing the [[Set]] attribute in 'caller' under strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var argObj = function () { return arguments; } (); - - try { +assert.throws(TypeError, function() { argObj.caller = {}; - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/arguments-object/10.6-14-c-4-s.js b/test/language/arguments-object/10.6-14-c-4-s.js index 4d7c42220e..fbd4b15501 100644 --- a/test/language/arguments-object/10.6-14-c-4-s.js +++ b/test/language/arguments-object/10.6-14-c-4-s.js @@ -7,19 +7,11 @@ description: > Strict Mode - TypeError is thrown when accessing the [[Set]] attribute in 'callee' under strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var argObj = function () { return arguments; } (); - - try { +assert.throws(TypeError, function() { argObj.callee = {}; - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/directive-prologue/10.1.1-25-s.js b/test/language/directive-prologue/10.1.1-25-s.js index 85d0ea15e3..e726cd7f81 100644 --- a/test/language/directive-prologue/10.1.1-25-s.js +++ b/test/language/directive-prologue/10.1.1-25-s.js @@ -8,11 +8,10 @@ description: > contains Use Strict Directive which appears at the start of the block(getter) flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { var obj = {}; Object.defineProperty(obj, "accProperty", { get: function () { @@ -22,9 +21,4 @@ function testcase() { } }); var temp = obj.accProperty === 11; - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/directive-prologue/10.1.1-30-s.js b/test/language/directive-prologue/10.1.1-30-s.js index ae39d87cce..cd5b01f0a2 100644 --- a/test/language/directive-prologue/10.1.1-30-s.js +++ b/test/language/directive-prologue/10.1.1-30-s.js @@ -8,16 +8,10 @@ description: > contains Use Strict Directive which appears at the start of the block flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { var funObj = new Function("a", "'use strict'; eval('public = 1;');"); funObj(); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/future-reserved-words/7.6.1-17-s.js b/test/language/future-reserved-words/7.6.1-17-s.js index c4c6a0c5bb..114a6beca9 100644 --- a/test/language/future-reserved-words/7.6.1-17-s.js +++ b/test/language/future-reserved-words/7.6.1-17-s.js @@ -7,16 +7,9 @@ description: > 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: implements (implements) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var \u0069mplements = 123;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); +assert.throws(SyntaxError, function() { + eval("var \u0069mplements = 123;"); +}); diff --git a/test/language/future-reserved-words/7.6.1-18-s.js b/test/language/future-reserved-words/7.6.1-18-s.js index 1b9d7b8747..0512a03ad9 100644 --- a/test/language/future-reserved-words/7.6.1-18-s.js +++ b/test/language/future-reserved-words/7.6.1-18-s.js @@ -7,15 +7,9 @@ description: > 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: l\u0065t (let) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var l\u0065t = 123;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var l\u0065t = 123;"); +}); diff --git a/test/language/future-reserved-words/7.6.1-19-s.js b/test/language/future-reserved-words/7.6.1-19-s.js index 7a93868842..c3c33f5503 100644 --- a/test/language/future-reserved-words/7.6.1-19-s.js +++ b/test/language/future-reserved-words/7.6.1-19-s.js @@ -7,15 +7,9 @@ description: > 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: privat\u0065 (private) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var privat\u0065 = 123;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var privat\u0065 = 123;"); +}); diff --git a/test/language/future-reserved-words/7.6.1-20-s.js b/test/language/future-reserved-words/7.6.1-20-s.js index 355293f23c..e0b1db3653 100644 --- a/test/language/future-reserved-words/7.6.1-20-s.js +++ b/test/language/future-reserved-words/7.6.1-20-s.js @@ -7,15 +7,9 @@ description: > 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: \u0070\u0075\u0062\u006c\u0069\u0063 (public) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var \u0070\u0075\u0062\u006c\u0069\u0063 = 123;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var \u0070\u0075\u0062\u006c\u0069\u0063 = 123;"); +}); diff --git a/test/language/future-reserved-words/7.6.1-21-s.js b/test/language/future-reserved-words/7.6.1-21-s.js index 3052cda095..c37c35c1a0 100644 --- a/test/language/future-reserved-words/7.6.1-21-s.js +++ b/test/language/future-reserved-words/7.6.1-21-s.js @@ -7,15 +7,9 @@ description: > 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: \u0079ield (yield) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var \u0079ield = 123;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var \u0079ield = 123;"); +}); diff --git a/test/language/future-reserved-words/7.6.1-22-s.js b/test/language/future-reserved-words/7.6.1-22-s.js index 290f867789..0bca6b3f5d 100644 --- a/test/language/future-reserved-words/7.6.1-22-s.js +++ b/test/language/future-reserved-words/7.6.1-22-s.js @@ -7,15 +7,9 @@ description: > 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: inte\u0072face (interface) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var inte\u0072face = 123;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var inte\u0072face = 123;"); +}); diff --git a/test/language/future-reserved-words/7.6.1-23-s.js b/test/language/future-reserved-words/7.6.1-23-s.js index 7514efbf5b..72ecb0c481 100644 --- a/test/language/future-reserved-words/7.6.1-23-s.js +++ b/test/language/future-reserved-words/7.6.1-23-s.js @@ -7,15 +7,9 @@ description: > 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: packag\u0065 (package) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var packag\u0065 = 123;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var packag\u0065 = 123;"); +}); diff --git a/test/language/future-reserved-words/7.6.1-24-s.js b/test/language/future-reserved-words/7.6.1-24-s.js index df90c3f272..d422e14b7b 100644 --- a/test/language/future-reserved-words/7.6.1-24-s.js +++ b/test/language/future-reserved-words/7.6.1-24-s.js @@ -8,15 +8,9 @@ description: > Names in UTF8: \u0070\u0072\u006f\u0074\u0065\u0063\u0074\u0065\u0064 (protected) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var \u0070\u0072\u006f\u0074\u0065\u0063\u0074\u0065\u0064 = 123;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var \u0070\u0072\u006f\u0074\u0065\u0063\u0074\u0065\u0064 = 123;"); +}); diff --git a/test/language/future-reserved-words/7.6.1-25-s.js b/test/language/future-reserved-words/7.6.1-25-s.js index 9003e3aec8..47efc0d07c 100644 --- a/test/language/future-reserved-words/7.6.1-25-s.js +++ b/test/language/future-reserved-words/7.6.1-25-s.js @@ -7,15 +7,9 @@ description: > 7.6 - SyntaxError expected: reserved words used as Identifier Names in UTF8: \u0073\u0074\u0061\u0074\u0069\u0063 (static) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var \u0073\u0074\u0061\u0074\u0069\u0063 = 123;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var \u0073\u0074\u0061\u0074\u0069\u0063 = 123;"); +}); diff --git a/test/language/future-reserved-words/7.6.1.2-1-s.js b/test/language/future-reserved-words/7.6.1.2-1-s.js index d5018237d3..85f9b58b5d 100644 --- a/test/language/future-reserved-words/7.6.1.2-1-s.js +++ b/test/language/future-reserved-words/7.6.1.2-1-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when FutureReservedWord 'implements' occurs in strict mode code flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var implements = 1;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var implements = 1;"); +}); diff --git a/test/language/future-reserved-words/7.6.1.2-2-s.js b/test/language/future-reserved-words/7.6.1.2-2-s.js index eacb04891c..0c2ac187ac 100644 --- a/test/language/future-reserved-words/7.6.1.2-2-s.js +++ b/test/language/future-reserved-words/7.6.1.2-2-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when FutureReservedWord 'let' occurs in strict mode code flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var let = 1;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var let = 1;"); +}); diff --git a/test/language/future-reserved-words/7.6.1.2-3-s.js b/test/language/future-reserved-words/7.6.1.2-3-s.js index eccde41735..27c338641a 100644 --- a/test/language/future-reserved-words/7.6.1.2-3-s.js +++ b/test/language/future-reserved-words/7.6.1.2-3-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when FutureReservedWord 'private' occurs in strict mode code flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var private = 1;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var private = 1;"); +}); diff --git a/test/language/future-reserved-words/7.6.1.2-4-s.js b/test/language/future-reserved-words/7.6.1.2-4-s.js index 4cd3556e80..b215af858c 100644 --- a/test/language/future-reserved-words/7.6.1.2-4-s.js +++ b/test/language/future-reserved-words/7.6.1.2-4-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when FutureReservedWord 'public' occurs in strict mode code flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var public = 1;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var public = 1;"); +}); diff --git a/test/language/future-reserved-words/7.6.1.2-5-s.js b/test/language/future-reserved-words/7.6.1.2-5-s.js index 5e7b0eea94..aa2d106b46 100644 --- a/test/language/future-reserved-words/7.6.1.2-5-s.js +++ b/test/language/future-reserved-words/7.6.1.2-5-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when FutureReservedWord 'yield' occurs in strict mode code flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var yield = 1;") - return false; - } catch (e) { - return e instanceof SyntaxError; - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var yield = 1;") +}); diff --git a/test/language/future-reserved-words/7.6.1.2-6-s.js b/test/language/future-reserved-words/7.6.1.2-6-s.js index ed8a7affa4..01c84246e0 100644 --- a/test/language/future-reserved-words/7.6.1.2-6-s.js +++ b/test/language/future-reserved-words/7.6.1.2-6-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when FutureReservedWord 'interface' occurs in strict mode code flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var interface = 1;") - return false; - } catch (e) { - return e instanceof SyntaxError; - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var interface = 1;") +}); diff --git a/test/language/future-reserved-words/7.6.1.2-7-s.js b/test/language/future-reserved-words/7.6.1.2-7-s.js index 6b3c4b9817..f074d35420 100644 --- a/test/language/future-reserved-words/7.6.1.2-7-s.js +++ b/test/language/future-reserved-words/7.6.1.2-7-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when FutureReservedWord 'package' occurs in strict mode code flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var package = 1;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var package = 1;"); +}); diff --git a/test/language/future-reserved-words/7.6.1.2-8-s.js b/test/language/future-reserved-words/7.6.1.2-8-s.js index fdc92ecb68..6e08bd214a 100644 --- a/test/language/future-reserved-words/7.6.1.2-8-s.js +++ b/test/language/future-reserved-words/7.6.1.2-8-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when FutureReservedWord 'protected' occurs in strict mode code flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var protected = 1;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var protected = 1;"); +}); diff --git a/test/language/future-reserved-words/7.6.1.2-9-s.js b/test/language/future-reserved-words/7.6.1.2-9-s.js index 4fe80505bb..0354bd57d8 100644 --- a/test/language/future-reserved-words/7.6.1.2-9-s.js +++ b/test/language/future-reserved-words/7.6.1.2-9-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - SyntaxError is thrown when FutureReservedWord 'static' occurs in strict mode code flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var static = 1;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var static = 1;"); +}); diff --git a/test/language/line-terminators/7.3-10.js b/test/language/line-terminators/7.3-10.js index d70a321947..91ed519db9 100644 --- a/test/language/line-terminators/7.3-10.js +++ b/test/language/line-terminators/7.3-10.js @@ -6,15 +6,9 @@ es5id: 7.3-10 description: > 7.3 - ES5 recognizes the character (\u2029) as a NonEscapeCharacter -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var prop = \\u2029;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var prop = \\u2029;"); +}); diff --git a/test/language/line-terminators/7.3-3.js b/test/language/line-terminators/7.3-3.js index ff7bd8cb6a..1e176b8580 100644 --- a/test/language/line-terminators/7.3-3.js +++ b/test/language/line-terminators/7.3-3.js @@ -6,15 +6,9 @@ es5id: 7.3-3 description: > 7.3 - ES5 recognizes the character (\u2028) as terminating SingleLineComments -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("//Single Line Comments\u2028 var =;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("//Single Line Comments\u2028 var =;"); +}); diff --git a/test/language/line-terminators/7.3-4.js b/test/language/line-terminators/7.3-4.js index 6450c77ad5..b882828e56 100644 --- a/test/language/line-terminators/7.3-4.js +++ b/test/language/line-terminators/7.3-4.js @@ -6,15 +6,9 @@ es5id: 7.3-4 description: > 7.3 - ES5 recognizes the character (\u2029) as terminating SingleLineComments -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("//Single Line Comments\u2029 var =;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("//Single Line Comments\u2029 var =;"); +}); diff --git a/test/language/line-terminators/7.3-7.js b/test/language/line-terminators/7.3-7.js index 3a1a65a590..ceff108155 100644 --- a/test/language/line-terminators/7.3-7.js +++ b/test/language/line-terminators/7.3-7.js @@ -6,15 +6,9 @@ es5id: 7.3-7 description: > 7.3 - ES5 recognizes the character (\u2028) as terminating regular expression literals -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var regExp = /[\u2028]/"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var regExp = /[\u2028]/"); +}); diff --git a/test/language/line-terminators/7.3-8.js b/test/language/line-terminators/7.3-8.js index 28ae25916b..2d1160e70f 100644 --- a/test/language/line-terminators/7.3-8.js +++ b/test/language/line-terminators/7.3-8.js @@ -6,15 +6,9 @@ es5id: 7.3-8 description: > 7.3 - ES5 recognizes the character (\u2029) as terminating regular expression literals -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var regExp = /[\u2029]/"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var regExp = /[\u2029]/"); +}); diff --git a/test/language/line-terminators/7.3-9.js b/test/language/line-terminators/7.3-9.js index 49a55382c8..55645b1fe2 100644 --- a/test/language/line-terminators/7.3-9.js +++ b/test/language/line-terminators/7.3-9.js @@ -6,15 +6,9 @@ es5id: 7.3-9 description: > 7.3 - ES5 recognizes the character (\u2028) as a NonEscapeCharacter -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var prop = \\u2028;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var prop = \\u2028;"); +}); diff --git a/test/language/literals/regexp/7.8.5-1.js b/test/language/literals/regexp/7.8.5-1.js index 78ed6df684..5e37755d82 100644 --- a/test/language/literals/regexp/7.8.5-1.js +++ b/test/language/literals/regexp/7.8.5-1.js @@ -7,15 +7,9 @@ description: > Literal RegExp Objects - SyntaxError exception is thrown if the RegularExpressionNonTerminator position of a RegularExpressionBackslashSequence is a LineTerminator. -includes: [runTestCase.js] ---*/ -function testcase() { - try { - eval("var regExp = /\\\rn/;"); - return false; - } catch (e) { - return e instanceof SyntaxError; - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval("var regExp = /\\\rn/;"); +}); diff --git a/test/language/literals/string/7.8.4-1-s.js b/test/language/literals/string/7.8.4-1-s.js index 27ce14ca70..b28c833069 100644 --- a/test/language/literals/string/7.8.4-1-s.js +++ b/test/language/literals/string/7.8.4-1-s.js @@ -6,18 +6,9 @@ es5id: 7.8.4-1-s description: > A directive preceeding an 'use strict' directive may not contain an OctalEscapeSequence -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval(' "asterisk: \\052" /* octal escape sequences forbidden in strict mode*/ ; "use strict";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval(' "asterisk: \\052" /* octal escape sequences forbidden in strict mode*/ ; "use strict";'); +}); diff --git a/test/language/literals/string/7.8.4-10-s.js b/test/language/literals/string/7.8.4-10-s.js index b794457f2a..3017105e1f 100644 --- a/test/language/literals/string/7.8.4-10-s.js +++ b/test/language/literals/string/7.8.4-10-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-10-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = " \\10 ";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = " \\10 ";'); +}); diff --git a/test/language/literals/string/7.8.4-11-s.js b/test/language/literals/string/7.8.4-11-s.js index 2d9b2762d4..5951af19ae 100644 --- a/test/language/literals/string/7.8.4-11-s.js +++ b/test/language/literals/string/7.8.4-11-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-11-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\16";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\16";'); +}); diff --git a/test/language/literals/string/7.8.4-12-s.js b/test/language/literals/string/7.8.4-12-s.js index 39bb3ad9e4..f61136a835 100644 --- a/test/language/literals/string/7.8.4-12-s.js +++ b/test/language/literals/string/7.8.4-12-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-12-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\17";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\17";'); +}); diff --git a/test/language/literals/string/7.8.4-13-s.js b/test/language/literals/string/7.8.4-13-s.js index 828c061ab4..8b564b1bfa 100644 --- a/test/language/literals/string/7.8.4-13-s.js +++ b/test/language/literals/string/7.8.4-13-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-13-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\30";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\30";'); +}); diff --git a/test/language/literals/string/7.8.4-14-s.js b/test/language/literals/string/7.8.4-14-s.js index 575d1f12d5..5cc403611b 100644 --- a/test/language/literals/string/7.8.4-14-s.js +++ b/test/language/literals/string/7.8.4-14-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-14-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\31";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\31";'); +}); diff --git a/test/language/literals/string/7.8.4-15-s.js b/test/language/literals/string/7.8.4-15-s.js index 129fb9d1b9..ed0bd5971b 100644 --- a/test/language/literals/string/7.8.4-15-s.js +++ b/test/language/literals/string/7.8.4-15-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-15-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\37";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\37";'); +}); diff --git a/test/language/literals/string/7.8.4-16-s.js b/test/language/literals/string/7.8.4-16-s.js index e83d7a05d0..8f12c52335 100644 --- a/test/language/literals/string/7.8.4-16-s.js +++ b/test/language/literals/string/7.8.4-16-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-16-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\400";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\400";'); +}); diff --git a/test/language/literals/string/7.8.4-17-s.js b/test/language/literals/string/7.8.4-17-s.js index 9876a5d1ce..6941de1e85 100644 --- a/test/language/literals/string/7.8.4-17-s.js +++ b/test/language/literals/string/7.8.4-17-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-17-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\411";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\411";'); +}); diff --git a/test/language/literals/string/7.8.4-18-s.js b/test/language/literals/string/7.8.4-18-s.js index ebd8582cda..274ab6874b 100644 --- a/test/language/literals/string/7.8.4-18-s.js +++ b/test/language/literals/string/7.8.4-18-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-18-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\43a";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\43a";'); +}); diff --git a/test/language/literals/string/7.8.4-19-s.js b/test/language/literals/string/7.8.4-19-s.js index afc2316c27..d2ccf58360 100644 --- a/test/language/literals/string/7.8.4-19-s.js +++ b/test/language/literals/string/7.8.4-19-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-19-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\463";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\463";'); +}); diff --git a/test/language/literals/string/7.8.4-2-s.js b/test/language/literals/string/7.8.4-2-s.js index 835ca46bd2..6c20f94641 100644 --- a/test/language/literals/string/7.8.4-2-s.js +++ b/test/language/literals/string/7.8.4-2-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-2-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\1";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\1";'); +}); diff --git a/test/language/literals/string/7.8.4-20-s.js b/test/language/literals/string/7.8.4-20-s.js index ad5ac5fe56..1294acb063 100644 --- a/test/language/literals/string/7.8.4-20-s.js +++ b/test/language/literals/string/7.8.4-20-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-20-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\474";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\474";'); +}); diff --git a/test/language/literals/string/7.8.4-21-s.js b/test/language/literals/string/7.8.4-21-s.js index 8a69f30c53..49ba276d90 100644 --- a/test/language/literals/string/7.8.4-21-s.js +++ b/test/language/literals/string/7.8.4-21-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-21-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\77";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\77";'); +}); diff --git a/test/language/literals/string/7.8.4-22-s.js b/test/language/literals/string/7.8.4-22-s.js index de4bff9c53..4bba3fa449 100644 --- a/test/language/literals/string/7.8.4-22-s.js +++ b/test/language/literals/string/7.8.4-22-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-22-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\777";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\777";'); +}); diff --git a/test/language/literals/string/7.8.4-23-s.js b/test/language/literals/string/7.8.4-23-s.js index c083385203..56ede23c3a 100644 --- a/test/language/literals/string/7.8.4-23-s.js +++ b/test/language/literals/string/7.8.4-23-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-23-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\000";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\000";'); +}); diff --git a/test/language/literals/string/7.8.4-24-s.js b/test/language/literals/string/7.8.4-24-s.js index adfd4d5744..401c59d9db 100644 --- a/test/language/literals/string/7.8.4-24-s.js +++ b/test/language/literals/string/7.8.4-24-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-24-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\001";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\001";'); +}); diff --git a/test/language/literals/string/7.8.4-25-s.js b/test/language/literals/string/7.8.4-25-s.js index c8f398569c..c6bc83cffc 100644 --- a/test/language/literals/string/7.8.4-25-s.js +++ b/test/language/literals/string/7.8.4-25-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-25-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\106";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\106";'); +}); diff --git a/test/language/literals/string/7.8.4-26-s.js b/test/language/literals/string/7.8.4-26-s.js index 9299663fb6..a350166d7a 100644 --- a/test/language/literals/string/7.8.4-26-s.js +++ b/test/language/literals/string/7.8.4-26-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-26-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\207";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\207";'); +}); diff --git a/test/language/literals/string/7.8.4-27-s.js b/test/language/literals/string/7.8.4-27-s.js index ff8ab93d8d..9a1c6ad828 100644 --- a/test/language/literals/string/7.8.4-27-s.js +++ b/test/language/literals/string/7.8.4-27-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-27-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\377";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\377";'); +}); diff --git a/test/language/literals/string/7.8.4-28-s.js b/test/language/literals/string/7.8.4-28-s.js index 1a1175ece7..c0729ad573 100644 --- a/test/language/literals/string/7.8.4-28-s.js +++ b/test/language/literals/string/7.8.4-28-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-28-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\376";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\376";'); +}); diff --git a/test/language/literals/string/7.8.4-29-s.js b/test/language/literals/string/7.8.4-29-s.js index 1814443ef8..e0ef1906ac 100644 --- a/test/language/literals/string/7.8.4-29-s.js +++ b/test/language/literals/string/7.8.4-29-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-29-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\3760";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } -} -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\3760";'); +}); diff --git a/test/language/literals/string/7.8.4-3-s.js b/test/language/literals/string/7.8.4-3-s.js index 0b8906e0ae..7c37c0e242 100644 --- a/test/language/literals/string/7.8.4-3-s.js +++ b/test/language/literals/string/7.8.4-3-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-3-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "a\\4";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "a\\4";'); +}); diff --git a/test/language/literals/string/7.8.4-30-s.js b/test/language/literals/string/7.8.4-30-s.js index 6c8069c3e5..3d9c1debba 100644 --- a/test/language/literals/string/7.8.4-30-s.js +++ b/test/language/literals/string/7.8.4-30-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-30-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\' + '1";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\' + '1";'); +}); diff --git a/test/language/literals/string/7.8.4-31-s.js b/test/language/literals/string/7.8.4-31-s.js index 6dcd4a2917..f4c3a2fc23 100644 --- a/test/language/literals/string/7.8.4-31-s.js +++ b/test/language/literals/string/7.8.4-31-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-31-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\" + "1";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\" + "1";'); +}); diff --git a/test/language/literals/string/7.8.4-32-s.js b/test/language/literals/string/7.8.4-32-s.js index 7835690bd5..763452a640 100644 --- a/test/language/literals/string/7.8.4-32-s.js +++ b/test/language/literals/string/7.8.4-32-s.js @@ -7,18 +7,9 @@ description: > Two OctalEscapeSequences in a String are not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\1\\1";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\1\\1";'); +}); diff --git a/test/language/literals/string/7.8.4-33-s.js b/test/language/literals/string/7.8.4-33-s.js index d7c4ab29e1..dca45c7643 100644 --- a/test/language/literals/string/7.8.4-33-s.js +++ b/test/language/literals/string/7.8.4-33-s.js @@ -7,18 +7,9 @@ description: > Three OctalEscapeSequences in a String are not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\1\\2\\7";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\1\\2\\7";'); +}); diff --git a/test/language/literals/string/7.8.4-4-s.js b/test/language/literals/string/7.8.4-4-s.js index 3286cdc609..f5e6a074d4 100644 --- a/test/language/literals/string/7.8.4-4-s.js +++ b/test/language/literals/string/7.8.4-4-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-4-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "z\\7";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "z\\7";'); +}); diff --git a/test/language/literals/string/7.8.4-5-s.js b/test/language/literals/string/7.8.4-5-s.js index 5fe162f90b..1461207647 100644 --- a/test/language/literals/string/7.8.4-5-s.js +++ b/test/language/literals/string/7.8.4-5-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-5-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\00a";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\00a";'); +}); diff --git a/test/language/literals/string/7.8.4-6-s.js b/test/language/literals/string/7.8.4-6-s.js index a0c59b147c..0aafa302b8 100644 --- a/test/language/literals/string/7.8.4-6-s.js +++ b/test/language/literals/string/7.8.4-6-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-6-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\01z";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\01z";'); +}); diff --git a/test/language/literals/string/7.8.4-7-s.js b/test/language/literals/string/7.8.4-7-s.js index 31367bb44c..19ddade403 100644 --- a/test/language/literals/string/7.8.4-7-s.js +++ b/test/language/literals/string/7.8.4-7-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-7-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "a\\03z";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "a\\03z";'); +}); diff --git a/test/language/literals/string/7.8.4-8-s.js b/test/language/literals/string/7.8.4-8-s.js index aee66238a5..c1b0ce4e1f 100644 --- a/test/language/literals/string/7.8.4-8-s.js +++ b/test/language/literals/string/7.8.4-8-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-8-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = " \\06";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = " \\06";'); +}); diff --git a/test/language/literals/string/7.8.4-9-s.js b/test/language/literals/string/7.8.4-9-s.js index 3697a5f4de..6c491d0116 100644 --- a/test/language/literals/string/7.8.4-9-s.js +++ b/test/language/literals/string/7.8.4-9-s.js @@ -5,18 +5,9 @@ es5id: 7.8.4-9-s description: An OctalEscapeSequence is not allowed in a String under Strict Mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { - eval('var x = "\\07 ";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); + +assert.throws(SyntaxError, function() { + eval('var x = "\\07 ";'); +}); diff --git a/test/language/types/reference/8.7.2-1-s.js b/test/language/types/reference/8.7.2-1-s.js index d9d2901081..702e61b1df 100644 --- a/test/language/types/reference/8.7.2-1-s.js +++ b/test/language/types/reference/8.7.2-1-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - ReferenceError is thrown if LeftHandSide evaluates to an unresolvable Reference flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(ReferenceError, function() { eval("_8_7_2_1 = 11;"); - return false; - } catch (e) { - return e instanceof ReferenceError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/types/reference/8.7.2-3-s.js b/test/language/types/reference/8.7.2-3-s.js index c6471b43f1..cee92c58b1 100644 --- a/test/language/types/reference/8.7.2-3-s.js +++ b/test/language/types/reference/8.7.2-3-s.js @@ -7,20 +7,12 @@ description: > Strict Mode - TypeError is thrown if LeftHandSide is a reference to a non-writable data property flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var _8_7_2_3 = {}; Object.defineProperty(_8_7_2_3, "b", { writable: false }); - - try { +assert.throws(TypeError, function() { _8_7_2_3.b = 11; - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/types/reference/8.7.2-4-s.js b/test/language/types/reference/8.7.2-4-s.js index 899dcbf3fa..4a33f5543c 100644 --- a/test/language/types/reference/8.7.2-4-s.js +++ b/test/language/types/reference/8.7.2-4-s.js @@ -7,21 +7,13 @@ description: > Strict Mode - TypeError is thrown if LeftHandSide is a reference to an accessor property with no setter flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var _8_7_2_4 = {}; var _8_7_2_4_bValue = 1; Object.defineProperty(_8_7_2_4, "b", { get: function () { return _8_7_2_4_bValue; } }); - - try { +assert.throws(TypeError, function() { _8_7_2_4.b = 11; - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/language/types/reference/8.7.2-5-s.js b/test/language/types/reference/8.7.2-5-s.js index f5dc14a5bf..f7d41a4567 100644 --- a/test/language/types/reference/8.7.2-5-s.js +++ b/test/language/types/reference/8.7.2-5-s.js @@ -7,18 +7,10 @@ description: > Strict Mode - TypeError is thrown if LeftHandSide is a reference to a non-existent property of an non-extensible object flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { var _8_7_2_5 = {}; Object.preventExtensions(_8_7_2_5); - - try { +assert.throws(TypeError, function() { _8_7_2_5.b = 11; - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); From f3e919209c6011365e662633962699285254ae11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Bargull?= Date: Tue, 11 Aug 2015 17:43:48 +0200 Subject: [PATCH 4/6] Replace runTestCase with assert.throws [test/built-ins/Object] --- test/built-ins/Object/create/15.2.3.5-1-1.js | 11 ++------- test/built-ins/Object/create/15.2.3.5-1-3.js | 11 ++------- test/built-ins/Object/create/15.2.3.5-1-4.js | 11 ++------- test/built-ins/Object/create/15.2.3.5-1.js | 14 +++-------- .../built-ins/Object/create/15.2.3.5-4-258.js | 13 +++-------- .../built-ins/Object/create/15.2.3.5-4-259.js | 13 +++-------- test/built-ins/Object/create/15.2.3.5-4-26.js | 13 ++--------- .../built-ins/Object/create/15.2.3.5-4-260.js | 13 +++-------- .../built-ins/Object/create/15.2.3.5-4-261.js | 12 ++-------- .../built-ins/Object/create/15.2.3.5-4-262.js | 13 +++-------- test/built-ins/Object/create/15.2.3.5-4-27.js | 14 ++--------- .../built-ins/Object/create/15.2.3.5-4-293.js | 12 ++-------- .../built-ins/Object/create/15.2.3.5-4-294.js | 12 ++-------- .../built-ins/Object/create/15.2.3.5-4-295.js | 12 ++-------- .../built-ins/Object/create/15.2.3.5-4-296.js | 12 ++-------- .../built-ins/Object/create/15.2.3.5-4-297.js | 12 ++-------- test/built-ins/Object/create/15.2.3.5-4-3.js | 11 ++------- .../built-ins/Object/create/15.2.3.5-4-300.js | 15 +++--------- .../built-ins/Object/create/15.2.3.5-4-301.js | 12 ++-------- .../built-ins/Object/create/15.2.3.5-4-302.js | 12 ++-------- .../built-ins/Object/create/15.2.3.5-4-303.js | 12 ++-------- .../built-ins/Object/create/15.2.3.5-4-304.js | 12 ++-------- test/built-ins/Object/create/15.2.3.5-4-40.js | 15 ++++-------- test/built-ins/Object/create/15.2.3.5-4-41.js | 11 ++------- test/built-ins/Object/create/15.2.3.5-4-42.js | 12 ++-------- test/built-ins/Object/create/15.2.3.5-4-43.js | 12 ++-------- test/built-ins/Object/create/15.2.3.5-4-44.js | 11 ++------- test/built-ins/Object/create/15.2.3.5-4-45.js | 11 ++------- .../Object/defineProperties/15.2.3.7-1-1.js | 12 ++-------- .../Object/defineProperties/15.2.3.7-1-2.js | 12 ++-------- .../Object/defineProperties/15.2.3.7-1-3.js | 12 ++-------- .../Object/defineProperties/15.2.3.7-1-4.js | 12 ++-------- .../Object/defineProperties/15.2.3.7-1.js | 13 ++--------- .../Object/defineProperties/15.2.3.7-2-1.js | 12 ++-------- .../Object/defineProperties/15.2.3.7-2-2.js | 12 ++-------- .../Object/defineProperties/15.2.3.7-5-b-1.js | 14 +++-------- .../Object/defineProperties/15.2.3.7-5-b-2.js | 14 +++-------- .../defineProperties/15.2.3.7-5-b-218.js | 13 ++--------- .../defineProperties/15.2.3.7-5-b-219.js | 13 ++--------- .../defineProperties/15.2.3.7-5-b-220.js | 13 ++--------- .../defineProperties/15.2.3.7-5-b-221.js | 13 ++--------- .../defineProperties/15.2.3.7-5-b-222.js | 13 ++--------- .../defineProperties/15.2.3.7-5-b-253.js | 13 ++--------- .../defineProperties/15.2.3.7-5-b-254.js | 13 ++--------- .../defineProperties/15.2.3.7-5-b-255.js | 13 ++--------- .../defineProperties/15.2.3.7-5-b-256.js | 13 ++--------- .../defineProperties/15.2.3.7-5-b-257.js | 13 ++--------- .../defineProperties/15.2.3.7-5-b-261.js | 13 ++--------- .../defineProperties/15.2.3.7-5-b-262.js | 13 ++--------- .../defineProperties/15.2.3.7-5-b-263.js | 13 ++--------- .../defineProperties/15.2.3.7-5-b-264.js | 13 ++--------- .../Object/defineProperties/15.2.3.7-5-b-3.js | 14 +++-------- .../Object/defineProperties/15.2.3.7-5-b-4.js | 14 +++-------- .../Object/defineProperties/15.2.3.7-5-b-5.js | 14 +++-------- .../Object/defineProperties/15.2.3.7-6-a-1.js | 12 ++-------- .../defineProperties/15.2.3.7-6-a-10.js | 12 ++-------- .../defineProperties/15.2.3.7-6-a-112.js | 18 +++++---------- .../defineProperties/15.2.3.7-6-a-116.js | 14 ++--------- .../defineProperties/15.2.3.7-6-a-117.js | 14 ++--------- .../defineProperties/15.2.3.7-6-a-118.js | 15 +++--------- .../defineProperties/15.2.3.7-6-a-119.js | 14 ++--------- .../defineProperties/15.2.3.7-6-a-121.js | 15 +++--------- .../defineProperties/15.2.3.7-6-a-129.js | 14 +++-------- .../defineProperties/15.2.3.7-6-a-130.js | 14 +++-------- .../defineProperties/15.2.3.7-6-a-131.js | 14 +++-------- .../defineProperties/15.2.3.7-6-a-132.js | 15 +++--------- .../defineProperties/15.2.3.7-6-a-134.js | 14 +++-------- .../defineProperties/15.2.3.7-6-a-135.js | 14 +++-------- .../defineProperties/15.2.3.7-6-a-136.js | 14 +++-------- .../defineProperties/15.2.3.7-6-a-137.js | 14 +++-------- .../defineProperties/15.2.3.7-6-a-141.js | 14 +++-------- .../defineProperties/15.2.3.7-6-a-146.js | 16 ++++--------- .../defineProperties/15.2.3.7-6-a-148.js | 15 +++--------- .../defineProperties/15.2.3.7-6-a-149.js | 14 +++-------- .../defineProperties/15.2.3.7-6-a-152.js | 13 +++-------- .../defineProperties/15.2.3.7-6-a-153.js | 13 +++-------- .../defineProperties/15.2.3.7-6-a-158.js | 15 +++--------- .../defineProperties/15.2.3.7-6-a-160.js | 16 ++++--------- .../defineProperties/15.2.3.7-6-a-165.js | 18 +++++---------- .../defineProperties/15.2.3.7-6-a-166.js | 19 +++++---------- .../defineProperties/15.2.3.7-6-a-170.js | 19 +++++---------- .../defineProperties/15.2.3.7-6-a-175.js | 14 +++-------- .../defineProperties/15.2.3.7-6-a-184.js | 18 +++++---------- .../defineProperties/15.2.3.7-6-a-185.js | 19 ++++++--------- .../defineProperties/15.2.3.7-6-a-186.js | 13 +++-------- .../defineProperties/15.2.3.7-6-a-190.js | 13 +++-------- .../defineProperties/15.2.3.7-6-a-194.js | 13 +++-------- .../defineProperties/15.2.3.7-6-a-22.js | 12 ++-------- .../defineProperties/15.2.3.7-6-a-25.js | 13 +++-------- .../defineProperties/15.2.3.7-6-a-286.js | 18 +++++---------- .../defineProperties/15.2.3.7-6-a-287.js | 18 +++++---------- .../Object/defineProperties/15.2.3.7-6-a-3.js | 12 ++-------- .../Object/defineProperties/15.2.3.7-6-a-4.js | 12 ++-------- .../Object/defineProperties/15.2.3.7-6-a-7.js | 13 +++-------- .../Object/defineProperties/15.2.3.7-6-a-8.js | 13 +++-------- .../Object/defineProperties/15.2.3.7-6-a-9.js | 12 ++-------- .../Object/defineProperty/15.2.3.6-1-1.js | 11 ++------- .../Object/defineProperty/15.2.3.6-1-2.js | 11 ++------- .../Object/defineProperty/15.2.3.6-1-3.js | 11 ++------- .../Object/defineProperty/15.2.3.6-1-4.js | 11 ++------- .../Object/defineProperty/15.2.3.6-1.js | 13 ++--------- .../Object/defineProperty/15.2.3.6-2-47.js | 14 ++++------- .../Object/defineProperty/15.2.3.6-3-1.js | 16 +++---------- .../Object/defineProperty/15.2.3.6-3-10.js | 16 +++---------- .../Object/defineProperty/15.2.3.6-3-11.js | 16 +++---------- .../Object/defineProperty/15.2.3.6-3-12.js | 16 +++---------- .../Object/defineProperty/15.2.3.6-3-13.js | 16 +++---------- .../Object/defineProperty/15.2.3.6-3-14.js | 16 +++---------- .../Object/defineProperty/15.2.3.6-3-15.js | 13 ++--------- .../Object/defineProperty/15.2.3.6-3-16.js | 12 ++-------- .../Object/defineProperty/15.2.3.6-3-17.js | 12 ++-------- .../Object/defineProperty/15.2.3.6-3-18.js | 12 ++-------- .../Object/defineProperty/15.2.3.6-3-19.js | 12 ++-------- .../Object/defineProperty/15.2.3.6-3-2.js | 16 +++---------- .../Object/defineProperty/15.2.3.6-3-3.js | 16 +++---------- .../Object/defineProperty/15.2.3.6-3-4.js | 16 +++---------- .../Object/defineProperty/15.2.3.6-3-5.js | 16 +++---------- .../Object/defineProperty/15.2.3.6-3-6.js | 16 +++---------- .../Object/defineProperty/15.2.3.6-3-7.js | 16 +++---------- .../Object/defineProperty/15.2.3.6-3-8.js | 16 +++---------- .../Object/defineProperty/15.2.3.6-3-9.js | 16 +++---------- .../Object/defineProperty/15.2.3.6-4-1.js | 16 +++---------- .../Object/defineProperty/15.2.3.6-4-10.js | 21 ++++------------- .../Object/defineProperty/15.2.3.6-4-11.js | 21 ++++------------- .../Object/defineProperty/15.2.3.6-4-12.js | 22 +++++------------- .../Object/defineProperty/15.2.3.6-4-120.js | 12 ++-------- .../Object/defineProperty/15.2.3.6-4-121.js | 12 ++-------- .../Object/defineProperty/15.2.3.6-4-122.js | 12 ++-------- .../Object/defineProperty/15.2.3.6-4-123.js | 13 ++--------- .../Object/defineProperty/15.2.3.6-4-125.js | 13 ++--------- .../Object/defineProperty/15.2.3.6-4-13.js | 19 ++++----------- .../Object/defineProperty/15.2.3.6-4-133.js | 13 ++--------- .../Object/defineProperty/15.2.3.6-4-134.js | 13 ++--------- .../Object/defineProperty/15.2.3.6-4-135.js | 13 ++--------- .../Object/defineProperty/15.2.3.6-4-136.js | 13 ++--------- .../Object/defineProperty/15.2.3.6-4-138.js | 14 ++--------- .../Object/defineProperty/15.2.3.6-4-139.js | 14 ++--------- .../Object/defineProperty/15.2.3.6-4-140.js | 14 ++--------- .../Object/defineProperty/15.2.3.6-4-141.js | 13 ++--------- .../Object/defineProperty/15.2.3.6-4-145.js | 13 ++--------- .../Object/defineProperty/15.2.3.6-4-150.js | 16 ++++--------- .../Object/defineProperty/15.2.3.6-4-152.js | 14 ++--------- .../Object/defineProperty/15.2.3.6-4-153.js | 15 ++---------- .../Object/defineProperty/15.2.3.6-4-156.js | 14 ++--------- .../Object/defineProperty/15.2.3.6-4-157.js | 14 ++--------- .../Object/defineProperty/15.2.3.6-4-16.js | 23 +++++-------------- .../Object/defineProperty/15.2.3.6-4-162.js | 13 ++--------- .../Object/defineProperty/15.2.3.6-4-164.js | 13 ++--------- .../Object/defineProperty/15.2.3.6-4-168.js | 14 +++-------- .../Object/defineProperty/15.2.3.6-4-169.js | 15 ++++-------- .../Object/defineProperty/15.2.3.6-4-17.js | 23 +++++-------------- .../Object/defineProperty/15.2.3.6-4-170.js | 16 ++++--------- .../Object/defineProperty/15.2.3.6-4-174.js | 16 ++++--------- .../Object/defineProperty/15.2.3.6-4-18.js | 21 ++++------------- .../Object/defineProperty/15.2.3.6-4-188.js | 13 ++--------- .../Object/defineProperty/15.2.3.6-4-189.js | 13 ++--------- .../Object/defineProperty/15.2.3.6-4-198.js | 13 +++-------- .../Object/defineProperty/15.2.3.6-4-20.js | 21 ++++------------- .../Object/defineProperty/15.2.3.6-4-22.js | 13 +++-------- .../Object/defineProperty/15.2.3.6-4-24.js | 13 +++-------- .../Object/defineProperty/15.2.3.6-4-25.js | 13 +++-------- .../Object/defineProperty/15.2.3.6-4-26.js | 13 +++-------- .../Object/defineProperty/15.2.3.6-4-28.js | 12 ++-------- .../Object/defineProperty/15.2.3.6-4-29.js | 12 ++-------- .../Object/defineProperty/15.2.3.6-4-30.js | 12 ++-------- .../Object/defineProperty/15.2.3.6-4-31.js | 12 ++-------- .../Object/defineProperty/15.2.3.6-4-33.js | 13 +++-------- .../Object/defineProperty/15.2.3.6-4-337.js | 16 +++++-------- .../Object/defineProperty/15.2.3.6-4-338.js | 16 +++++-------- .../Object/defineProperty/15.2.3.6-4-339-1.js | 15 +++++------- .../Object/defineProperty/15.2.3.6-4-339-2.js | 15 +++++------- .../Object/defineProperty/15.2.3.6-4-339-3.js | 16 +++++-------- .../Object/defineProperty/15.2.3.6-4-339-4.js | 16 +++++-------- .../Object/defineProperty/15.2.3.6-4-339.js | 15 +++++------- .../Object/defineProperty/15.2.3.6-4-34.js | 13 +++-------- .../Object/defineProperty/15.2.3.6-4-35.js | 13 +++-------- .../Object/defineProperty/15.2.3.6-4-351.js | 16 +++++-------- .../Object/defineProperty/15.2.3.6-4-352.js | 16 +++++-------- .../Object/defineProperty/15.2.3.6-4-353.js | 15 +++++------- .../Object/defineProperty/15.2.3.6-4-36.js | 13 +++-------- .../Object/defineProperty/15.2.3.6-4-364.js | 16 +++++-------- .../Object/defineProperty/15.2.3.6-4-365.js | 16 +++++-------- .../Object/defineProperty/15.2.3.6-4-366.js | 16 +++++-------- .../Object/defineProperty/15.2.3.6-4-367.js | 15 +++++------- .../Object/defineProperty/15.2.3.6-4-37.js | 13 +++-------- .../Object/defineProperty/15.2.3.6-4-378.js | 17 +++++--------- .../Object/defineProperty/15.2.3.6-4-379.js | 16 +++++-------- .../Object/defineProperty/15.2.3.6-4-380.js | 17 +++++--------- .../Object/defineProperty/15.2.3.6-4-381.js | 15 +++++------- .../Object/defineProperty/15.2.3.6-4-39.js | 13 +++-------- .../Object/defineProperty/15.2.3.6-4-40.js | 13 +++-------- .../Object/defineProperty/15.2.3.6-4-42.js | 13 +++-------- .../Object/defineProperty/15.2.3.6-4-43.js | 13 +++-------- .../Object/defineProperty/15.2.3.6-4-435.js | 17 +++++--------- .../Object/defineProperty/15.2.3.6-4-436.js | 15 ++++-------- .../Object/defineProperty/15.2.3.6-4-437.js | 17 +++++--------- .../Object/defineProperty/15.2.3.6-4-439.js | 15 ++++-------- .../Object/defineProperty/15.2.3.6-4-453.js | 17 +++++--------- .../Object/defineProperty/15.2.3.6-4-454.js | 15 ++++-------- .../Object/defineProperty/15.2.3.6-4-455.js | 17 +++++--------- .../Object/defineProperty/15.2.3.6-4-457.js | 15 ++++-------- .../Object/defineProperty/15.2.3.6-4-471.js | 17 +++++--------- .../Object/defineProperty/15.2.3.6-4-472.js | 15 ++++-------- .../Object/defineProperty/15.2.3.6-4-473.js | 17 +++++--------- .../Object/defineProperty/15.2.3.6-4-475.js | 15 ++++-------- .../Object/defineProperty/15.2.3.6-4-489.js | 17 +++++--------- .../Object/defineProperty/15.2.3.6-4-490.js | 15 ++++-------- .../Object/defineProperty/15.2.3.6-4-491.js | 17 +++++--------- .../Object/defineProperty/15.2.3.6-4-493.js | 15 ++++-------- .../Object/defineProperty/15.2.3.6-4-507.js | 17 +++++--------- .../Object/defineProperty/15.2.3.6-4-508.js | 15 ++++-------- .../Object/defineProperty/15.2.3.6-4-509.js | 17 +++++--------- .../Object/defineProperty/15.2.3.6-4-511.js | 15 ++++-------- .../Object/defineProperty/15.2.3.6-4-525.js | 17 +++++--------- .../Object/defineProperty/15.2.3.6-4-526.js | 15 ++++-------- .../Object/defineProperty/15.2.3.6-4-527.js | 17 +++++--------- .../Object/defineProperty/15.2.3.6-4-529.js | 15 ++++-------- .../Object/defineProperty/15.2.3.6-4-543.js | 17 +++++--------- .../Object/defineProperty/15.2.3.6-4-544.js | 15 ++++-------- .../Object/defineProperty/15.2.3.6-4-545.js | 17 +++++--------- .../Object/defineProperty/15.2.3.6-4-547.js | 15 ++++-------- .../Object/defineProperty/15.2.3.6-4-561.js | 17 +++++--------- .../Object/defineProperty/15.2.3.6-4-562.js | 15 ++++-------- .../Object/defineProperty/15.2.3.6-4-563.js | 17 +++++--------- .../Object/defineProperty/15.2.3.6-4-565.js | 15 ++++-------- .../Object/defineProperty/15.2.3.6-4-7.js | 19 ++++----------- .../Object/defineProperty/15.2.3.6-4-8.js | 21 ++++------------- .../Object/defineProperty/15.2.3.6-4-9.js | 21 ++++------------- .../getOwnPropertyDescriptor/15.2.3.3-1-1.js | 11 +++------ .../getOwnPropertyDescriptor/15.2.3.3-1-2.js | 11 +++------ .../getOwnPropertyDescriptor/15.2.3.3-2-46.js | 14 ++++------- .../getOwnPropertyNames/15.2.3.4-1-2.js | 12 +++------- .../getOwnPropertyNames/15.2.3.4-1-3.js | 12 +++------- .../Object/getPrototypeOf/15.2.3.2-0-3.js | 15 +++--------- .../Object/getPrototypeOf/15.2.3.2-1-2.js | 12 +++------- test/built-ins/Object/keys/15.2.3.14-1-4.js | 14 +++-------- test/built-ins/Object/keys/15.2.3.14-1-5.js | 14 +++-------- .../Object/preventExtensions/15.2.3.10-3-5.js | 15 ++++-------- 238 files changed, 805 insertions(+), 2616 deletions(-) diff --git a/test/built-ins/Object/create/15.2.3.5-1-1.js b/test/built-ins/Object/create/15.2.3.5-1-1.js index c5e0b426de..dfec567946 100644 --- a/test/built-ins/Object/create/15.2.3.5-1-1.js +++ b/test/built-ins/Object/create/15.2.3.5-1-1.js @@ -4,16 +4,9 @@ /*--- es5id: 15.2.3.5-1-1 description: Object.create throws TypeError if 'O' is undefined -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.create(undefined); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-1-3.js b/test/built-ins/Object/create/15.2.3.5-1-3.js index 28933d1775..2a8aa4b639 100644 --- a/test/built-ins/Object/create/15.2.3.5-1-3.js +++ b/test/built-ins/Object/create/15.2.3.5-1-3.js @@ -4,16 +4,9 @@ /*--- es5id: 15.2.3.5-1-3 description: Object.create throws TypeError if 'O' is a boolean primitive -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.create(true); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-1-4.js b/test/built-ins/Object/create/15.2.3.5-1-4.js index 300289d4c1..e33ef8ddb4 100644 --- a/test/built-ins/Object/create/15.2.3.5-1-4.js +++ b/test/built-ins/Object/create/15.2.3.5-1-4.js @@ -4,16 +4,9 @@ /*--- es5id: 15.2.3.5-1-4 description: Object.create throws TypeError if 'O' is a number primitive -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.create(2); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-1.js b/test/built-ins/Object/create/15.2.3.5-1.js index 2624275e42..645c0c974f 100644 --- a/test/built-ins/Object/create/15.2.3.5-1.js +++ b/test/built-ins/Object/create/15.2.3.5-1.js @@ -4,17 +4,9 @@ /*--- es5id: 15.2.3.5-1 description: Object.create throws TypeError if type of first param is not Object -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Object.create(0); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-258.js b/test/built-ins/Object/create/15.2.3.5-4-258.js index 9d9132e5af..e20c4f14b1 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-258.js +++ b/test/built-ins/Object/create/15.2.3.5-4-258.js @@ -6,20 +6,13 @@ es5id: 15.2.3.5-4-258 description: > Object.create - 'get' property of one property in 'Properties' is the primitive value null (8.10.5 step 7.b) -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Object.create({}, { prop: { get: null } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-259.js b/test/built-ins/Object/create/15.2.3.5-4-259.js index 6a70c61dc7..f4ae695fa8 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-259.js +++ b/test/built-ins/Object/create/15.2.3.5-4-259.js @@ -6,20 +6,13 @@ es5id: 15.2.3.5-4-259 description: > Object.create - 'get' property of one property in 'Properties' is a boolean primitive (8.10.5 step 7.b) -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Object.create({}, { prop: { get: false } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-26.js b/test/built-ins/Object/create/15.2.3.5-4-26.js index aecc5f5942..90605aecef 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-26.js +++ b/test/built-ins/Object/create/15.2.3.5-4-26.js @@ -6,22 +6,13 @@ es5id: 15.2.3.5-4-26 description: > Object.create - TypeError is thrown when own enumerable accessor property of 'Properties' without a get function (15.2.3.7 step 5.a) -includes: [runTestCase.js] ---*/ -function testcase() { - var props = {}; Object.defineProperty(props, "prop", { set: function () { }, enumerable: true }); - try { +assert.throws(TypeError, function() { Object.create({}, props); - - return false; - } catch (ex) { - return ex instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-260.js b/test/built-ins/Object/create/15.2.3.5-4-260.js index 58ea30579c..031bdfd567 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-260.js +++ b/test/built-ins/Object/create/15.2.3.5-4-260.js @@ -6,20 +6,13 @@ es5id: 15.2.3.5-4-260 description: > Object.create - 'get' property of one property in 'Properties' is a number primitive (8.10.5 step 7.b) -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Object.create({}, { prop: { get: 123 } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-261.js b/test/built-ins/Object/create/15.2.3.5-4-261.js index 7b33457ef8..8a7f3f955b 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-261.js +++ b/test/built-ins/Object/create/15.2.3.5-4-261.js @@ -6,21 +6,13 @@ es5id: 15.2.3.5-4-261 description: > Object.create - 'get' property of one property in 'Properties' is a primitive string (8.10.5 step 7.b) -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.create({}, { prop: { get: "string" } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-262.js b/test/built-ins/Object/create/15.2.3.5-4-262.js index 1758af3db7..f02da1a389 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-262.js +++ b/test/built-ins/Object/create/15.2.3.5-4-262.js @@ -6,20 +6,13 @@ es5id: 15.2.3.5-4-262 description: > Object.create - 'get' property of one property in 'Properties' is an Array object (8.10.5 step 7.b) -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Object.create({}, { prop: { get: [1, 2, 3] } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-27.js b/test/built-ins/Object/create/15.2.3.5-4-27.js index dba419000c..913f3b4e11 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-27.js +++ b/test/built-ins/Object/create/15.2.3.5-4-27.js @@ -8,11 +8,8 @@ description: > without a get function that overrides an enumerable inherited accessor property in 'Properties' is defined in 'obj' (15.2.3.7 step 5.a) -includes: [runTestCase.js] ---*/ -function testcase() { - var proto = {}; Object.defineProperty(proto, "prop", { get: function () { @@ -29,13 +26,6 @@ function testcase() { set: function () { }, enumerable: true }); - - try { +assert.throws(TypeError, function() { Object.create({}, child); - - return false; - } catch (ex) { - return ex instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-293.js b/test/built-ins/Object/create/15.2.3.5-4-293.js index ee4f14993e..b5141d316e 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-293.js +++ b/test/built-ins/Object/create/15.2.3.5-4-293.js @@ -6,21 +6,13 @@ es5id: 15.2.3.5-4-293 description: > Object.create - 'set' property of one property in 'Properties' is a primitive value null (8.10.5 step 8.b) -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.create({}, { prop: { set: null } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-294.js b/test/built-ins/Object/create/15.2.3.5-4-294.js index 6c9e8c333a..0253d46f9b 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-294.js +++ b/test/built-ins/Object/create/15.2.3.5-4-294.js @@ -6,21 +6,13 @@ es5id: 15.2.3.5-4-294 description: > Object.create - 'set' property of one property in 'Properties' is a primitive boolean value true (8.10.5 step 8.b) -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.create({}, { prop: { set: true } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-295.js b/test/built-ins/Object/create/15.2.3.5-4-295.js index 4f5553910b..db9776e037 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-295.js +++ b/test/built-ins/Object/create/15.2.3.5-4-295.js @@ -6,21 +6,13 @@ es5id: 15.2.3.5-4-295 description: > Object.create - 'set' property of one property in 'Properties' is a primitive number value (8.10.5 step 8.b) -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.create({}, { prop: { set: 123 } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-296.js b/test/built-ins/Object/create/15.2.3.5-4-296.js index 9ea966b795..9912d08063 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-296.js +++ b/test/built-ins/Object/create/15.2.3.5-4-296.js @@ -6,21 +6,13 @@ es5id: 15.2.3.5-4-296 description: > Object.create - 'set' property of one property in 'Properties' is a primitive string value (8.10.5 step 8.b) -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.create({}, { prop: { set: "abc" } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-297.js b/test/built-ins/Object/create/15.2.3.5-4-297.js index f5e5883869..0365a10f8b 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-297.js +++ b/test/built-ins/Object/create/15.2.3.5-4-297.js @@ -6,21 +6,13 @@ es5id: 15.2.3.5-4-297 description: > Object.create - 'set' property of one property in 'Properties' is an Date object (8.10.5 step 8.b) -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.create({}, { prop: { set: new Date() } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-3.js b/test/built-ins/Object/create/15.2.3.5-4-3.js index 836a621b9c..5d998fb973 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-3.js +++ b/test/built-ins/Object/create/15.2.3.5-4-3.js @@ -6,16 +6,9 @@ es5id: 15.2.3.5-4-3 description: > Object.create throws TypeError if 'Properties' is null (15.2.3.7 step 2) -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.create({}, null); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-300.js b/test/built-ins/Object/create/15.2.3.5-4-300.js index eb7844fd39..d9557fc3d5 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-300.js +++ b/test/built-ins/Object/create/15.2.3.5-4-300.js @@ -6,23 +6,14 @@ es5id: 15.2.3.5-4-300 description: > Object.create - 'set' property of one property in 'Properties' is a host object that isn't callable (8.10.5 step 8.b) -includes: - - runTestCase.js - - fnGlobalObject.js +includes: [fnGlobalObject.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.create({}, { prop: { set: fnGlobalObject() } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-301.js b/test/built-ins/Object/create/15.2.3.5-4-301.js index c792440139..41acad4d2b 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-301.js +++ b/test/built-ins/Object/create/15.2.3.5-4-301.js @@ -7,22 +7,14 @@ description: > Object.create - TypeError is thrown if both 'set' property and 'value' property of one property in 'Properties' are present (8.10.5 step 9.a) -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.create({}, { prop: { set: function () { }, value: 100 } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-302.js b/test/built-ins/Object/create/15.2.3.5-4-302.js index 2df2e86b6a..9d9b0dc596 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-302.js +++ b/test/built-ins/Object/create/15.2.3.5-4-302.js @@ -7,22 +7,14 @@ description: > Object.create - TypeError is thrown if both 'set' property and 'writable' property of one property in 'Properties' are present (8.10.5 step 9.a) -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.create({}, { prop: { set: function () { }, writable: true } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-303.js b/test/built-ins/Object/create/15.2.3.5-4-303.js index 3105350c19..459a8580e1 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-303.js +++ b/test/built-ins/Object/create/15.2.3.5-4-303.js @@ -7,22 +7,14 @@ description: > Object.create - TypeError is thrown if both 'get' property and 'value' property of one property in 'Properties' are present (8.10.5 step 9.a) -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.create({}, { prop: { get: function () { }, value: 100 } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-304.js b/test/built-ins/Object/create/15.2.3.5-4-304.js index 3618ff9d38..bae6d8dff5 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-304.js +++ b/test/built-ins/Object/create/15.2.3.5-4-304.js @@ -7,22 +7,14 @@ description: > Object.create - TypeError is thrown if both 'get' property and 'writable' property of one property in 'Properties' are present (8.10.5 step 9.a) -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.create({}, { prop: { get: function () { }, writable: true } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-40.js b/test/built-ins/Object/create/15.2.3.5-4-40.js index 29bbe0a095..91c14b190a 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-40.js +++ b/test/built-ins/Object/create/15.2.3.5-4-40.js @@ -7,11 +7,8 @@ description: > Object.create - ensure that if an exception is thrown it occurs in the correct order relative to prior and subsequent side-effects (15.2.3.7 step 5.a) -includes: [runTestCase.js] ---*/ -function testcase() { - var newObj = {}; var props = {}; var i = 0; @@ -34,12 +31,8 @@ function testcase() { }, enumerable: true }); - - try { +assert.throws(RangeError, function() { newObj = Object.create({}, props); - return false; - } catch (e) { - return (e instanceof RangeError) && !newObj.hasOwnProperty("prop1") && i === 2; - } - } -runTestCase(testcase); +}); +assert.sameValue(newObj.hasOwnProperty("prop1"), false, 'newObj.hasOwnProperty("prop1")'); +assert.sameValue(i, 2, 'i'); diff --git a/test/built-ins/Object/create/15.2.3.5-4-41.js b/test/built-ins/Object/create/15.2.3.5-4-41.js index d5e2421d37..d74dd58cde 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-41.js +++ b/test/built-ins/Object/create/15.2.3.5-4-41.js @@ -6,18 +6,11 @@ es5id: 15.2.3.5-4-41 description: > Object.create - value of one property in 'Properties' is undefined (8.10.5 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.create({}, { prop: undefined }); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-42.js b/test/built-ins/Object/create/15.2.3.5-4-42.js index d52b5a303b..424a2be666 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-42.js +++ b/test/built-ins/Object/create/15.2.3.5-4-42.js @@ -6,19 +6,11 @@ es5id: 15.2.3.5-4-42 description: > Object.create - value of one property in 'Properties' is null (8.10.5 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.create({}, { prop: null }); - return false; - } catch (e) { - return (e instanceof TypeError); - } - - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-43.js b/test/built-ins/Object/create/15.2.3.5-4-43.js index a01187f38e..f3ca54ea48 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-43.js +++ b/test/built-ins/Object/create/15.2.3.5-4-43.js @@ -6,19 +6,11 @@ es5id: 15.2.3.5-4-43 description: > Object.create - value of one property in 'Properties' is false (8.10.5 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.create({}, { prop: false }); - return false; - } catch (e) { - return (e instanceof TypeError); - } - - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-44.js b/test/built-ins/Object/create/15.2.3.5-4-44.js index 362e726913..18073ec961 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-44.js +++ b/test/built-ins/Object/create/15.2.3.5-4-44.js @@ -6,18 +6,11 @@ es5id: 15.2.3.5-4-44 description: > Object.create - value of one property in 'Properties' is a number primitive (8.10.5 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.create({}, { prop: 12 }); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/create/15.2.3.5-4-45.js b/test/built-ins/Object/create/15.2.3.5-4-45.js index 0f07634c3e..653c33ccb1 100644 --- a/test/built-ins/Object/create/15.2.3.5-4-45.js +++ b/test/built-ins/Object/create/15.2.3.5-4-45.js @@ -6,18 +6,11 @@ es5id: 15.2.3.5-4-45 description: > Object.create - value of one property in 'Properties' is a string (8.10.5 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.create({}, { prop: "abc" }); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-1-1.js b/test/built-ins/Object/defineProperties/15.2.3.7-1-1.js index d94b31b676..6bf9439eff 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-1-1.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-1-1.js @@ -4,16 +4,8 @@ /*--- es5id: 15.2.3.7-1-1 description: Object.defineProperties throws TypeError if 'O' is undefined -includes: [runTestCase.js] ---*/ -function testcase() { - - try { +assert.throws(TypeError, function() { Object.defineProperties(undefined, {}); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-1-2.js b/test/built-ins/Object/defineProperties/15.2.3.7-1-2.js index e0cc78fc9b..b4eae1229a 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-1-2.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-1-2.js @@ -4,16 +4,8 @@ /*--- es5id: 15.2.3.7-1-2 description: Object.defineProperties throws TypeError if 'O' is null -includes: [runTestCase.js] ---*/ -function testcase() { - - try { +assert.throws(TypeError, function() { Object.defineProperties(null, {}); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-1-3.js b/test/built-ins/Object/defineProperties/15.2.3.7-1-3.js index eeb85855ee..0974b1a06b 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-1-3.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-1-3.js @@ -4,16 +4,8 @@ /*--- es5id: 15.2.3.7-1-3 description: Object.defineProperties throws TypeError if 'O' is a boolean -includes: [runTestCase.js] ---*/ -function testcase() { - - try { +assert.throws(TypeError, function() { Object.defineProperties(true, {}); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-1-4.js b/test/built-ins/Object/defineProperties/15.2.3.7-1-4.js index 597c32d7af..673f986086 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-1-4.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-1-4.js @@ -4,16 +4,8 @@ /*--- es5id: 15.2.3.7-1-4 description: Object.defineProperties throws TypeError if 'O' is a string -includes: [runTestCase.js] ---*/ -function testcase() { - - try { +assert.throws(TypeError, function() { Object.defineProperties("abc", {}); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-1.js b/test/built-ins/Object/defineProperties/15.2.3.7-1.js index 12c2752a52..c6b27773c9 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-1.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-1.js @@ -6,17 +6,8 @@ es5id: 15.2.3.7-1 description: > Object.defineProperties throws TypeError if type of first param is not Object -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.defineProperties(0, {}); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-2-1.js b/test/built-ins/Object/defineProperties/15.2.3.7-2-1.js index da621aed45..4f8ca8d07d 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-2-1.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-2-1.js @@ -4,16 +4,8 @@ /*--- es5id: 15.2.3.7-2-1 description: Object.defineProperties throws TypeError if 'Properties' is null -includes: [runTestCase.js] ---*/ -function testcase() { - - try { +assert.throws(TypeError, function() { Object.defineProperties({}, null); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-2-2.js b/test/built-ins/Object/defineProperties/15.2.3.7-2-2.js index 58d31b83c8..5366c8b9ac 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-2-2.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-2-2.js @@ -6,16 +6,8 @@ es5id: 15.2.3.7-2-2 description: > Object.defineProperties throws TypeError if 'Properties' is undefined -includes: [runTestCase.js] ---*/ -function testcase() { - - try { +assert.throws(TypeError, function() { Object.defineProperties({}, undefined); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-1.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-1.js index 9b10cce727..7eaf6bd16a 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-1.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-1.js @@ -4,20 +4,12 @@ /*--- es5id: 15.2.3.7-5-b-1 description: Object.defineProperties - 'descObj' is undefined (8.10.5 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = {}; - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: undefined }); - return false; - } catch (e) { - return e instanceof TypeError && !obj.hasOwnProperty("prop"); - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.hasOwnProperty("prop"), false, 'obj.hasOwnProperty("prop")'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-2.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-2.js index 768a594be9..c7fa6e5ead 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-2.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-2.js @@ -4,20 +4,12 @@ /*--- es5id: 15.2.3.7-5-b-2 description: Object.defineProperties - 'descObj' is null (8.10.5 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = {}; - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: null }); - return false; - } catch (e) { - return e instanceof TypeError && !obj.hasOwnProperty("prop"); ; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.hasOwnProperty("prop"), false, 'obj.hasOwnProperty("prop")'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-218.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-218.js index 3cef301fb5..391538ddb4 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-218.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-218.js @@ -6,22 +6,13 @@ es5id: 15.2.3.7-5-b-218 description: > Object.defineProperties - value of 'get' property of 'descObj' is primitive values( value is null) (8.10.5 step 7.b) -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { property: { get: null } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-219.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-219.js index e04e7147ea..adb34766fd 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-219.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-219.js @@ -6,22 +6,13 @@ es5id: 15.2.3.7-5-b-219 description: > Object.defineProperties - value of 'get' property of 'descObj' is primitive values( value is boolean) (8.10.5 step 7.b) -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { property: { get: false } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-220.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-220.js index ffce3edc55..d684f624db 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-220.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-220.js @@ -6,22 +6,13 @@ es5id: 15.2.3.7-5-b-220 description: > Object.defineProperties - value of 'get' property of 'descObj' is primitive values( value is number) (8.10.5 step 7.b) -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { property: { get: 123 } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-221.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-221.js index ea60b42e68..982cddb9bd 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-221.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-221.js @@ -6,22 +6,13 @@ es5id: 15.2.3.7-5-b-221 description: > Object.defineProperties - value of 'get' property of 'descObj' is primitive values( value is string) (8.10.5 step 7.b) -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { property: { get: "string" } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-222.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-222.js index 3e5cfc2e4a..57e21ef35a 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-222.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-222.js @@ -6,22 +6,13 @@ es5id: 15.2.3.7-5-b-222 description: > Object.defineProperties - value of 'get' property of 'descObj' is applied to Array object (8.10.5 step 7.b) -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { property: { get: [] } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-253.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-253.js index 1667d76f57..e35a948b5d 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-253.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-253.js @@ -6,22 +6,13 @@ es5id: 15.2.3.7-5-b-253 description: > Object.defineProperties - value of 'set' property of 'descObj' is primitive values null (8.10.5 step 8.b) -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = {}; - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: { set: null } }); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-254.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-254.js index 4dcec66e68..11d390a2bd 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-254.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-254.js @@ -6,22 +6,13 @@ es5id: 15.2.3.7-5-b-254 description: > Object.defineProperties - value of 'set' property of 'descObj' is primitive values boolean (8.10.5 step 8.b) -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = {}; - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: { set: true } }); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-255.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-255.js index f158942905..acbcc7ed27 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-255.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-255.js @@ -6,22 +6,13 @@ es5id: 15.2.3.7-5-b-255 description: > Object.defineProperties - value of 'set' property of 'descObj' is primitive values number (8.10.5 step 8.b) -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = {}; - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: { set: 100 } }); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-256.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-256.js index 762d1ba4cf..85e6c6b88c 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-256.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-256.js @@ -6,22 +6,13 @@ es5id: 15.2.3.7-5-b-256 description: > Object.defineProperties - value of 'set' property of 'descObj' is primitive values string (8.10.5 step 8.b) -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = {}; - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: { set: "abcdef" } }); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-257.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-257.js index 22455761be..848af07304 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-257.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-257.js @@ -6,22 +6,13 @@ es5id: 15.2.3.7-5-b-257 description: > Object.defineProperties - value of 'set' property of 'descObj' is an interesting object other than a function (8.10.5 step 8.b) -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = {}; - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: { set: [] } }); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-261.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-261.js index fc31f20a36..f0fed05eb1 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-261.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-261.js @@ -7,24 +7,15 @@ description: > Object.defineProperties - TypeError is thrown if both 'set' property and 'value' property of 'descObj' are present (8.10.5 step 9.a) -includes: [runTestCase.js] ---*/ -function testcase() { - var setFun = function () {}; var obj = {}; - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: { value: 12, set: setFun } }); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-262.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-262.js index 247f747edb..5587e17654 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-262.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-262.js @@ -7,24 +7,15 @@ description: > Object.defineProperties - TypeError is thrown if both 'set' property and 'writable' property of 'descObj' are present (8.10.5 step 9.a) -includes: [runTestCase.js] ---*/ -function testcase() { - var setFun = function () { }; var obj = {}; - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: { writable: true, set: setFun } }); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-263.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-263.js index 9bf35d85ee..1587c5de2c 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-263.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-263.js @@ -7,24 +7,15 @@ description: > Object.defineProperties - TypeError is thrown if both 'get' property and 'value' property of 'descObj' are present (8.10.5 step 9.a) -includes: [runTestCase.js] ---*/ -function testcase() { - var getFun = function () {}; var obj = {}; - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: { value: 12, get: getFun } }); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-264.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-264.js index 23be87b182..945e4a276d 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-264.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-264.js @@ -7,25 +7,16 @@ description: > Object.defineProperties - TypeError is thrown if both 'get' property and 'writable' property of 'descObj' are present (8.10.5 step 9.a) -includes: [runTestCase.js] ---*/ -function testcase() { - var getFun = function () {}; var obj = {}; - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { "prop": { writable: true, get: getFun } }); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-3.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-3.js index 8a8995e292..cba662cf52 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-3.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-3.js @@ -4,20 +4,12 @@ /*--- es5id: 15.2.3.7-5-b-3 description: Object.defineProperties - 'descObj' is a boolean (8.10.5 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = {}; - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: true }); - return false; - } catch (e) { - return e instanceof TypeError && !obj.hasOwnProperty("prop"); - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.hasOwnProperty("prop"), false, 'obj.hasOwnProperty("prop")'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-4.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-4.js index e61abc4653..ee430f83ce 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-4.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-4.js @@ -4,20 +4,12 @@ /*--- es5id: 15.2.3.7-5-b-4 description: Object.defineProperties - 'descObj' is a number (8.10.5 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = {}; - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: 12 }); - return false; - } catch (e) { - return e instanceof TypeError && !obj.hasOwnProperty("prop"); - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.hasOwnProperty("prop"), false, 'obj.hasOwnProperty("prop")'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-5.js b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-5.js index c996b48e16..27a60e51de 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-5-b-5.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-5-b-5.js @@ -4,20 +4,12 @@ /*--- es5id: 15.2.3.7-5-b-5 description: Object.defineProperties - 'descObj' is a string (8.10.5 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = {}; - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: "abc" }); - return false; - } catch (e) { - return e instanceof TypeError && !obj.hasOwnProperty("prop"); - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.hasOwnProperty("prop"), false, 'obj.hasOwnProperty("prop")'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-1.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-1.js index 8532a067fb..e282f56075 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-1.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-1.js @@ -6,26 +6,18 @@ es5id: 15.2.3.7-6-a-1 description: > Object.defineProperties - 'P' is own existing data property (8.12.9 step 1 ) -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { value: 11, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: { value: 12, configurable: true } }); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-10.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-10.js index 5ec0435738..ed64214cf9 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-10.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-10.js @@ -7,10 +7,8 @@ description: > Object.defineProperties - 'P' is own accessor property without a get function that overrides an inherited accessor property (8.12.9 step 1 ) -includes: [runTestCase.js] ---*/ -function testcase() { var proto = {}; Object.defineProperty(proto, "prop", { get: function () { @@ -27,17 +25,11 @@ function testcase() { set: function () { }, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: { value: 12, configurable: true } }); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-112.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-112.js index 3ef0d6ad46..e22b9a9ead 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-112.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-112.js @@ -6,27 +6,21 @@ es5id: 15.2.3.7-6-a-112 description: > Object.defineProperties - 'O' is an Array, test the length property of 'O' is own data property (15.4.5.1 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = [0, 1]; Object.defineProperty(arr, "1", { value: 1, configurable: false }); - try { - +assert.throws(TypeError, function() { Object.defineProperties(arr, { length: { value: 1 } }); - return false; - } catch (ex) { +}); var desc = Object.getOwnPropertyDescriptor(arr, "length"); - return ex instanceof TypeError && desc.value === 2 && - desc.writable && !desc.enumerable && !desc.configurable; - } - } -runTestCase(testcase); +assert.sameValue(desc.value, 2, 'desc.value'); +assert(desc.writable, 'desc.writable !== true'); +assert.sameValue(desc.enumerable, false, 'desc.enumerable'); +assert.sameValue(desc.configurable, false, 'desc.configurable'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-116.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-116.js index 8a58af647c..4c300f6d74 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-116.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-116.js @@ -8,21 +8,11 @@ description: > property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Configurable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = []; - - try { +assert.throws(TypeError, function() { Object.defineProperties(arr, { length: { configurable: true } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-117.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-117.js index 1ba128bceb..ab0fecce74 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-117.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-117.js @@ -8,21 +8,11 @@ description: > property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Enumerable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = []; - - try { +assert.throws(TypeError, function() { Object.defineProperties(arr, { length: { enumerable: true } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-118.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-118.js index 7dc734ad89..95ab99ed58 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-118.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-118.js @@ -8,14 +8,10 @@ description: > property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when 'desc' is accessor descriptor (15.4.5.1 step 3.a.i) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = []; - - try { +assert.throws(TypeError, function() { Object.defineProperties(arr, { length: { get: function () { @@ -23,10 +19,5 @@ function testcase() { } } }); - - return false; - } catch (e) { - return e instanceof TypeError && arr.length === 0; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 0, 'arr.length'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-119.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-119.js index 14cbb248d0..e249d698ac 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-119.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-119.js @@ -8,25 +8,15 @@ description: > property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Writable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = []; Object.defineProperty(arr, "length", { writable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperties(arr, { length: { writable: true } }); - - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-121.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-121.js index 3a03bf2664..2c62ae0e94 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-121.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-121.js @@ -7,21 +7,12 @@ description: > Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test RangeError is thrown when setting the [[Value]] field of 'desc' to undefined (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = []; - - try { +assert.throws(RangeError, function() { Object.defineProperties(arr, { length: { value: undefined } }); - - return false; - } catch (e) { - return e instanceof RangeError && arr.length === 0; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 0, 'arr.length'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-129.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-129.js index 5277ce5d97..e432de73f5 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-129.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-129.js @@ -7,22 +7,14 @@ description: > Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is negative number (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = []; - - try { +assert.throws(RangeError, function() { Object.defineProperties(arr, { length: { value: -9 } }); - return false; - } catch (e) { - return e instanceof RangeError && arr.length === 0; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 0, 'arr.length'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-130.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-130.js index fc090de0e0..ff246ba324 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-130.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-130.js @@ -7,22 +7,14 @@ description: > Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is +Infinity (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = []; - - try { +assert.throws(RangeError, function() { Object.defineProperties(arr, { length: { value: +Infinity } }); - return false; - } catch (e) { - return e instanceof RangeError && arr.length === 0; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 0, 'arr.length'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-131.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-131.js index e312ce8f9f..ada55d4a51 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-131.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-131.js @@ -7,22 +7,14 @@ description: > Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is -Infinity (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = []; - - try { +assert.throws(RangeError, function() { Object.defineProperties(arr, { length: { value: -Infinity } }); - return false; - } catch (e) { - return e instanceof RangeError && arr.length === 0; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 0, 'arr.length'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-132.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-132.js index a8670853aa..16015d3bb0 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-132.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-132.js @@ -7,23 +7,14 @@ description: > Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is NaN (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = []; - - try { +assert.throws(RangeError, function() { Object.defineProperties(arr, { length: { value: NaN } }); - - return false; - } catch (e) { - return e instanceof RangeError && arr.length === 0; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 0, 'arr.length'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-134.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-134.js index 04ccb58edc..c9b787f8d9 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-134.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-134.js @@ -7,22 +7,14 @@ description: > Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a negative number (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = []; - - try { +assert.throws(RangeError, function() { Object.defineProperties(arr, { length: { value: "-42" } }); - return false; - } catch (e) { - return e instanceof RangeError && arr.length === 0; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 0, 'arr.length'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-135.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-135.js index 1f172e3a16..5f9b707fde 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-135.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-135.js @@ -7,22 +7,14 @@ description: > Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a decimal number (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = []; - - try { +assert.throws(RangeError, function() { Object.defineProperties(arr, { length: { value: "200.59" } }); - return false; - } catch (e) { - return e instanceof RangeError && arr.length === 0; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 0, 'arr.length'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-136.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-136.js index 3c9d497472..1613213e86 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-136.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-136.js @@ -7,22 +7,14 @@ description: > Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing +Infinity (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = []; - - try { +assert.throws(RangeError, function() { Object.defineProperties(arr, { length: { value: "+Infinity" } }); - return false; - } catch (e) { - return e instanceof RangeError && arr.length === 0; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 0, 'arr.length'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-137.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-137.js index e1d0b07caf..ebc116b2df 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-137.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-137.js @@ -7,22 +7,14 @@ description: > Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing -Infinity (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = []; - - try { +assert.throws(RangeError, function() { Object.defineProperties(arr, { length: { value: "-Infinity" } }); - return false; - } catch (e) { - return e instanceof RangeError && arr.length === 0; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 0, 'arr.length'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-141.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-141.js index 58d5cb72c2..ae2debbf94 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-141.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-141.js @@ -7,22 +7,14 @@ description: > Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' is a string which doesn't convert to a number (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = []; - - try { +assert.throws(RangeError, function() { Object.defineProperties(arr, { length: { value: "two" } }); - return false; - } catch (e) { - return e instanceof RangeError && arr.length === 0; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 0, 'arr.length'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-146.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-146.js index c257c7b6dc..96214d41de 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-146.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-146.js @@ -8,16 +8,12 @@ description: > property of 'O', test TypeError is thrown when the [[Value]] field of 'desc' is an Object that both toString and valueOf wouldn't return primitive value (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = []; var toStringAccessed = false; var valueOfAccessed = false; - - try { +assert.throws(TypeError, function() { Object.defineProperties(arr, { length: { value: { @@ -33,10 +29,6 @@ function testcase() { } } }); - - return false; - } catch (e) { - return (e instanceof TypeError) && toStringAccessed && valueOfAccessed; - } - } -runTestCase(testcase); +}); +assert(toStringAccessed, 'toStringAccessed !== true'); +assert(valueOfAccessed, 'valueOfAccessed !== true'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-148.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-148.js index abb7e0c0ef..d70d2214f5 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-148.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-148.js @@ -7,23 +7,14 @@ description: > Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is positive non-integer values (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = []; - - try { +assert.throws(RangeError, function() { Object.defineProperties(arr, { length: { value: 123.5 } }); - - return false; - } catch (e) { - return e instanceof RangeError && arr.length === 0; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 0, 'arr.length'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-149.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-149.js index 63597a0178..c509c53052 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-149.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-149.js @@ -7,22 +7,14 @@ description: > Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is negative non-integer values (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = []; - - try { +assert.throws(RangeError, function() { Object.defineProperties(arr, { length: { value: -4294967294.5 } }); - return false; - } catch (e) { - return e instanceof RangeError && arr.length === 0; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 0, 'arr.length'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-152.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-152.js index 3d8b21eead..bf9c3b8d1e 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-152.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-152.js @@ -7,21 +7,14 @@ description: > Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is boundary value 2^32 (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = []; - try { +assert.throws(RangeError, function() { Object.defineProperties(arr, { length: { value: 4294967296 } }); - return false; - } catch (e) { - return e instanceof RangeError && arr.length === 0; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 0, 'arr.length'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-153.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-153.js index c443613853..fddc31217b 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-153.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-153.js @@ -7,21 +7,14 @@ description: > Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is boundary value 2^32 + 1 (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = []; - try { +assert.throws(RangeError, function() { Object.defineProperties(arr, { length: { value: 4294967297 } }); - return false; - } catch (e) { - return e instanceof RangeError && arr.length === 0; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 0, 'arr.length'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-158.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-158.js index 4c94b0a64c..c98990822b 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-158.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-158.js @@ -8,27 +8,18 @@ description: > property of 'O', the [[Value]] field of 'desc' is greater than value of the length property, test TypeError is thrown when the length property is not writable (15.4.5.1 step 3.f.i) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = []; Object.defineProperty(arr, "length", { writable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperties(arr, { length: { value: 12 } }); - - return false; - } catch (e) { - return e instanceof TypeError && arr.length === 0; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 0, 'arr.length'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-160.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-160.js index 968810c456..a3eb0b4b6c 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-160.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-160.js @@ -9,26 +9,20 @@ description: > of the length property, test TypeError is thrown when the [[Writable]] attribute of the length property is false (15.4.5.1 step 3.g) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = [0, 1]; Object.defineProperty(arr, "length", { writable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperties(arr, { length: { value: 0 } }); - return false; - } catch (e) { - return e instanceof TypeError && arr.length === 2 && arr[0] === 0 && arr[1] === 1; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 2, 'arr.length'); +assert.sameValue(arr[0], 0, 'arr[0]'); +assert.sameValue(arr[1], 1, 'arr[1]'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-165.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-165.js index b1a2533d3d..6d83613b9a 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-165.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-165.js @@ -8,11 +8,8 @@ description: > property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the length property is decreased by 1 (15.4.5.1 step 3.l.i) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = [0, 1, 2]; Object.defineProperty(arr, "1", { @@ -22,17 +19,14 @@ function testcase() { Object.defineProperty(arr, "2", { configurable: true }); - - try { +assert.throws(TypeError, function() { Object.defineProperties(arr, { length: { value: 1 } }); - return false; - } catch (e) { - return e instanceof TypeError && arr.length === 2 && - !arr.hasOwnProperty("2") && arr[0] === 0 && arr[1] === 1; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 2, 'arr.length'); +assert.sameValue(arr.hasOwnProperty("2"), false, 'arr.hasOwnProperty("2")'); +assert.sameValue(arr[0], 0, 'arr[0]'); +assert.sameValue(arr[1], 1, 'arr[1]'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-166.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-166.js index 4cf79075c5..a6bd8e38c2 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-166.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-166.js @@ -9,14 +9,10 @@ description: > of the length property, test the [[Configurable]] attribute of own data property with large index named in 'O' can stop deleting index named properties (15.4.5.1 step 3.l.ii) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = [0, 1]; - - try { +assert.throws(TypeError, function() { Object.defineProperty(arr, "1", { configurable: false }); @@ -26,11 +22,8 @@ function testcase() { value: 1 } }); - - return false; - } catch (e) { - return (e instanceof TypeError) && arr.length === 2 && - arr.hasOwnProperty("1") && arr[0] === 0 && arr[1] === 1; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 2, 'arr.length'); +assert(arr.hasOwnProperty("1"), 'arr.hasOwnProperty("1") !== true'); +assert.sameValue(arr[0], 0, 'arr[0]'); +assert.sameValue(arr[1], 1, 'arr[1]'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-170.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-170.js index 78ed126d76..bb54504641 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-170.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-170.js @@ -9,14 +9,10 @@ description: > of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' can stop deleting index named properties (15.4.5.1 step 3.l.ii) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = [0, 1]; - - try { +assert.throws(TypeError, function() { Object.defineProperty(arr, "1", { get: function () { return 1; @@ -29,11 +25,8 @@ function testcase() { value: 1 } }); - - return false; - } catch (e) { - return (e instanceof TypeError) && arr.length === 2 && - arr.hasOwnProperty("1") && arr[0] === 0 && arr[1] === 1; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 2, 'arr.length'); +assert(arr.hasOwnProperty("1"), 'arr.hasOwnProperty("1") !== true'); +assert.sameValue(arr[0], 0, 'arr[0]'); +assert.sameValue(arr[1], 1, 'arr[1]'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-175.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-175.js index b976470a79..c4a266ad4f 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-175.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-175.js @@ -9,26 +9,18 @@ description: > of the length property, test value of the length property is set to the last non-configurable index named property of 'O' plus 1 (15.4.5.1 step 3.l.iii.1) -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = [0, 1, 2, 3]; Object.defineProperty(arr, "1", { configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperties(arr, { length: { value: 1 } }); - return false; - } catch (e) { - return (e instanceof TypeError) && (arr.length === 2); - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.length, 2, 'arr.length'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-184.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-184.js index ec10693e0d..3fe016ff42 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-184.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-184.js @@ -8,27 +8,21 @@ description: > 'P' is an array index named property,[[Writable]] attribute of the length property in 'O' is false, value of 'P' is equal to value of the length property in 'O' (15.4.5.1 step 4.b) -includes: [runTestCase.js] ---*/ -function testcase() { var arr = [1, 2, 3]; Object.defineProperty(arr, "length", { writable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperties(arr, { "3": { value: "abc" } }); - - return false; - } catch (e) { - return e instanceof TypeError && arr[0] === 1 && - arr[1] === 2 && arr[2] === 3 && !arr.hasOwnProperty("3"); - } - } -runTestCase(testcase); +}); +assert.sameValue(arr[0], 1, 'arr[0]'); +assert.sameValue(arr[1], 2, 'arr[1]'); +assert.sameValue(arr[2], 3, 'arr[2]'); +assert.sameValue(arr.hasOwnProperty("3"), false, 'arr.hasOwnProperty("3")'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-185.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-185.js index 293ebe5205..3698753c54 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-185.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-185.js @@ -8,27 +8,22 @@ description: > 'P' is an array index named property,[[Writable]] attribute of the length property in 'O' is false, value of 'P' is bigger than value of the length property in 'O' (15.4.5.1 step 4.b) -includes: [runTestCase.js] ---*/ -function testcase() { var arr = [1, 2, 3]; Object.defineProperty(arr, "length", { writable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperties(arr, { "4": { value: "abc" } }); - - return false; - } catch (e) { - return e instanceof TypeError && arr[0] === 1 && arr[1] === 2 && - arr[2] === 3 && !arr.hasOwnProperty("3") && !arr.hasOwnProperty("4"); - } - } -runTestCase(testcase); +}); +assert.sameValue(arr[0], 1, 'arr[0]'); +assert.sameValue(arr[1], 2, 'arr[1]'); +assert.sameValue(arr[2], 3, 'arr[2]'); +assert.sameValue(arr.hasOwnProperty("3"), false, 'arr.hasOwnProperty("3")'); +assert.sameValue(arr.hasOwnProperty("4"), false, 'arr.hasOwnProperty("4")'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-186.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-186.js index 78f495b7d4..e5f5943f62 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-186.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-186.js @@ -6,26 +6,19 @@ es5id: 15.2.3.7-6-a-186 description: > Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own data property (15.4.5.1 step 4.c) -includes: [runTestCase.js] ---*/ -function testcase() { var arr = []; Object.defineProperty(arr, 0, { value: "ownDataProperty", configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperties(arr, { "0": { value: "abc", configurable: true } }); - return false; - } catch (e) { - return e instanceof TypeError && arr[0] === "ownDataProperty"; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr[0], "ownDataProperty", 'arr[0]'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-190.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-190.js index 936a9f811b..7ecdc01b2d 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-190.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-190.js @@ -6,10 +6,8 @@ es5id: 15.2.3.7-6-a-190 description: > Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own accessor property (15.4.5.1 step 4.c) -includes: [runTestCase.js] ---*/ -function testcase() { var arr = []; Object.defineProperty(arr, "0", { @@ -18,8 +16,7 @@ function testcase() { }, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperties(arr, { "0": { get: function () { @@ -28,9 +25,5 @@ function testcase() { configurable: true } }); - return false; - } catch (e) { - return e instanceof TypeError && arr[0] === 11; - } - } -runTestCase(testcase); +}); +assert.sameValue(arr[0], 11, 'arr[0]'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-194.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-194.js index 5a1858f962..7241a38ef7 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-194.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-194.js @@ -7,22 +7,15 @@ description: > Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test TypeError is thrown when 'O' is not extensible (15.4.5.1 step 4.c) -includes: [runTestCase.js] ---*/ -function testcase() { var arr = []; Object.preventExtensions(arr); - - try { +assert.throws(TypeError, function() { Object.defineProperties(arr, { "0": { value: 1 } }); - return false; - } catch (e) { - return (e instanceof TypeError) && (arr.hasOwnProperty("0") === false); - } - } -runTestCase(testcase); +}); +assert.sameValue(arr.hasOwnProperty("0"), false, 'arr.hasOwnProperty("0")'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-22.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-22.js index 83ec6d5b26..03026ecbe3 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-22.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-22.js @@ -7,10 +7,8 @@ description: > Object.defineProperties - 'O' is the Arguments object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 ) -includes: [runTestCase.js] ---*/ -function testcase() { var arg = function () { return arguments; }(); @@ -19,17 +17,11 @@ function testcase() { value: 11, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperties(arg, { prop: { value: 12, configurable: true } }); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-25.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-25.js index 9dad163538..3597664afa 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-25.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-25.js @@ -6,23 +6,16 @@ es5id: 15.2.3.7-6-a-25 description: > Object.defineProperties - 'P' doesn't exist in 'O', test TypeError is thrown when 'O' is not extensible (8.12.9 step 3) -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.preventExtensions(obj); - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: { value: 12, configurable: true } }); - return false; - } catch (e) { - return e instanceof TypeError && !obj.hasOwnProperty("prop"); - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.hasOwnProperty("prop"), false, 'obj.hasOwnProperty("prop")'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-286.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-286.js index 38efcf4b75..c65a852dc1 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-286.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-286.js @@ -9,11 +9,8 @@ description: > of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4) -includes: [runTestCase.js] ---*/ -function testcase() { - var arg; (function fun(a, b, c) { @@ -33,18 +30,15 @@ function testcase() { function get_func2() { return 10; } - try { +assert.throws(TypeError, function() { Object.defineProperties(arg, { "0": { get: get_func2 } }); - - return false; - } catch (e) { +}); var desc = Object.getOwnPropertyDescriptor(arg, "0"); - return e instanceof TypeError && desc.get === get_func1 && typeof desc.set === "undefined" && - desc.enumerable === false && desc.configurable === false; - } - } -runTestCase(testcase); +assert.sameValue(desc.get, get_func1, 'desc.get'); +assert.sameValue(typeof desc.set, "undefined", 'typeof desc.set'); +assert.sameValue(desc.enumerable, false, 'desc.enumerable'); +assert.sameValue(desc.configurable, false, 'desc.configurable'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-287.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-287.js index d30df0a295..798298cf88 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-287.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-287.js @@ -9,11 +9,8 @@ description: > of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4) -includes: [runTestCase.js] ---*/ -function testcase() { - var arg; (function fun(a, b, c) { @@ -34,18 +31,15 @@ function testcase() { function set_func(value) { arg.setVerifyHelpProp = value; } - try { +assert.throws(TypeError, function() { Object.defineProperties(arg, { "0": { set: set_func } }); - - return false; - } catch (e) { +}); var desc = Object.getOwnPropertyDescriptor(arg, "0"); - return e instanceof TypeError && desc.get === get_func && typeof desc.set === "undefined" && - desc.enumerable === false && desc.configurable === false; - } - } -runTestCase(testcase); +assert.sameValue(desc.get, get_func, 'desc.get'); +assert.sameValue(typeof desc.set, "undefined", 'typeof desc.set'); +assert.sameValue(desc.enumerable, false, 'desc.enumerable'); +assert.sameValue(desc.configurable, false, 'desc.configurable'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-3.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-3.js index c6b961343f..aa93f1f028 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-3.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-3.js @@ -6,10 +6,8 @@ es5id: 15.2.3.7-6-a-3 description: > Object.defineProperties - 'P' is own data property that overrides an inherited data property (8.12.9 step 1 ) -includes: [runTestCase.js] ---*/ -function testcase() { var proto = {}; Object.defineProperty(proto, "prop", { value: 11, @@ -23,17 +21,11 @@ function testcase() { value: 12, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: { value: 13, configurable: true } }); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-4.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-4.js index 5f2b8c7203..e1c624b551 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-4.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-4.js @@ -6,10 +6,8 @@ es5id: 15.2.3.7-6-a-4 description: > Object.defineProperties - 'P' is own data property that overrides an inherited accessor property (8.12.9 step 1 ) -includes: [runTestCase.js] ---*/ -function testcase() { var proto = {}; Object.defineProperty(proto, "prop", { get: function () { @@ -25,17 +23,11 @@ function testcase() { value: 12, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: { value: 13, configurable: true } }); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-7.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-7.js index 0c746d7d45..f46b1a03ae 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-7.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-7.js @@ -6,10 +6,8 @@ es5id: 15.2.3.7-6-a-7 description: > Object.defineProperties - 'P' is own accessor property that overrides an inherited data property (8.12.9 step 1 ) -includes: [runTestCase.js] ---*/ -function testcase() { var proto = {}; Object.defineProperty(proto, "prop", { value: 11, @@ -25,17 +23,12 @@ function testcase() { }, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: { value: 13, configurable: true } }); - return false; - } catch (e) { - return (e instanceof TypeError) && obj.prop === 12; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 12, 'obj.prop'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-8.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-8.js index 6a11a0b309..923f4fdc9b 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-8.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-8.js @@ -6,10 +6,8 @@ es5id: 15.2.3.7-6-a-8 description: > Object.defineProperties - 'P' is own accessor property that overrides an inherited accessor property (8.12.9 step 1 ) -includes: [runTestCase.js] ---*/ -function testcase() { var proto = {}; Object.defineProperty(proto, "prop", { get: function() { @@ -27,17 +25,12 @@ function testcase() { }, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: { value: 13, configurable: true } }); - return false; - } catch (e) { - return (e instanceof TypeError) && obj.prop === 12; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.prop, 12, 'obj.prop'); diff --git a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-9.js b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-9.js index e5934a5907..1b703ad31e 100644 --- a/test/built-ins/Object/defineProperties/15.2.3.7-6-a-9.js +++ b/test/built-ins/Object/defineProperties/15.2.3.7-6-a-9.js @@ -6,26 +6,18 @@ es5id: 15.2.3.7-6-a-9 description: > Object.defineProperties - 'P' is own accessor property without a get function (8.12.9 step 1 ) -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { set: function () { }, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperties(obj, { prop: { get: function () { }, configurable: true } }); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-1-1.js b/test/built-ins/Object/defineProperty/15.2.3.6-1-1.js index 2e7cae54ec..07851ab52a 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-1-1.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-1-1.js @@ -4,15 +4,8 @@ /*--- es5id: 15.2.3.6-1-1 description: Object.defineProperty applied to undefined throws a TypeError -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.defineProperty(undefined, "foo", {}); - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-1-2.js b/test/built-ins/Object/defineProperty/15.2.3.6-1-2.js index e2a39b2469..ad1ef64aaa 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-1-2.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-1-2.js @@ -4,15 +4,8 @@ /*--- es5id: 15.2.3.6-1-2 description: Object.defineProperty applied to null throws a TypeError -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.defineProperty(null, "foo", {}); - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-1-3.js b/test/built-ins/Object/defineProperty/15.2.3.6-1-3.js index b9b4340855..7fac12e1be 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-1-3.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-1-3.js @@ -6,15 +6,8 @@ es5id: 15.2.3.6-1-3 description: > Object.defineProperty applied to number primitive throws a TypeError -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.defineProperty(5, "foo", {}); - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-1-4.js b/test/built-ins/Object/defineProperty/15.2.3.6-1-4.js index 3c3292f3b5..2f0f774641 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-1-4.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-1-4.js @@ -6,15 +6,8 @@ es5id: 15.2.3.6-1-4 description: > Object.defineProperty applied to string primitive throws a TypeError -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.defineProperty("hello\nworld\\!", "foo", {}); - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-1.js b/test/built-ins/Object/defineProperty/15.2.3.6-1.js index c914dc7bcc..c3459ee28e 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-1.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-1.js @@ -6,17 +6,8 @@ es5id: 15.2.3.6-1 description: > Object.defineProperty throws TypeError if type of first param is not Object -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Object.defineProperty(true, "foo", {}); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-2-47.js b/test/built-ins/Object/defineProperty/15.2.3.6-2-47.js index e1d7435b05..1fa4963c1a 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-2-47.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-2-47.js @@ -7,10 +7,8 @@ description: > Object.defineProperty - TypeError exception is thrown when 'P' is an object that neither toString nor valueOf returns a primitive value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var toStringAccessed = false; var valueOfAccessed = false; @@ -25,12 +23,8 @@ function testcase() { return {}; } }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, ownProp, {}); - return false; - } catch (e) { - return valueOfAccessed && toStringAccessed && e instanceof TypeError; - } - } -runTestCase(testcase); +}); +assert(valueOfAccessed, 'valueOfAccessed !== true'); +assert(toStringAccessed, 'toStringAccessed !== true'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-1.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-1.js index cd3a857fd3..2dcf9d6697 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-3-1.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-1.js @@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-1 description: > Object.defineProperty throws TypeError if desc has 'get' and 'value' present(8.10.5 step 9.a) -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // dummy getter var getter = function () { return 1; } var desc = { get: getter, value: 101}; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError && - (o.hasOwnProperty("foo") === false)) { - return true; - } - } - } -runTestCase(testcase); +}); +assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-10.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-10.js index d8ac440cf9..aa3bc8ca8c 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-3-10.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-10.js @@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-10 description: > Object.defineProperty throws TypeError if setter is not callable but not undefined (Number)(8.10.5 step 8.b) -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // dummy setter var setter = 42; var desc = { set: setter }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError && - (o.hasOwnProperty("foo") === false)) { - return true; - } - } - } -runTestCase(testcase); +}); +assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-11.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-11.js index 2af0b34957..fb3a335b56 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-3-11.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-11.js @@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-11 description: > Object.defineProperty throws TypeError if setter is not callable but not undefined (Boolean)(8.10.5 step 8.b) -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // dummy setter var setter = true; var desc = { set: setter }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError && - (o.hasOwnProperty("foo") === false)) { - return true; - } - } - } -runTestCase(testcase); +}); +assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-12.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-12.js index d14a9006e8..6435a0d7a4 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-3-12.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-12.js @@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-12 description: > Object.defineProperty throws TypeError if setter is not callable but not undefined (String)(8.10.5 step 8.b) -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // dummy setter var setter = "abc"; var desc = { set: setter }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError && - (o.hasOwnProperty("foo") === false)) { - return true; - } - } - } -runTestCase(testcase); +}); +assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-13.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-13.js index 311f910aad..dfd980d6a2 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-3-13.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-13.js @@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-13 description: > Object.defineProperty throws TypeError if the setter in desc is not callable (Null)(8.10.5 step 8.b) -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // dummy setter var setter = null; var desc = { set: setter }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError && - (o.hasOwnProperty("foo") === false)) { - return true; - } - } - } -runTestCase(testcase); +}); +assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-14.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-14.js index e77f34afc9..0ae2a83500 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-3-14.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-14.js @@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-14 description: > Object.defineProperty throws TypeError if setter is not callable but not undefined (Object)(8.10.5 step 8.b) -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // dummy getter var setter = { a: 1 }; var desc = { set: setter }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError && - (o.hasOwnProperty("foo") === false)) { - return true; - } - } - } -runTestCase(testcase); +}); +assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-15.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-15.js index fa8505aa04..03bca14f13 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-3-15.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-15.js @@ -4,18 +4,9 @@ /*--- es5id: 15.2.3.6-3-15 description: Object.defineProperty - 'Attributes' is undefined (8.10.5 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = {}; - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "property", undefined); - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-16.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-16.js index f69e46b1b8..e56a08412e 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-3-16.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-16.js @@ -4,16 +4,8 @@ /*--- es5id: 15.2.3.6-3-16 description: Object.defineProperty - 'Attributes' is null (8.10.5 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { - - try { +assert.throws(TypeError, function() { Object.defineProperty({}, "property", null); - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-17.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-17.js index 21e9cf4d29..855ddf4b2e 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-3-17.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-17.js @@ -6,16 +6,8 @@ es5id: 15.2.3.6-3-17 description: > Object.defineProperty - 'Attributes' is a boolean primitive (8.10.5 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { - - try { +assert.throws(TypeError, function() { Object.defineProperty({}, "property", true); - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-18.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-18.js index b3cb2ae4ee..c2f3bcd673 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-3-18.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-18.js @@ -6,16 +6,8 @@ es5id: 15.2.3.6-3-18 description: > Object.defineProperty - 'Attributes' is a number primitive (8.10.5 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { - - try { +assert.throws(TypeError, function() { Object.defineProperty({}, "property", 12); - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-19.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-19.js index 4ea8af8ed5..c108213483 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-3-19.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-19.js @@ -6,16 +6,8 @@ es5id: 15.2.3.6-3-19 description: > Object.defineProperty - 'Attributes' is a string primitive (8.10.5 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { - - try { +assert.throws(TypeError, function() { Object.defineProperty({}, "property", "abc"); - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-2.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-2.js index c42ad2d384..768645e349 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-3-2.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-2.js @@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-2 description: > Object.defineProperty throws TypeError if desc has 'get' and 'writable' present(8.10.5 step 9.a) -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // dummy getter var getter = function () { return 1; } var desc = { get: getter, writable: false }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError && - (o.hasOwnProperty("foo") === false)) { - return true; - } - } - } -runTestCase(testcase); +}); +assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-3.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-3.js index a3a8ef7d44..7a254a689b 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-3-3.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-3.js @@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-3 description: > Object.defineProperty throws TypeError if desc has 'set' and 'value' present(8.10.5 step 9.a) -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // dummy setter var setter = function () { } var desc = { set: setter, value: 101}; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError && - (o.hasOwnProperty("foo") === false)) { - return true; - } - } - } -runTestCase(testcase); +}); +assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-4.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-4.js index 85fb4c8118..14d006411b 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-3-4.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-4.js @@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-4 description: > Object.defineProperty throws TypeError if desc has 'set' and 'writable' present(8.10.5 step 9.a) -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // dummy getter var setter = function () { } var desc = { set: setter, writable: false }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError && - (o.hasOwnProperty("foo") === false)) { - return true; - } - } - } -runTestCase(testcase); +}); +assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-5.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-5.js index 6d9530c883..af67691860 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-3-5.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-5.js @@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-5 description: > Object.defineProperty throws TypeError if getter is not callable but not undefined (Number)(8.10.5 step 7.b) -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // dummy getter var getter = 42; var desc = { get: getter }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError && - (o.hasOwnProperty("foo") === false)) { - return true; - } - } - } -runTestCase(testcase); +}); +assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-6.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-6.js index 8580c10ff1..075befa12a 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-3-6.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-6.js @@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-6 description: > Object.defineProperty throws TypeError if getter is not callable but not undefined (Boolean)(8.10.5 step 7.b) -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // dummy getter var getter = true; var desc = { get: getter }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError && - (o.hasOwnProperty("foo") === false)) { - return true; - } - } - } -runTestCase(testcase); +}); +assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-7.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-7.js index e048b74ec1..9625de703c 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-3-7.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-7.js @@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-7 description: > Object.defineProperty throws TypeError if getter is not callable but not undefined (String)(8.10.5 step 7.b) -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // dummy getter var getter = "abc"; var desc = { get: getter }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError && - (o.hasOwnProperty("foo") === false)) { - return true; - } - } - } -runTestCase(testcase); +}); +assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-8.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-8.js index 70e9387f02..a719492994 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-3-8.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-8.js @@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-8 description: > Object.defineProperty throws TypeError if getter is not callable but not undefined (Null)(8.10.5 step 7.b) -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // dummy getter var getter = null; var desc = { get: getter }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError && - (o.hasOwnProperty("foo") === false)) { - return true; - } - } - } -runTestCase(testcase); +}); +assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-3-9.js b/test/built-ins/Object/defineProperty/15.2.3.6-3-9.js index 2cd8c3e6a5..eb1e1b17e0 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-3-9.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-3-9.js @@ -10,24 +10,14 @@ es5id: 15.2.3.6-3-9 description: > Object.defineProperty throws TypeError if getter is not callable but not undefined (Object)(8.10.5 step 7.b) -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // dummy getter var getter = { a: 1 }; var desc = { get: getter }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError && - (o.hasOwnProperty("foo") === false)) { - return true; - } - } - } -runTestCase(testcase); +}); +assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-1.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-1.js index 92413a320f..8fcec00fed 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-1.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-1.js @@ -12,22 +12,12 @@ es5id: 15.2.3.6-4-1 description: > Object.defineProperty throws TypeError when adding properties to non-extensible objects(8.12.9 step 3) -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; Object.preventExtensions(o); - - try { +assert.throws(TypeError, function() { var desc = { value: 1 }; Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError && - (o.hasOwnProperty("foo") === false)) { - return true; - } - } - } -runTestCase(testcase); +}); +assert.sameValue(o.hasOwnProperty("foo"), false, 'o.hasOwnProperty("foo")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-10.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-10.js index c8c916b5be..096d483e01 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-10.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-10.js @@ -12,10 +12,8 @@ description: > Object.defineProperty throws TypeError when changing [[Enumerable]] from false to true on non-configurable accessor properties -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // create an accessor property; all other attributes default to false. @@ -27,20 +25,11 @@ function testcase() { // now, setting enumerable to true should fail, since [[Configurable]] // on the original property will be false. var desc = { get: getter, enumerable: true }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError) { +}); // the property should remain unchanged. var d2 = Object.getOwnPropertyDescriptor(o, "foo"); - if (d2.get === getter && - d2.enumerable === false && - d2.configurable === false) { - return true; - } - } - } - } -runTestCase(testcase); +assert.sameValue(d2.get, getter, 'd2.get'); +assert.sameValue(d2.enumerable, false, 'd2.enumerable'); +assert.sameValue(d2.configurable, false, 'd2.configurable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-11.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-11.js index c2e53cabbf..c2f96ae2b0 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-11.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-11.js @@ -12,10 +12,8 @@ description: > Object.defineProperty throws TypeError when changing [[Enumerable]] from true to false on non-configurable accessor properties -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // create an accessor property; all other attributes default to false. @@ -27,20 +25,11 @@ function testcase() { // now, setting enumerable to true should fail, since [[Configurable]] // on the original property will be false. var desc = { get: getter, enumerable: false }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError) { +}); // the property should remain unchanged. var d2 = Object.getOwnPropertyDescriptor(o, "foo"); - if (d2.get === getter && - d2.enumerable === true && - d2.configurable === false) { - return true; - } - } - } - } -runTestCase(testcase); +assert.sameValue(d2.get, getter, 'd2.get'); +assert.sameValue(d2.enumerable, true, 'd2.enumerable'); +assert.sameValue(d2.configurable, false, 'd2.configurable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-12.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-12.js index ccaee1e473..a2d049bb34 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-12.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-12.js @@ -10,10 +10,8 @@ es5id: 15.2.3.6-4-12 description: > Object.defineProperty throws TypeError when changing non-configurable data properties to accessor properties -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // create a data valued property; all other attributes default to false. @@ -27,20 +25,12 @@ function testcase() { var getter = function () { return 1; } var desc = { get: getter }; - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError) { +}); // the property should remain a data valued property. var d2 = Object.getOwnPropertyDescriptor(o, "foo"); - if (d2.value === 101 && - d2.writable === false && - d2.enumerable === false && - d2.configurable === false) { - return true; - } - } - } - } -runTestCase(testcase); +assert.sameValue(d2.value, 101, 'd2.value'); +assert.sameValue(d2.writable, false, 'd2.writable'); +assert.sameValue(d2.enumerable, false, 'd2.enumerable'); +assert.sameValue(d2.configurable, false, 'd2.configurable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-120.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-120.js index 1c4501485f..62f3f419f9 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-120.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-120.js @@ -8,19 +8,11 @@ description: > property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Configurable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = []; - try { +assert.throws(TypeError, function() { Object.defineProperty(arrObj, "length", { configurable: true }); - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-121.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-121.js index 6449cbe9d2..3122743c37 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-121.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-121.js @@ -8,19 +8,11 @@ description: > property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Enumerable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = []; - try { +assert.throws(TypeError, function() { Object.defineProperty(arrObj, "length", { enumerable: true }); - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-122.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-122.js index 0a7961a318..d65953e879 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-122.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-122.js @@ -7,21 +7,13 @@ description: > Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test TypeError is thrown when 'desc' is accessor descriptor (15.4.5.1 step 3.a.i) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = []; - try { +assert.throws(TypeError, function() { Object.defineProperty(arrObj, "length", { get: function () { return 2; } }); - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-123.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-123.js index c4bdd45b44..f807ba2524 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-123.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-123.js @@ -8,23 +8,14 @@ description: > property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Writable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = []; - try { +assert.throws(TypeError, function() { Object.defineProperty(arrObj, "length", { writable: false }); Object.defineProperty(arrObj, "length", { writable: true }); - - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-125.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-125.js index beae885f57..32c8228330 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-125.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-125.js @@ -7,20 +7,11 @@ description: > Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test that RangeError exception is thrown when [[Value]] field of 'desc' is undefined (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = []; - - try { +assert.throws(RangeError, function() { Object.defineProperty(arrObj, "length", { value: undefined }); - return false; - } catch (e) { - return e instanceof RangeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-13.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-13.js index f815a71f59..dba8d0421e 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-13.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-13.js @@ -10,10 +10,8 @@ es5id: 15.2.3.6-4-13 description: > Object.defineProperty throws TypeError when changing non-configurable accessor properties to data properties -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // create an accessor property; all other attributes default to false. @@ -26,19 +24,10 @@ function testcase() { // changing "foo" to be a data property should fail, since [[Configurable]] // on the original property will be false. var desc = { value: 101 }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError) { +}); // the property should remain an accessor property. var d2 = Object.getOwnPropertyDescriptor(o, "foo"); - if (d2.get === getter && - d2.configurable === false) { - return true; - } - } - } - } -runTestCase(testcase); +assert.sameValue(d2.get, getter, 'd2.get'); +assert.sameValue(d2.configurable, false, 'd2.configurable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-133.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-133.js index a9d8b98258..990f4c1905 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-133.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-133.js @@ -7,20 +7,11 @@ description: > Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a negative number (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = []; - - try { +assert.throws(RangeError, function() { Object.defineProperty(arrObj, "length", { value: -9 }); - return false; - } catch (e) { - return e instanceof RangeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-134.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-134.js index ec83b561cb..6141877b5a 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-134.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-134.js @@ -7,20 +7,11 @@ description: > Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is +Infinity (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = []; - - try { +assert.throws(RangeError, function() { Object.defineProperty(arrObj, "length", { value: +Infinity }); - return false; - } catch (e) { - return e instanceof RangeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-135.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-135.js index 4822a56395..fa36e838f2 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-135.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-135.js @@ -7,20 +7,11 @@ description: > Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is -Infinity (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = []; - - try { +assert.throws(RangeError, function() { Object.defineProperty(arrObj, "length", { value: -Infinity }); - return false; - } catch (e) { - return e instanceof RangeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-136.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-136.js index 2aac312bb1..a4b4c1b79e 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-136.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-136.js @@ -7,20 +7,11 @@ description: > Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is NaN (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = []; - - try { +assert.throws(RangeError, function() { Object.defineProperty(arrObj, "length", { value: NaN }); - return false; - } catch (e) { - return e instanceof RangeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-138.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-138.js index 0cc3097626..b1f9b8fc6b 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-138.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-138.js @@ -8,21 +8,11 @@ description: > property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string containing a negative number (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = []; - - try { +assert.throws(RangeError, function() { Object.defineProperty(arrObj, "length", { value: "-42" }); - return false; - } catch (e) { - return e instanceof RangeError; - } - - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-139.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-139.js index f1d0616bb9..13a4b9380b 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-139.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-139.js @@ -8,21 +8,11 @@ description: > property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string containing a decimal number (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = []; - - try { +assert.throws(RangeError, function() { Object.defineProperty(arrObj, "length", { value: "200.59" }); - return false; - } catch (e) { - return e instanceof RangeError; - } - - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-140.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-140.js index d34bb0a5e4..65d068b74e 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-140.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-140.js @@ -8,21 +8,11 @@ description: > property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string containing +Infinity (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = []; - - try { +assert.throws(RangeError, function() { Object.defineProperty(arrObj, "length", { value: "+Infinity" }); - return false; - } catch (e) { - return e instanceof RangeError; - } - - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-141.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-141.js index b6627d57d6..a39d1564a6 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-141.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-141.js @@ -8,20 +8,11 @@ description: > property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string containing -Infinity (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = []; - - try { +assert.throws(RangeError, function() { Object.defineProperty(arrObj, "length", { value: "-Infinity" }); - return false; - } catch (e) { - return e instanceof RangeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-145.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-145.js index d8aabcd36f..8909f1994b 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-145.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-145.js @@ -8,20 +8,11 @@ description: > property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string which doesn't convert to a number (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = []; - - try { +assert.throws(RangeError, function() { Object.defineProperty(arrObj, "length", { value: "two" }); - return false; - } catch (e) { - return e instanceof RangeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-150.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-150.js index 38ee2aad76..caafe22910 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-150.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-150.js @@ -8,16 +8,12 @@ description: > property of 'O', test TypeError is thrown when the [[Value]] field of 'desc' is an Object that both toString and valueOf wouldn't return primitive value (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = []; var toStringAccessed = false; var valueOfAccessed = false; - - try { +assert.throws(TypeError, function() { Object.defineProperty(arrObj, "length", { value: { toString: function () { @@ -31,10 +27,6 @@ function testcase() { } } }); - return false; - - } catch (e) { - return e instanceof TypeError && toStringAccessed && valueOfAccessed; - } - } -runTestCase(testcase); +}); +assert(toStringAccessed, 'toStringAccessed !== true'); +assert(valueOfAccessed, 'valueOfAccessed !== true'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-152.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-152.js index b06f8237bf..e3975ad9ef 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-152.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-152.js @@ -8,21 +8,11 @@ description: > property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is a positive non-integer values (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = []; - - try { +assert.throws(RangeError, function() { Object.defineProperty(arrObj, "length", { value: 123.5 }); - - return false; - } catch (e) { - return e instanceof RangeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-153.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-153.js index fd3320eab5..dc60afadfc 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-153.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-153.js @@ -8,22 +8,11 @@ description: > property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is a negative non-integer values (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = []; - - try { +assert.throws(RangeError, function() { Object.defineProperty(arrObj, "length", { value: -4294967294.5 }); - - return false; - } catch (e) { - return e instanceof RangeError; - } - - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-156.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-156.js index 2975917f60..010a2237c7 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-156.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-156.js @@ -7,21 +7,11 @@ description: > Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is boundary value 2^32 (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = []; - - try { +assert.throws(RangeError, function() { Object.defineProperty(arrObj, "length", { value: 4294967296 }); - return false; - } catch (e) { - return e instanceof RangeError; - } - - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-157.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-157.js index 10a0fa8122..24b4e08ee3 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-157.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-157.js @@ -7,21 +7,11 @@ description: > Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is boundary value 2^32 + 1 (15.4.5.1 step 3.c) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = []; - - try { +assert.throws(RangeError, function() { Object.defineProperty(arrObj, "length", { value: 4294967297 }); - return false; - } catch (e) { - return e instanceof RangeError; - } - - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-16.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-16.js index 740c359d3e..ac5f523303 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-16.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-16.js @@ -10,10 +10,8 @@ es5id: 15.2.3.6-4-16 description: > Object.defineProperty throws TypeError when relaxing [[Writable]] on non-configurable data properties -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // create a data valued property; all other attributes default to false. @@ -23,21 +21,12 @@ function testcase() { // now, relaxing [[Writable]] on "foo" should fail, since both // [[Configurable]] and [[Writable]] on the original property will be false. var desc = { value: 101, writable: true }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError) { +}); // the property should remain unchanged. var d2 = Object.getOwnPropertyDescriptor(o, "foo"); - if (d2.value === 101 && - d2.writable === false && - d2.enumerable === false && - d2.configurable === false) { - return true; - } - } - } - } -runTestCase(testcase); +assert.sameValue(d2.value, 101, 'd2.value'); +assert.sameValue(d2.writable, false, 'd2.writable'); +assert.sameValue(d2.enumerable, false, 'd2.enumerable'); +assert.sameValue(d2.configurable, false, 'd2.configurable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-162.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-162.js index d0e9c25b97..dd21806a7a 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-162.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-162.js @@ -8,24 +8,15 @@ description: > property of 'O', the [[Value]] field of 'desc' is greater than value of the length property, test TypeError is thrown when the length property is not writable (15.4.5.1 step 3.f.i) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = []; Object.defineProperty(arrObj, "length", { writable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(arrObj, "length", { value: 12 }); - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-164.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-164.js index 89837ebee0..c8a0513c78 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-164.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-164.js @@ -9,24 +9,15 @@ description: > of the length property, test TypeError is thrown when the [[Writable]] attribute of the length property is false (15.4.5.1 step 3.g) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = [0, 1]; Object.defineProperty(arrObj, "length", { writable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(arrObj, "length", { value: 0 }); - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-168.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-168.js index 584c171fc0..1cb70eb370 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-168.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-168.js @@ -12,14 +12,10 @@ description: > value greater than the non-deletable index by 1, writable attribute of length is set to false and TypeError exception is thrown (15.4.5.1 step 3.i.iii) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = [0, 1, 2]; - - try { +assert.throws(TypeError, function() { Object.defineProperty(arrObj, "1", { configurable: false }); @@ -28,9 +24,5 @@ function testcase() { value: 0, writable: false }); - return false; - } catch (e) { - return e instanceof TypeError && arrObj.length === 2; - } - } -runTestCase(testcase); +}); +assert.sameValue(arrObj.length, 2, 'arrObj.length'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-169.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-169.js index 2244260fa4..15aff61900 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-169.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-169.js @@ -10,11 +10,8 @@ description: > which is set to configurable: false, test that new length is set to a value greater than the non-deletable index by 1, and TypeError is thrown (15.4.5.1 step 3.l.i) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = [0, 1, 2]; Object.defineProperty(arrObj, "1", { @@ -24,14 +21,10 @@ function testcase() { Object.defineProperty(arrObj, "2", { configurable: true }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(arrObj, "length", { value: 1 }); - return false; - } catch (e) { - return e instanceof TypeError && arrObj.length === 2 && !arrObj.hasOwnProperty("2"); - } - } -runTestCase(testcase); +}); +assert.sameValue(arrObj.length, 2, 'arrObj.length'); +assert.sameValue(arrObj.hasOwnProperty("2"), false, 'arrObj.hasOwnProperty("2")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-17.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-17.js index 4303b1ac5a..9a945d76c5 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-17.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-17.js @@ -10,10 +10,8 @@ es5id: 15.2.3.6-4-17 description: > Object.defineProperty throws TypeError when changing value of non-writable non-configurable data properties -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // create a data valued property; all other attributes default to false. @@ -23,22 +21,13 @@ function testcase() { // now, trying to change the value of "foo" should fail, since both // [[Configurable]] and [[Writable]] on the original property will be false. var desc = { value: 102 }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError) { +}); // the property should remain unchanged. var d2 = Object.getOwnPropertyDescriptor(o, "foo"); - if (d2.value === 101 && - d2.writable === false && - d2.enumerable === false && - d2.configurable === false) { - return true; - } - } - } - } -runTestCase(testcase); +assert.sameValue(d2.value, 101, 'd2.value'); +assert.sameValue(d2.writable, false, 'd2.writable'); +assert.sameValue(d2.enumerable, false, 'd2.enumerable'); +assert.sameValue(d2.configurable, false, 'd2.configurable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-170.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-170.js index 2760005677..4650c357eb 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-170.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-170.js @@ -11,14 +11,10 @@ description: > to a value greater than the non-deletable index by 1, writable attribute of length is set to false and TypeError exception is thrown (15.4.5.1 step 3.l.ii) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = [0, 1]; - - try { +assert.throws(TypeError, function() { Object.defineProperty(arrObj, "1", { configurable: false }); @@ -26,10 +22,6 @@ function testcase() { Object.defineProperty(arrObj, "length", { value: 1 }); - - return false; - } catch (e) { - return e instanceof TypeError && arrObj.length === 2 && arrObj.hasOwnProperty("1"); - } - } -runTestCase(testcase); +}); +assert.sameValue(arrObj.length, 2, 'arrObj.length'); +assert(arrObj.hasOwnProperty("1"), 'arrObj.hasOwnProperty("1") !== true'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-174.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-174.js index 4563a5da4f..422632e805 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-174.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-174.js @@ -9,14 +9,10 @@ description: > of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' can stop deleting index named properties (15.4.5.1 step 3.l.ii) -includes: [runTestCase.js] ---*/ -function testcase() { - var arrObj = [0, 1]; - - try { +assert.throws(TypeError, function() { Object.defineProperty(arrObj, "1", { get: function () { return 1; @@ -27,10 +23,6 @@ function testcase() { Object.defineProperty(arrObj, "length", { value: 1 }); - - return false; - } catch (e) { - return e instanceof TypeError && arrObj.length === 2 && arrObj.hasOwnProperty("1"); - } - } -runTestCase(testcase); +}); +assert.sameValue(arrObj.length, 2, 'arrObj.length'); +assert(arrObj.hasOwnProperty("1"), 'arrObj.hasOwnProperty("1") !== true'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-18.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-18.js index f9f358abfd..ff511f4019 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-18.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-18.js @@ -10,10 +10,8 @@ es5id: 15.2.3.6-4-18 description: > Object.defineProperty throws TypeError when changing setter of non-configurable accessor properties(8.12.9 step 11.a.i) -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // create an accessor property; all other attributes default to false. @@ -26,20 +24,11 @@ function testcase() { // on the original property will be false. var setter = function (x) {}; var desc = { set: setter }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError) { +}); // the property should remain unchanged. var d2 = Object.getOwnPropertyDescriptor(o, "foo"); - if (d2.get === getter && - d2.configurable === false && - d2.enumerable === false) { - return true; - } - } - } - } -runTestCase(testcase); +assert.sameValue(d2.get, getter, 'd2.get'); +assert.sameValue(d2.configurable, false, 'd2.configurable'); +assert.sameValue(d2.enumerable, false, 'd2.enumerable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-188.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-188.js index 83b2820194..53b68caf95 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-188.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-188.js @@ -8,24 +8,15 @@ description: > named property, test TypeError is thrown if the [[Writable]] attribute of the length property in 'O' is false and value of 'name' equals to value of the length property (15.4.5.1 step 4.b) -includes: [runTestCase.js] ---*/ -function testcase() { var arrObj = [1, 2, 3]; Object.defineProperty(arrObj, "length", { writable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(arrObj, 3, { value: "abc" }); - - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-189.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-189.js index 2308e831f8..f67443f475 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-189.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-189.js @@ -9,24 +9,15 @@ description: > attribute of the length property in 'O' is false and value of 'name' is greater than value of the length property (15.4.5.1 step 4.b) -includes: [runTestCase.js] ---*/ -function testcase() { var arrObj = [1, 2, 3]; Object.defineProperty(arrObj, "length", { writable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(arrObj, 4, { value: "abc" }); - - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-198.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-198.js index d10e7f75ef..27354b58dd 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-198.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-198.js @@ -7,19 +7,12 @@ description: > Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O', test TypeError is thrown when 'O' is not extensible (15.4.5.1 step 4.c) -includes: [runTestCase.js] ---*/ -function testcase() { var arrObj = []; Object.preventExtensions(arrObj); - - try { +assert.throws(TypeError, function() { var desc = { value: 1 }; Object.defineProperty(arrObj, "0", desc); - return false; - } catch (e) { - return e instanceof TypeError && (arrObj.hasOwnProperty("0") === false); - } - } -runTestCase(testcase); +}); +assert.sameValue(arrObj.hasOwnProperty("0"), false, 'arrObj.hasOwnProperty("0")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-20.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-20.js index 490183f734..a40764a323 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-20.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-20.js @@ -11,10 +11,8 @@ description: > Object.defineProperty throws TypeError when changing getter (if present) of non-configurable accessor properties(8.12.9 step 11.a.ii) -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // create an accessor property; all other attributes default to false. @@ -26,20 +24,11 @@ function testcase() { // now, trying to change the setter should fail, since [[Configurable]] // on the original property will be false. var desc = { get: undefined }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError) { +}); var d2 = Object.getOwnPropertyDescriptor(o, "foo"); - if (d2.get === getter && - d2.configurable === false && - d2.enumerable === false) { - return true; - } - } - } - } -runTestCase(testcase); +assert.sameValue(d2.get, getter, 'd2.get'); +assert.sameValue(d2.configurable, false, 'd2.configurable'); +assert.sameValue(d2.enumerable, false, 'd2.enumerable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-22.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-22.js index 7a536dfc91..6643da65d9 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-22.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-22.js @@ -6,24 +6,17 @@ es5id: 15.2.3.6-4-22 description: > Object.defineProperty - 'name' is existing own data property (8.12.9 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "foo", { value: 11, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "foo", { value: 12, configurable: true }); - return false; - } catch (e) { - return e instanceof TypeError && obj.foo === 11; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.foo, 11, 'obj.foo'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-24.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-24.js index 7ffd5748e0..a1e7f654f9 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-24.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-24.js @@ -6,10 +6,8 @@ es5id: 15.2.3.6-4-24 description: > Object.defineProperty - 'name' is own data property that overrides an inherited data property (8.12.9 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { var proto = {}; Object.defineProperty(proto, "foo", { value: 12, @@ -23,14 +21,9 @@ function testcase() { value: 11, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "foo", { configurable: true }); - return false; - } catch (e) { - return e instanceof TypeError && obj.foo === 11; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.foo, 11, 'obj.foo'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-25.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-25.js index ef42415f15..0dafb044a0 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-25.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-25.js @@ -6,10 +6,8 @@ es5id: 15.2.3.6-4-25 description: > Object.defineProperty - 'data' is own data property that overrides an inherited accessor property (8.12.9 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { var proto = {}; Object.defineProperty(proto, "foo", { get: function () { }, @@ -23,14 +21,9 @@ function testcase() { value: 11, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "foo", { configurable: true }); - return false; - } catch (e) { - return e instanceof TypeError && obj.foo === 11; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.foo, 11, 'obj.foo'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-26.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-26.js index ec2e4c818a..5a6c52ba57 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-26.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-26.js @@ -6,10 +6,8 @@ es5id: 15.2.3.6-4-26 description: > Object.defineProperty - 'name' is own accessor property (8.12.9 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "property", { @@ -18,17 +16,12 @@ function testcase() { }, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "property", { get: function () { return 12; }, configurable: true }); - return false; - } catch (e) { - return e instanceof TypeError && obj.property === 11; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.property, 11, 'obj.property'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-28.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-28.js index c3b6b50192..e2918e4bb0 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-28.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-28.js @@ -6,10 +6,8 @@ es5id: 15.2.3.6-4-28 description: > Object.defineProperty - 'name' is own accessor property that overrides an inherited data property (8.12.9 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { var proto = {}; Object.defineProperty(proto, "foo", { value: 11, @@ -23,14 +21,8 @@ function testcase() { get: function () { }, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "foo", { configurable: true }); - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-29.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-29.js index 0c11ec0bdc..249380afc9 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-29.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-29.js @@ -6,10 +6,8 @@ es5id: 15.2.3.6-4-29 description: > Object.defineProperty - 'name' is own accessor property that overrides an inherited accessor property (8.12.9 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { var proto = {}; Object.defineProperty(proto, "foo", { get: function () { }, @@ -23,14 +21,8 @@ function testcase() { get: function () { }, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "foo", { configurable: true }); - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-30.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-30.js index a30d398841..3c42e298dd 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-30.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-30.js @@ -6,23 +6,15 @@ es5id: 15.2.3.6-4-30 description: > Object.defineProperty - 'name' is own accessor property without a get function (8.12.9 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "foo", { set: function () { }, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "foo", { configurable: true }); - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-31.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-31.js index c3cff89f91..3a2098e1e0 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-31.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-31.js @@ -7,10 +7,8 @@ description: > Object.defineProperty - 'name' is own accessor property without a get function that overrides an inherited accessor property(8.12.9 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { var proto = {}; Object.defineProperty(proto, "foo", { get: function () { }, @@ -24,14 +22,8 @@ function testcase() { set: function () { }, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "foo", { configurable: true }); - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-33.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-33.js index 1e0a811862..0f95d6cf57 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-33.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-33.js @@ -7,25 +7,18 @@ description: > Object.defineProperty - 'O' is a Function object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { var fun = function () { }; Object.defineProperty(fun, "foo", { value: 12, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(fun, "foo", { value: 11, configurable: true }); - return false; - } catch (e) { - return e instanceof TypeError && fun.foo === 12; - } - } -runTestCase(testcase); +}); +assert.sameValue(fun.foo, 12, 'fun.foo'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-337.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-337.js index c91bd20ac9..a09c71134b 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-337.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-337.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update [[Enumerable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { @@ -22,15 +20,13 @@ function testcase() { var propertyDefineCorrect = obj.hasOwnProperty("prop"); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { enumerable: false }); - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return propertyDefineCorrect && desc1.enumerable === true && obj.prop === 2010 && desc2.enumerable === true && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(propertyDefineCorrect, 'propertyDefineCorrect !== true'); +assert.sameValue(desc1.enumerable, true, 'desc1.enumerable'); +assert.sameValue(obj.prop, 2010, 'obj.prop'); +assert.sameValue(desc2.enumerable, true, 'desc2.enumerable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-338.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-338.js index 38f563aa0f..45425687a7 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-338.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-338.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update [[Configurable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { @@ -21,15 +19,13 @@ function testcase() { }); var propertyDefineCorrect = obj.hasOwnProperty("prop"); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { configurable: true }); - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return propertyDefineCorrect && desc1.configurable === false && obj.prop === 2010 && desc2.configurable === false && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(propertyDefineCorrect, 'propertyDefineCorrect !== true'); +assert.sameValue(desc1.configurable, false, 'desc1.configurable'); +assert.sameValue(obj.prop, 2010, 'obj.prop'); +assert.sameValue(desc2.configurable, false, 'desc2.configurable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-339-1.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-339-1.js index 01b6f0230b..f4523b9af9 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-339-1.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-339-1.js @@ -8,10 +8,8 @@ description: > attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false to an accessor property does not succeed, 'A' is an Array object (8.12.9 - step 9.a) -includes: [runTestCase.js] ---*/ -function testcase() { var obj = []; Object.defineProperty(obj, "0", { @@ -26,14 +24,13 @@ function testcase() { function getFunc() { return 20; } - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "0", { get: getFunc }); - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "0"); - return propertyDefineCorrect && desc1.value === 2010 && obj[0] === 2010 && typeof desc2.get === "undefined" && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(propertyDefineCorrect, 'propertyDefineCorrect !== true'); +assert.sameValue(desc1.value, 2010, 'desc1.value'); +assert.sameValue(obj[0], 2010, 'obj[0]'); +assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-339-2.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-339-2.js index 428e988e3b..d2efb019b8 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-339-2.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-339-2.js @@ -8,10 +8,8 @@ description: > attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false to an accessor property does not succeed, 'O' is an Arguments object (8.12.9 - step 9.a) -includes: [runTestCase.js] ---*/ -function testcase() { var obj = (function () { return arguments; }()); @@ -28,14 +26,13 @@ function testcase() { function getFunc() { return 20; } - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { get: getFunc }); - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return propertyDefineCorrect && desc1.value === 2010 && obj.prop === 2010 && typeof desc2.get === "undefined" && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(propertyDefineCorrect, 'propertyDefineCorrect !== true'); +assert.sameValue(desc1.value, 2010, 'desc1.value'); +assert.sameValue(obj.prop, 2010, 'obj.prop'); +assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-339-3.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-339-3.js index eea47783f2..dedf8ce8f5 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-339-3.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-339-3.js @@ -8,10 +8,8 @@ description: > attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false to an accessor property does not succeed, 'A' is an Array object (8.12.9 - step 9.a) -includes: [runTestCase.js] ---*/ -function testcase() { var obj = []; Object.defineProperty(obj, "prop", { @@ -26,15 +24,13 @@ function testcase() { function getFunc() { return 20; } - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { get: getFunc }); - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return propertyDefineCorrect && desc1.value === 2010 && obj.prop === 2010 && - typeof desc2.get === "undefined" && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(propertyDefineCorrect, 'propertyDefineCorrect !== true'); +assert.sameValue(desc1.value, 2010, 'desc1.value'); +assert.sameValue(obj.prop, 2010, 'obj.prop'); +assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-339-4.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-339-4.js index 92a20998bd..35d2aa6149 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-339-4.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-339-4.js @@ -8,10 +8,8 @@ description: > attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false to an accessor property does not succeed, 'O' is an Arguments object (8.12.9 - step 9.a) -includes: [runTestCase.js] ---*/ -function testcase() { var obj = (function () { return arguments; }()); @@ -28,15 +26,13 @@ function testcase() { function getFunc() { return 20; } - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "0", { get: getFunc }); - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "0"); - return propertyDefineCorrect && desc1.value === 2010 && obj[0] === 2010 && - typeof desc2.get === "undefined" && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(propertyDefineCorrect, 'propertyDefineCorrect !== true'); +assert.sameValue(desc1.value, 2010, 'desc1.value'); +assert.sameValue(obj[0], 2010, 'obj[0]'); +assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-339.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-339.js index ec5daa537a..1cce212b23 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-339.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-339.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update the data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) to an accessor property -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { @@ -25,14 +23,13 @@ function testcase() { function getFunc() { return 20; } - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { get: getFunc }); - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return propertyDefineCorrect && desc1.value === 2010 && obj.prop === 2010 && typeof desc2.get === "undefined" && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(propertyDefineCorrect, 'propertyDefineCorrect !== true'); +assert.sameValue(desc1.value, 2010, 'desc1.value'); +assert.sameValue(obj.prop, 2010, 'obj.prop'); +assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-34.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-34.js index dfa637d260..323bd5e01b 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-34.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-34.js @@ -7,25 +7,18 @@ description: > Object.defineProperty - 'O' is an Array object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { var arrObj = []; Object.defineProperty(arrObj, "foo", { value: 12, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(arrObj, "foo", { value: 11, configurable: true }); - return false; - } catch (e) { - return e instanceof TypeError && arrObj.foo === 12; - } - } -runTestCase(testcase); +}); +assert.sameValue(arrObj.foo, 12, 'arrObj.foo'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-35.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-35.js index e19b585b67..b6f3fb3b35 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-35.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-35.js @@ -7,25 +7,18 @@ description: > Object.defineProperty - 'O' is a String object which implements its own [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { var str = new String("abc"); Object.defineProperty(str, "foo", { value: 12, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(str, "foo", { value: 11, configurable: true }); - return false; - } catch (e) { - return e instanceof TypeError && str.foo === 12; - } - } -runTestCase(testcase); +}); +assert.sameValue(str.foo, 12, 'str.foo'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-351.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-351.js index 72da60ce60..4007343fa0 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-351.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-351.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update [[Enumerable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { @@ -22,15 +20,13 @@ function testcase() { var propertyDefineCorrect = obj.hasOwnProperty("prop"); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { enumerable: true }); - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return propertyDefineCorrect && desc1.enumerable === false && obj.prop === 2010 && desc2.enumerable === false && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(propertyDefineCorrect, 'propertyDefineCorrect !== true'); +assert.sameValue(desc1.enumerable, false, 'desc1.enumerable'); +assert.sameValue(obj.prop, 2010, 'obj.prop'); +assert.sameValue(desc2.enumerable, false, 'desc2.enumerable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-352.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-352.js index fd24809f32..e06bcef7a8 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-352.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-352.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update [[Configurable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { @@ -22,15 +20,13 @@ function testcase() { var propertyDefineCorrect = obj.hasOwnProperty("prop"); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { configurable: true }); - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return propertyDefineCorrect && desc1.configurable === false && obj.prop === 2010 && desc2.configurable === false && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(propertyDefineCorrect, 'propertyDefineCorrect !== true'); +assert.sameValue(desc1.configurable, false, 'desc1.configurable'); +assert.sameValue(obj.prop, 2010, 'obj.prop'); +assert.sameValue(desc2.configurable, false, 'desc2.configurable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-353.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-353.js index 98c28a86c6..7f90efce20 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-353.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-353.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update the data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) to an accessor property -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { @@ -25,14 +23,13 @@ function testcase() { function getFunc() { return 20; } - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { get: getFunc }); - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return propertyDefineCorrect && desc1.value === 2010 && obj.prop === 2010 && typeof desc2.get === "undefined" && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(propertyDefineCorrect, 'propertyDefineCorrect !== true'); +assert.sameValue(desc1.value, 2010, 'desc1.value'); +assert.sameValue(obj.prop, 2010, 'obj.prop'); +assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-36.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-36.js index 2efdb84537..207e87585c 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-36.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-36.js @@ -7,25 +7,18 @@ description: > Object.defineProperty - 'O' is a Boolean object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { var obj = new Boolean(true); Object.defineProperty(obj, "foo", { value: 12, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "foo", { value: 11, configurable: true }); - return false; - } catch (e) { - return e instanceof TypeError && obj.foo === 12; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.foo, 12, 'obj.foo'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-364.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-364.js index dd02213bd4..2bca77ac77 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-364.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-364.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update [[Writable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { @@ -21,16 +19,14 @@ function testcase() { }); var propertyDefineCorrect = obj.hasOwnProperty("prop"); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { writable: true }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return propertyDefineCorrect && desc1.writable === false && obj.prop === 2010 && desc2.writable === false && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(propertyDefineCorrect, 'propertyDefineCorrect !== true'); +assert.sameValue(desc1.writable, false, 'desc1.writable'); +assert.sameValue(obj.prop, 2010, 'obj.prop'); +assert.sameValue(desc2.writable, false, 'desc2.writable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-365.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-365.js index ccb73b470f..e64f411e99 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-365.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-365.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update [[Enumerable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { @@ -21,16 +19,14 @@ function testcase() { }); var propertyDefineCorrect = obj.hasOwnProperty("prop"); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { enumerable: false }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return propertyDefineCorrect && desc1.enumerable === true && obj.prop === 2010 && desc2.enumerable === true && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(propertyDefineCorrect, 'propertyDefineCorrect !== true'); +assert.sameValue(desc1.enumerable, true, 'desc1.enumerable'); +assert.sameValue(obj.prop, 2010, 'obj.prop'); +assert.sameValue(desc2.enumerable, true, 'desc2.enumerable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-366.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-366.js index 4d81111716..1b83099163 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-366.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-366.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update [[Configurable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { @@ -21,16 +19,14 @@ function testcase() { }); var propertyDefineCorrect = obj.hasOwnProperty("prop"); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { configurable: true }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return propertyDefineCorrect && desc1.configurable === false && obj.prop === 2010 && desc2.configurable === false && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(propertyDefineCorrect, 'propertyDefineCorrect !== true'); +assert.sameValue(desc1.configurable, false, 'desc1.configurable'); +assert.sameValue(obj.prop, 2010, 'obj.prop'); +assert.sameValue(desc2.configurable, false, 'desc2.configurable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-367.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-367.js index e7152981d3..2626b69fa3 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-367.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-367.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update the data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) to an accessor property -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { @@ -25,14 +23,13 @@ function testcase() { function getFunc() { return 20; } - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { get: getFunc }); - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return propertyDefineCorrect && desc1.value === 2010 && obj.prop === 2010 && typeof desc2.get === "undefined" && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(propertyDefineCorrect, 'propertyDefineCorrect !== true'); +assert.sameValue(desc1.value, 2010, 'desc1.value'); +assert.sameValue(obj.prop, 2010, 'obj.prop'); +assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-37.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-37.js index 09d3cf9169..c27cbbc780 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-37.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-37.js @@ -7,25 +7,18 @@ description: > Object.defineProperty - 'O' is a Number object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { var obj = new Number(-2); Object.defineProperty(obj, "foo", { value: 12, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "foo", { value: 11, configurable: true }); - return false; - } catch (e) { - return e instanceof TypeError && obj.foo === 12; - } - } -runTestCase(testcase); +}); +assert.sameValue(obj.foo, 12, 'obj.foo'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-378.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-378.js index a439572238..ca9b1ab784 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-378.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-378.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update [[Writable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { @@ -21,17 +19,14 @@ function testcase() { }); var propertyDefineCorrect = obj.hasOwnProperty("prop"); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { writable: true }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return propertyDefineCorrect && desc1.writable === false && obj.prop === 2010 && desc2.writable === false && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(propertyDefineCorrect, 'propertyDefineCorrect !== true'); +assert.sameValue(desc1.writable, false, 'desc1.writable'); +assert.sameValue(obj.prop, 2010, 'obj.prop'); +assert.sameValue(desc2.writable, false, 'desc2.writable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-379.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-379.js index ba16519f42..8d52b1bb0e 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-379.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-379.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update [[Enumerable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { @@ -21,16 +19,14 @@ function testcase() { }); var propertyDefineCorrect = obj.hasOwnProperty("prop"); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { enumerable: true }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return propertyDefineCorrect && desc1.enumerable === false && obj.prop === 2010 && desc2.enumerable === false && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(propertyDefineCorrect, 'propertyDefineCorrect !== true'); +assert.sameValue(desc1.enumerable, false, 'desc1.enumerable'); +assert.sameValue(obj.prop, 2010, 'obj.prop'); +assert.sameValue(desc2.enumerable, false, 'desc2.enumerable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-380.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-380.js index b47b2906a6..8797d6d554 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-380.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-380.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update [[Configurable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { @@ -21,17 +19,14 @@ function testcase() { }); var propertyDefineCorrect = obj.hasOwnProperty("prop"); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { configurable: true }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return propertyDefineCorrect && desc1.configurable === false && obj.prop === 2010 && desc2.configurable === false && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(propertyDefineCorrect, 'propertyDefineCorrect !== true'); +assert.sameValue(desc1.configurable, false, 'desc1.configurable'); +assert.sameValue(obj.prop, 2010, 'obj.prop'); +assert.sameValue(desc2.configurable, false, 'desc2.configurable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-381.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-381.js index 3ed7d37a4b..93a371d415 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-381.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-381.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update the data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) to an accessor property -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { @@ -25,14 +23,13 @@ function testcase() { function getFunc() { return 20; } - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { get: getFunc }); - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return propertyDefineCorrect && desc1.value === 2010 && obj.prop === 2010 && typeof desc2.get === "undefined" && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(propertyDefineCorrect, 'propertyDefineCorrect !== true'); +assert.sameValue(desc1.value, 2010, 'desc1.value'); +assert.sameValue(obj.prop, 2010, 'obj.prop'); +assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-39.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-39.js index 077cbfe4f9..8e26fa4422 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-39.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-39.js @@ -7,25 +7,18 @@ description: > Object.defineProperty - 'O' is a Date object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { var desc = new Date(); Object.defineProperty(desc, "foo", { value: 12, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(desc, "foo", { value: 11, configurable: true }); - return false; - } catch (e) { - return e instanceof TypeError && desc.foo === 12; - } - } -runTestCase(testcase); +}); +assert.sameValue(desc.foo, 12, 'desc.foo'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-40.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-40.js index e5541472a9..bfff5ac93d 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-40.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-40.js @@ -7,25 +7,18 @@ description: > Object.defineProperty - 'O' is a RegExp object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { var desc = new RegExp(); Object.defineProperty(desc, "foo", { value: 12, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(desc, "foo", { value: 11, configurable: true }); - return false; - } catch (e) { - return e instanceof TypeError && desc.foo === 12; - } - } -runTestCase(testcase); +}); +assert.sameValue(desc.foo, 12, 'desc.foo'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-42.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-42.js index 4c5524806c..2ca95325b3 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-42.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-42.js @@ -7,25 +7,18 @@ description: > Object.defineProperty - 'O' is an Error object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { var desc = new Error(); Object.defineProperty(desc, "foo", { value: 12, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(desc, "foo", { value: 11, configurable: true }); - return false; - } catch (e) { - return e instanceof TypeError && desc.foo === 12; - } - } -runTestCase(testcase); +}); +assert.sameValue(desc.foo, 12, 'desc.foo'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-43.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-43.js index a0ad64d780..4146385ecb 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-43.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-43.js @@ -7,25 +7,18 @@ description: > Object.defineProperty - 'O' is an Arguments object which implements its own [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1) -includes: [runTestCase.js] ---*/ -function testcase() { var argObj = (function () { return arguments; })(); Object.defineProperty(argObj, "foo", { value: 12, configurable: false }); - - try { +assert.throws(TypeError, function() { Object.defineProperty(argObj, "foo", { value: 11, configurable: true }); - return false; - } catch (e) { - return e instanceof TypeError && argObj.foo === 12; - } - } -runTestCase(testcase); +}); +assert.sameValue(argObj.foo, 12, 'argObj.foo'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-435.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-435.js index 11576b55fe..c953791686 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-435.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-435.js @@ -8,10 +8,8 @@ description: > property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var getFunc = function () { return 1001; @@ -26,17 +24,14 @@ function testcase() { var result1 = typeof obj.prop === "undefined"; var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { get: getFunc }); - - return false; - } catch (e) { +}); var result2 = typeof obj.prop === "undefined"; var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return result1 && result2 && typeof desc1.get === "undefined" && typeof desc2.get === "undefined" && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(result1, 'result1 !== true'); +assert(result2, 'result2 !== true'); +assert.sameValue(typeof desc1.get, "undefined", 'typeof desc1.get'); +assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-436.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-436.js index 84804edc66..56a8768029 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-436.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-436.js @@ -8,10 +8,8 @@ description: > property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var verifySetFunc = "data"; var setFunc = function (value) { @@ -26,16 +24,11 @@ function testcase() { }); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { set: setFunc }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return typeof desc1.set === "undefined" && typeof desc2.set === "undefined" && e instanceof TypeError; - } - } -runTestCase(testcase); +assert.sameValue(typeof desc1.set, "undefined", 'typeof desc1.set'); +assert.sameValue(typeof desc2.set, "undefined", 'typeof desc2.set'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-437.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-437.js index cc31175c46..1ad84c659b 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-437.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-437.js @@ -8,10 +8,8 @@ description: > accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { @@ -27,14 +25,11 @@ function testcase() { result1 = true; } } - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { enumerable: false }); - - return false; - } catch (e) { +}); var result2 = false; var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); for (var p2 in obj) { @@ -43,7 +38,7 @@ function testcase() { } } - return result1 && result2 && desc1.enumerable === true && desc2.enumerable === true && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(result1, 'result1 !== true'); +assert(result2, 'result2 !== true'); +assert.sameValue(desc1.enumerable, true, 'desc1.enumerable'); +assert.sameValue(desc2.enumerable, true, 'desc2.enumerable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-439.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-439.js index 0be18cdb8b..ce40ec27b3 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-439.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-439.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update the accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to a data property -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { @@ -20,17 +18,12 @@ function testcase() { configurable: false }); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { value: 1001 }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(desc1.hasOwnProperty("get"), 'desc1.hasOwnProperty("get") !== true'); +assert.sameValue(desc2.hasOwnProperty("value"), false, 'desc2.hasOwnProperty("value")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-453.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-453.js index dac2a2b339..c0780c55bb 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-453.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-453.js @@ -8,10 +8,8 @@ description: > property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var getFunc = function () { return 1001; @@ -26,17 +24,14 @@ function testcase() { var result1 = typeof obj.prop === "undefined"; var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { get: getFunc }); - - return false; - } catch (e) { +}); var result2 = typeof obj.prop === "undefined"; var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return result1 && result2 && typeof desc1.get === "undefined" && typeof desc2.get === "undefined" && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(result1, 'result1 !== true'); +assert(result2, 'result2 !== true'); +assert.sameValue(typeof desc1.get, "undefined", 'typeof desc1.get'); +assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-454.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-454.js index 1c1b6e852b..52e445972a 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-454.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-454.js @@ -8,10 +8,8 @@ description: > property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var verifySetFunc = "data"; @@ -27,16 +25,11 @@ function testcase() { }); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { set: setFunc }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return typeof desc1.set === "undefined" && typeof desc2.set === "undefined" && e instanceof TypeError; - } - } -runTestCase(testcase); +assert.sameValue(typeof desc1.set, "undefined", 'typeof desc1.set'); +assert.sameValue(typeof desc2.set, "undefined", 'typeof desc2.set'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-455.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-455.js index 74a99987d2..baad824667 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-455.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-455.js @@ -8,10 +8,8 @@ description: > accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { @@ -27,14 +25,11 @@ function testcase() { result1 = true; } } - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { enumerable: true }); - - return false; - } catch (e) { +}); var result2 = false; var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); for (var p2 in obj) { @@ -43,7 +38,7 @@ function testcase() { } } - return !result1 && !result2 && desc1.enumerable === false && desc2.enumerable === false && e instanceof TypeError; - } - } -runTestCase(testcase); +assert.sameValue(result1, false, 'result1'); +assert.sameValue(result2, false, 'result2'); +assert.sameValue(desc1.enumerable, false, 'desc1.enumerable'); +assert.sameValue(desc2.enumerable, false, 'desc2.enumerable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-457.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-457.js index 9bb5c03abe..7f90aa3797 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-457.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-457.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update the accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to a data property -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; Object.defineProperty(obj, "prop", { @@ -20,17 +18,12 @@ function testcase() { configurable: false }); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { value: 1001 }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(desc1.hasOwnProperty("get"), 'desc1.hasOwnProperty("get") !== true'); +assert.sameValue(desc2.hasOwnProperty("value"), false, 'desc2.hasOwnProperty("value")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-471.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-471.js index 58813e18dd..1d00996287 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-471.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-471.js @@ -8,10 +8,8 @@ description: > property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var getFunc = function () { @@ -32,18 +30,15 @@ function testcase() { var result1 = typeof obj.prop === "undefined"; var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { get: getFunc }); - - return false; - } catch (e) { +}); var result2 = typeof obj.prop === "undefined"; var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return result1 && result2 && typeof desc1.get === "undefined" && typeof desc2.get === "undefined" && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(result1, 'result1 !== true'); +assert(result2, 'result2 !== true'); +assert.sameValue(typeof desc1.get, "undefined", 'typeof desc1.get'); +assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-472.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-472.js index b19d317601..1502c79c16 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-472.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-472.js @@ -8,10 +8,8 @@ description: > property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var verifySetFunc = "data"; @@ -27,17 +25,12 @@ function testcase() { }); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { set: undefined }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return desc1.set === setFunc && desc2.set === setFunc && e instanceof TypeError; - } - } -runTestCase(testcase); +assert.sameValue(desc1.set, setFunc, 'desc1.set'); +assert.sameValue(desc2.set, setFunc, 'desc2.set'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-473.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-473.js index a004a0e686..a9c65d14d7 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-473.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-473.js @@ -8,10 +8,8 @@ description: > accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var verifySetFunc = "data"; @@ -33,14 +31,11 @@ function testcase() { result1 = true; } } - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { enumerable: false }); - - return false; - } catch (e) { +}); var result2 = false; var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); for (var p2 in obj) { @@ -49,7 +44,7 @@ function testcase() { } } - return result1 && result2 && desc1.enumerable === true && desc2.enumerable === true && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(result1, 'result1 !== true'); +assert(result2, 'result2 !== true'); +assert.sameValue(desc1.enumerable, true, 'desc1.enumerable'); +assert.sameValue(desc2.enumerable, true, 'desc2.enumerable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-475.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-475.js index 63827bb2dc..1ea58556c1 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-475.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-475.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update the accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to a data property -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var verifySetFunc = "data"; @@ -25,17 +23,12 @@ function testcase() { configurable: false }); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { value: 1001 }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(desc1.hasOwnProperty("get"), 'desc1.hasOwnProperty("get") !== true'); +assert.sameValue(desc2.hasOwnProperty("value"), false, 'desc2.hasOwnProperty("value")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-489.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-489.js index d6a8997ed3..18e561052b 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-489.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-489.js @@ -8,10 +8,8 @@ description: > property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var getFunc = function () { @@ -32,18 +30,15 @@ function testcase() { var result1 = typeof obj.prop === "undefined"; var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { get: getFunc }); - - return false; - } catch (e) { +}); var result2 = typeof obj.prop === "undefined"; var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return result1 && result2 && typeof desc1.get === "undefined" && typeof desc2.get === "undefined" && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(result1, 'result1 !== true'); +assert(result2, 'result2 !== true'); +assert.sameValue(typeof desc1.get, "undefined", 'typeof desc1.get'); +assert.sameValue(typeof desc2.get, "undefined", 'typeof desc2.get'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-490.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-490.js index ee9586443a..a397f74ee9 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-490.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-490.js @@ -8,10 +8,8 @@ description: > property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var verifySetFunc = "data"; @@ -27,17 +25,12 @@ function testcase() { }); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { set: undefined }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return desc1.set === setFunc && desc2.set === setFunc && e instanceof TypeError; - } - } -runTestCase(testcase); +assert.sameValue(desc1.set, setFunc, 'desc1.set'); +assert.sameValue(desc2.set, setFunc, 'desc2.set'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-491.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-491.js index a382a2d6b7..04c26899b3 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-491.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-491.js @@ -8,10 +8,8 @@ description: > accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var verifySetFunc = "data"; @@ -33,14 +31,11 @@ function testcase() { result1 = true; } } - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { enumerable: true }); - - return false; - } catch (e) { +}); var result2 = false; var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); for (var p2 in obj) { @@ -49,7 +44,7 @@ function testcase() { } } - return !result1 && !result2 && desc1.enumerable === false && desc2.enumerable === false && e instanceof TypeError; - } - } -runTestCase(testcase); +assert.sameValue(result1, false, 'result1'); +assert.sameValue(result2, false, 'result2'); +assert.sameValue(desc1.enumerable, false, 'desc1.enumerable'); +assert.sameValue(desc2.enumerable, false, 'desc2.enumerable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-493.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-493.js index 28b9d24b89..8e51a7fd80 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-493.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-493.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update the accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to a data property -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var verifySetFunc = "data"; @@ -25,17 +23,12 @@ function testcase() { configurable: false }); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { value: 1001 }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(desc1.hasOwnProperty("get"), 'desc1.hasOwnProperty("get") !== true'); +assert.sameValue(desc2.hasOwnProperty("value"), false, 'desc2.hasOwnProperty("value")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-507.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-507.js index e04445694c..f5ffda634d 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-507.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-507.js @@ -8,10 +8,8 @@ description: > property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var getFunc = function () { return 1001; @@ -26,18 +24,15 @@ function testcase() { var result1 = obj.prop === 1001; var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { get: undefined }); - - return false; - } catch (e) { +}); var result2 = obj.prop === 1001; var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return result1 && result2 && desc1.get === getFunc && desc2.get === getFunc && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(result1, 'result1 !== true'); +assert(result2, 'result2 !== true'); +assert.sameValue(desc1.get, getFunc, 'desc1.get'); +assert.sameValue(desc2.get, getFunc, 'desc2.get'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-508.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-508.js index cb784f209c..5aba3d35e1 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-508.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-508.js @@ -8,10 +8,8 @@ description: > property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var getFunc = function () { @@ -31,17 +29,12 @@ function testcase() { }); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { set: setFunc }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return typeof desc1.set === "undefined" && typeof desc2.set === "undefined" && e instanceof TypeError; - } - } -runTestCase(testcase); +assert.sameValue(typeof desc1.set, "undefined", 'typeof desc1.set'); +assert.sameValue(typeof desc2.set, "undefined", 'typeof desc2.set'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-509.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-509.js index fb4dc700ab..697a1b3c4b 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-509.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-509.js @@ -8,10 +8,8 @@ description: > accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var getFunc = function () { @@ -31,14 +29,11 @@ function testcase() { result1 = true; } } - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { enumerable: false }); - - return false; - } catch (e) { +}); var result2 = false; var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); for (var p2 in obj) { @@ -47,7 +42,7 @@ function testcase() { } } - return result1 && result2 && desc1.enumerable === true && desc2.enumerable === true && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(result1, 'result1 !== true'); +assert(result2, 'result2 !== true'); +assert.sameValue(desc1.enumerable, true, 'desc1.enumerable'); +assert.sameValue(desc2.enumerable, true, 'desc2.enumerable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-511.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-511.js index b6289d4485..d3c44cf0bf 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-511.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-511.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update the accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to a data property -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var getFunc = function () { @@ -24,17 +22,12 @@ function testcase() { configurable: false }); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { value: 1001 }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(desc1.hasOwnProperty("get"), 'desc1.hasOwnProperty("get") !== true'); +assert.sameValue(desc2.hasOwnProperty("value"), false, 'desc2.hasOwnProperty("value")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-525.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-525.js index 55bc619abb..1ac4af8f8c 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-525.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-525.js @@ -8,10 +8,8 @@ description: > property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var getFunc = function () { return 1001; @@ -26,18 +24,15 @@ function testcase() { var result1 = obj.prop === 1001; var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { get: undefined }); - - return false; - } catch (e) { +}); var result2 = obj.prop === 1001; var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return result1 && result2 && desc1.get === getFunc && desc2.get === getFunc && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(result1, 'result1 !== true'); +assert(result2, 'result2 !== true'); +assert.sameValue(desc1.get, getFunc, 'desc1.get'); +assert.sameValue(desc2.get, getFunc, 'desc2.get'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-526.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-526.js index 92edac2a66..620c61a24f 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-526.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-526.js @@ -8,10 +8,8 @@ description: > property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var getFunc = function () { @@ -31,17 +29,12 @@ function testcase() { }); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { set: setFunc }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return typeof desc1.set === "undefined" && typeof desc2.set === "undefined" && e instanceof TypeError; - } - } -runTestCase(testcase); +assert.sameValue(typeof desc1.set, "undefined", 'typeof desc1.set'); +assert.sameValue(typeof desc2.set, "undefined", 'typeof desc2.set'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-527.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-527.js index efa02dc5dd..a1cc85f9ab 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-527.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-527.js @@ -8,10 +8,8 @@ description: > accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var getFunc = function () { @@ -31,14 +29,11 @@ function testcase() { result1 = true; } } - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { enumerable: true }); - - return false; - } catch (e) { +}); var result2 = false; var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); for (var p2 in obj) { @@ -47,7 +42,7 @@ function testcase() { } } - return !result1 && !result2 && desc1.enumerable === false && desc2.enumerable === false && e instanceof TypeError; - } - } -runTestCase(testcase); +assert.sameValue(result1, false, 'result1'); +assert.sameValue(result2, false, 'result2'); +assert.sameValue(desc1.enumerable, false, 'desc1.enumerable'); +assert.sameValue(desc2.enumerable, false, 'desc2.enumerable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-529.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-529.js index 299e565177..891797eb9c 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-529.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-529.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update the accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to a data property -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var getFunc = function () { @@ -24,17 +22,12 @@ function testcase() { configurable: false }); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { value: 1001 }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(desc1.hasOwnProperty("get"), 'desc1.hasOwnProperty("get") !== true'); +assert.sameValue(desc2.hasOwnProperty("value"), false, 'desc2.hasOwnProperty("value")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-543.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-543.js index b1f5f55983..7afe42f31a 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-543.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-543.js @@ -8,10 +8,8 @@ description: > property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var getFunc = function () { @@ -32,18 +30,15 @@ function testcase() { var result1 = obj.prop === 1001; var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { get: undefined }); - - return false; - } catch (e) { +}); var result2 = obj.prop === 1001; var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return result1 && result2 && desc1.get === getFunc && desc2.get === getFunc && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(result1, 'result1 !== true'); +assert(result2, 'result2 !== true'); +assert.sameValue(desc1.get, getFunc, 'desc1.get'); +assert.sameValue(desc2.get, getFunc, 'desc2.get'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-544.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-544.js index 6f75dd0755..c8b18272fe 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-544.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-544.js @@ -8,10 +8,8 @@ description: > property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var getFunc = function () { @@ -31,17 +29,12 @@ function testcase() { }); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { set: undefined }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return desc1.set === setFunc && desc2.set === setFunc && e instanceof TypeError; - } - } -runTestCase(testcase); +assert.sameValue(desc1.set, setFunc, 'desc1.set'); +assert.sameValue(desc2.set, setFunc, 'desc2.set'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-545.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-545.js index da86a84332..f6150509a0 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-545.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-545.js @@ -8,10 +8,8 @@ description: > accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var getFunc = function () { @@ -36,14 +34,11 @@ function testcase() { result1 = true; } } - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { enumerable: false }); - - return false; - } catch (e) { +}); var result2 = false; var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); for (var p2 in obj) { @@ -52,7 +47,7 @@ function testcase() { } } - return result1 && result2 && desc1.enumerable === true && desc2.enumerable === true && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(result1, 'result1 !== true'); +assert(result2, 'result2 !== true'); +assert.sameValue(desc1.enumerable, true, 'desc1.enumerable'); +assert.sameValue(desc2.enumerable, true, 'desc2.enumerable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-547.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-547.js index 8fb4ec5f03..a75fb8782e 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-547.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-547.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update the accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to a data property -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var getFunc = function () { @@ -29,17 +27,12 @@ function testcase() { configurable: false }); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { value: 1001 }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(desc1.hasOwnProperty("get"), 'desc1.hasOwnProperty("get") !== true'); +assert.sameValue(desc2.hasOwnProperty("value"), false, 'desc2.hasOwnProperty("value")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-561.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-561.js index 2e4cdac502..376507ea16 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-561.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-561.js @@ -8,10 +8,8 @@ description: > property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var getFunc = function () { @@ -32,18 +30,15 @@ function testcase() { var result1 = obj.prop === 1001; var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { get: undefined }); - - return false; - } catch (e) { +}); var result2 = obj.prop === 1001; var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return result1 && result2 && desc1.get === getFunc && desc2.get === getFunc && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(result1, 'result1 !== true'); +assert(result2, 'result2 !== true'); +assert.sameValue(desc1.get, getFunc, 'desc1.get'); +assert.sameValue(desc2.get, getFunc, 'desc2.get'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-562.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-562.js index c299ee088f..874f22ea29 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-562.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-562.js @@ -8,10 +8,8 @@ description: > property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var getFunc = function () { @@ -31,17 +29,12 @@ function testcase() { }); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { set: undefined }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return desc1.set === setFunc && desc2.set === setFunc && e instanceof TypeError; - } - } -runTestCase(testcase); +assert.sameValue(desc1.set, setFunc, 'desc1.set'); +assert.sameValue(desc2.set, setFunc, 'desc2.set'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-563.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-563.js index 921fd22d6c..56423191a5 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-563.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-563.js @@ -8,10 +8,8 @@ description: > accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var getFunc = function () { @@ -36,14 +34,11 @@ function testcase() { result1 = true; } } - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { enumerable: true }); - - return false; - } catch (e) { +}); var result2 = false; var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); for (var p2 in obj) { @@ -52,7 +47,7 @@ function testcase() { } } - return !result1 && !result2 && desc1.enumerable === false && desc2.enumerable === false && e instanceof TypeError; - } - } -runTestCase(testcase); +assert.sameValue(result1, false, 'result1'); +assert.sameValue(result2, false, 'result2'); +assert.sameValue(desc1.enumerable, false, 'desc1.enumerable'); +assert.sameValue(desc2.enumerable, false, 'desc2.enumerable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-565.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-565.js index d52f342c55..6876df4153 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-565.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-565.js @@ -7,10 +7,8 @@ description: > ES5 Attributes - fail to update the accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to a data property -includes: [runTestCase.js] ---*/ -function testcase() { var obj = {}; var getFunc = function () { @@ -29,17 +27,12 @@ function testcase() { configurable: false }); var desc1 = Object.getOwnPropertyDescriptor(obj, "prop"); - - try { +assert.throws(TypeError, function() { Object.defineProperty(obj, "prop", { value: 1001 }); - - return false; - } catch (e) { +}); var desc2 = Object.getOwnPropertyDescriptor(obj, "prop"); - return desc1.hasOwnProperty("get") && !desc2.hasOwnProperty("value") && e instanceof TypeError; - } - } -runTestCase(testcase); +assert(desc1.hasOwnProperty("get"), 'desc1.hasOwnProperty("get") !== true'); +assert.sameValue(desc2.hasOwnProperty("value"), false, 'desc2.hasOwnProperty("value")'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-7.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-7.js index d874014a57..14bf5ed360 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-7.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-7.js @@ -10,10 +10,8 @@ es5id: 15.2.3.6-4-7 description: > Object.defineProperty throws TypeError when changing [[Configurable]] from false to true -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // create a data valued property; all other attributes default to false. @@ -21,19 +19,10 @@ function testcase() { Object.defineProperty(o, "foo", d1); var desc = { value: 101, configurable: true }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError) { +}); // the property should remain unchanged. var d2 = Object.getOwnPropertyDescriptor(o, "foo"); - if (d2.value === 101 && - d2.configurable === false) { - return true; - } - } - } - } -runTestCase(testcase); +assert.sameValue(d2.value, 101, 'd2.value'); +assert.sameValue(d2.configurable, false, 'd2.configurable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-8.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-8.js index 43c626922b..e94862560b 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-8.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-8.js @@ -12,10 +12,8 @@ description: > Object.defineProperty throws TypeError when changing [[Enumerable]] from false to true on non-configurable data properties -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // create a data valued property; all other attributes default to false. @@ -25,20 +23,11 @@ function testcase() { // now, setting enumerable to true should fail, since [[Configurable]] // on the original property will be false. var desc = { value: 101, enumerable: true }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError) { +}); // the property should remain unchanged. var d2 = Object.getOwnPropertyDescriptor(o, "foo"); - if (d2.value === 101 && - d2.enumerable === false && - d2.configurable === false) { - return true; - } - } - } - } -runTestCase(testcase); +assert.sameValue(d2.value, 101, 'd2.value'); +assert.sameValue(d2.enumerable, false, 'd2.enumerable'); +assert.sameValue(d2.configurable, false, 'd2.configurable'); diff --git a/test/built-ins/Object/defineProperty/15.2.3.6-4-9.js b/test/built-ins/Object/defineProperty/15.2.3.6-4-9.js index 97bb0005ec..6f35edc348 100644 --- a/test/built-ins/Object/defineProperty/15.2.3.6-4-9.js +++ b/test/built-ins/Object/defineProperty/15.2.3.6-4-9.js @@ -12,10 +12,8 @@ description: > Object.defineProperty throws TypeError when changing [[Enumerable]] from true to false on non-configurable data properties -includes: [runTestCase.js] ---*/ -function testcase() { var o = {}; // create a data valued property with [[Enumerable]] explicitly set to true; @@ -26,20 +24,11 @@ function testcase() { // now, setting enumerable to false should fail, since [[Configurable]] // on the original property will be false. var desc = { value: 101, enumerable: false }; - - try { +assert.throws(TypeError, function() { Object.defineProperty(o, "foo", desc); - } - catch (e) { - if (e instanceof TypeError) { +}); // the property should remain unchanged. var d2 = Object.getOwnPropertyDescriptor(o, "foo"); - if (d2.value === 101 && - d2.enumerable === true && - d2.configurable === false) { - return true; - } - } - } - } -runTestCase(testcase); +assert.sameValue(d2.value, 101, 'd2.value'); +assert.sameValue(d2.enumerable, true, 'd2.enumerable'); +assert.sameValue(d2.configurable, false, 'd2.configurable'); diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-1.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-1.js index 35ddf60308..bc63911fa3 100644 --- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-1.js +++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-1.js @@ -6,14 +6,9 @@ es5id: 15.2.3.3-1-1 description: > Object.getOwnPropertyDescriptor - TypeError is thrown when first param is undefined -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Object.getOwnPropertyDescriptor(undefined, "foo"); - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-2.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-2.js index 1a6ba1417c..09b8587145 100644 --- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-2.js +++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-1-2.js @@ -6,14 +6,9 @@ es5id: 15.2.3.3-1-2 description: > Object.getOwnPropertyDescriptor - TypeError is thrown when first param is null -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Object.getOwnPropertyDescriptor(null, "foo"); - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-46.js b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-46.js index 5c894608ac..4527a76d35 100644 --- a/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-46.js +++ b/test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-2-46.js @@ -7,10 +7,8 @@ description: > Object.getOwnPropertyDescriptor - TypeError exception was thrown when 'P' is an object that both toString and valueOf wouldn't return primitive value -includes: [runTestCase.js] ---*/ -function testcase() { var obj = { "1": 1 }; var toStringAccessed = false; var valueOfAccessed = false; @@ -25,12 +23,8 @@ function testcase() { return [1]; } }; - - try { +assert.throws(TypeError, function() { Object.getOwnPropertyDescriptor(obj, ownProp); - return false; - } catch (e) { - return toStringAccessed && valueOfAccessed && e instanceof TypeError; - } - } -runTestCase(testcase); +}); +assert(toStringAccessed, 'toStringAccessed !== true'); +assert(valueOfAccessed, 'valueOfAccessed !== true'); diff --git a/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-1-2.js b/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-1-2.js index 764259971f..51ce6f35f0 100644 --- a/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-1-2.js +++ b/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-1-2.js @@ -4,15 +4,9 @@ /*--- es5id: 15.2.3.4-1-2 description: Object.getOwnPropertyNames throws TypeError if 'O' is undefined -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Object.getOwnPropertyNames(undefined); - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-1-3.js b/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-1-3.js index cab3a3d00c..4a9ac3a33f 100644 --- a/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-1-3.js +++ b/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-1-3.js @@ -4,15 +4,9 @@ /*--- es5id: 15.2.3.4-1-3 description: Object.getOwnPropertyNames throws TypeError if 'O' is null -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Object.getOwnPropertyNames(null); - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/getPrototypeOf/15.2.3.2-0-3.js b/test/built-ins/Object/getPrototypeOf/15.2.3.2-0-3.js index e36abd8464..9f8eb76e02 100644 --- a/test/built-ins/Object/getPrototypeOf/15.2.3.2-0-3.js +++ b/test/built-ins/Object/getPrototypeOf/15.2.3.2-0-3.js @@ -4,18 +4,9 @@ /*--- es5id: 15.2.3.2-0-3 description: Object.getPrototypeOf must take 1 parameter -includes: [runTestCase.js] ---*/ -function testcase() { - try - { + +assert.throws(TypeError, function() { Object.getPrototypeOf(); - } - catch(e) - { - if(e instanceof TypeError) - return true; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/getPrototypeOf/15.2.3.2-1-2.js b/test/built-ins/Object/getPrototypeOf/15.2.3.2-1-2.js index 8e2835a320..3f73a4c073 100644 --- a/test/built-ins/Object/getPrototypeOf/15.2.3.2-1-2.js +++ b/test/built-ins/Object/getPrototypeOf/15.2.3.2-1-2.js @@ -4,15 +4,9 @@ /*--- es5id: 15.2.3.2-1-2 description: Object.getPrototypeOf throws TypeError if 'O' is null -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Object.getPrototypeOf(null); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/keys/15.2.3.14-1-4.js b/test/built-ins/Object/keys/15.2.3.14-1-4.js index 10d7acf2ab..fdc5d31eec 100644 --- a/test/built-ins/Object/keys/15.2.3.14-1-4.js +++ b/test/built-ins/Object/keys/15.2.3.14-1-4.js @@ -6,17 +6,9 @@ es5id: 15.2.3.14-1-4 description: > Object.keys throws TypeError if type of first param is not Object (null) -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Object.keys(null); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/keys/15.2.3.14-1-5.js b/test/built-ins/Object/keys/15.2.3.14-1-5.js index deac600fc7..fa00eb9e0d 100644 --- a/test/built-ins/Object/keys/15.2.3.14-1-5.js +++ b/test/built-ins/Object/keys/15.2.3.14-1-5.js @@ -6,17 +6,9 @@ es5id: 15.2.3.14-1-5 description: > Object.keys throws TypeError if type of first param is not Object (undefined) -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Object.keys(undefined); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Object/preventExtensions/15.2.3.10-3-5.js b/test/built-ins/Object/preventExtensions/15.2.3.10-3-5.js index 4539ae6d80..def72f4f6d 100644 --- a/test/built-ins/Object/preventExtensions/15.2.3.10-3-5.js +++ b/test/built-ins/Object/preventExtensions/15.2.3.10-3-5.js @@ -6,19 +6,14 @@ es5id: 15.2.3.10-3-5 description: > Object.preventExtensions - indexed properties cannot be added into a String object -includes: [runTestCase.js] ---*/ -function testcase() { var strObj = new String(); var preCheck = Object.isExtensible(strObj); Object.preventExtensions(strObj); - try { +assert.throws(TypeError, function() { Object.defineProperty(strObj, "0", { value: "c" }); - return false; - } catch (e) { - return e instanceof TypeError && preCheck && - !strObj.hasOwnProperty("0") && typeof strObj[0] === "undefined"; - } - } -runTestCase(testcase); +}); +assert(preCheck, 'preCheck !== true'); +assert.sameValue(strObj.hasOwnProperty("0"), false, 'strObj.hasOwnProperty("0")'); +assert.sameValue(typeof strObj[0], "undefined", 'typeof strObj[0]'); From edc902aff5eae74e36a20e15ea426693c42e0982 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Bargull?= Date: Tue, 11 Aug 2015 17:44:08 +0200 Subject: [PATCH 5/6] Replace runTestCase with assert.throws [test/built-ins/Array] --- test/built-ins/Array/15.4.5.1-3.d-1.js | 11 +++-------- test/built-ins/Array/15.4.5.1-3.d-2.js | 11 +++-------- .../Array/prototype/every/15.4.4.16-1-1.js | 12 +++--------- .../Array/prototype/every/15.4.4.16-1-2.js | 12 +++--------- .../Array/prototype/every/15.4.4.16-3-22.js | 16 +++++----------- .../Array/prototype/every/15.4.4.16-4-1.js | 16 +++------------- .../Array/prototype/every/15.4.4.16-4-15.js | 14 ++++---------- .../Array/prototype/every/15.4.4.16-4-3.js | 16 +++------------- .../Array/prototype/every/15.4.4.16-4-4.js | 16 +++------------- .../Array/prototype/every/15.4.4.16-4-5.js | 16 +++------------- .../Array/prototype/every/15.4.4.16-4-6.js | 16 +++------------- .../Array/prototype/every/15.4.4.16-4-7.js | 16 +++------------- .../Array/prototype/every/15.4.4.16-4-8.js | 14 +++----------- .../Array/prototype/every/15.4.4.16-4-9.js | 14 +++----------- .../Array/prototype/every/15.4.4.16-7-c-i-30.js | 14 +++----------- .../Array/prototype/every/15.4.4.16-7-c-i-31.js | 14 +++----------- .../Array/prototype/filter/15.4.4.20-1-1.js | 12 +++--------- .../Array/prototype/filter/15.4.4.20-1-2.js | 12 +++--------- .../Array/prototype/filter/15.4.4.20-3-22.js | 16 +++++----------- .../Array/prototype/filter/15.4.4.20-4-1.js | 16 +++------------- .../Array/prototype/filter/15.4.4.20-4-15.js | 14 ++++---------- .../Array/prototype/filter/15.4.4.20-4-2.js | 16 +++------------- .../Array/prototype/filter/15.4.4.20-4-3.js | 16 +++------------- .../Array/prototype/filter/15.4.4.20-4-4.js | 16 +++------------- .../Array/prototype/filter/15.4.4.20-4-5.js | 16 +++------------- .../Array/prototype/filter/15.4.4.20-4-6.js | 16 +++------------- .../Array/prototype/filter/15.4.4.20-4-7.js | 16 +++------------- .../Array/prototype/filter/15.4.4.20-4-8.js | 14 +++----------- .../Array/prototype/filter/15.4.4.20-4-9.js | 14 +++----------- .../Array/prototype/filter/15.4.4.20-9-c-i-30.js | 14 +++----------- .../Array/prototype/filter/15.4.4.20-9-c-i-31.js | 14 +++----------- .../Array/prototype/filter/15.4.4.20-9-c-ii-7.js | 14 +++----------- .../Array/prototype/forEach/15.4.4.18-1-1.js | 12 +++--------- .../Array/prototype/forEach/15.4.4.18-1-2.js | 12 +++--------- .../Array/prototype/forEach/15.4.4.18-3-22.js | 14 +++----------- .../Array/prototype/forEach/15.4.4.18-4-1.js | 16 +++------------- .../Array/prototype/forEach/15.4.4.18-4-15.js | 15 ++++----------- .../Array/prototype/forEach/15.4.4.18-4-2.js | 16 +++------------- .../Array/prototype/forEach/15.4.4.18-4-3.js | 16 +++------------- .../Array/prototype/forEach/15.4.4.18-4-4.js | 16 +++------------- .../Array/prototype/forEach/15.4.4.18-4-5.js | 16 +++------------- .../Array/prototype/forEach/15.4.4.18-4-6.js | 16 +++------------- .../Array/prototype/forEach/15.4.4.18-4-7.js | 16 +++------------- .../Array/prototype/forEach/15.4.4.18-4-8.js | 14 +++----------- .../Array/prototype/forEach/15.4.4.18-4-9.js | 14 +++----------- .../prototype/forEach/15.4.4.18-7-c-i-30.js | 14 +++----------- .../prototype/forEach/15.4.4.18-7-c-i-31.js | 14 +++----------- .../prototype/forEach/15.4.4.18-7-c-ii-7.js | 14 +++----------- .../Array/prototype/indexOf/15.4.4.14-1-1.js | 13 +++---------- .../Array/prototype/indexOf/15.4.4.14-1-2.js | 13 +++---------- .../Array/prototype/indexOf/15.4.4.14-5-28.js | 14 +++----------- .../Array/prototype/indexOf/15.4.4.14-5-29.js | 14 +++----------- .../Array/prototype/indexOf/15.4.4.14-5-30.js | 14 +++----------- .../prototype/indexOf/15.4.4.14-9-b-i-30.js | 14 +++----------- .../prototype/indexOf/15.4.4.14-9-b-i-31.js | 15 +++------------ .../Array/prototype/lastIndexOf/15.4.4.15-1-1.js | 13 ++----------- .../Array/prototype/lastIndexOf/15.4.4.15-1-2.js | 13 ++----------- .../prototype/lastIndexOf/15.4.4.15-5-28.js | 14 +++----------- .../prototype/lastIndexOf/15.4.4.15-5-29.js | 14 +++----------- .../prototype/lastIndexOf/15.4.4.15-5-30.js | 14 +++----------- .../prototype/lastIndexOf/15.4.4.15-8-b-i-30.js | 15 +++------------ .../prototype/lastIndexOf/15.4.4.15-8-b-i-31.js | 15 +++------------ .../Array/prototype/map/15.4.4.19-1-1.js | 12 +++--------- .../Array/prototype/map/15.4.4.19-1-2.js | 12 +++--------- .../Array/prototype/map/15.4.4.19-3-14.js | 13 ++----------- .../Array/prototype/map/15.4.4.19-3-22.js | 13 ++----------- .../Array/prototype/map/15.4.4.19-3-28.js | 14 ++------------ .../Array/prototype/map/15.4.4.19-3-29.js | 14 ++------------ .../Array/prototype/map/15.4.4.19-3-8.js | 13 ++----------- .../Array/prototype/map/15.4.4.19-4-1.js | 16 +++------------- .../Array/prototype/map/15.4.4.19-4-15.js | 15 ++++----------- .../Array/prototype/map/15.4.4.19-4-2.js | 16 +++------------- .../Array/prototype/map/15.4.4.19-4-3.js | 16 +++------------- .../Array/prototype/map/15.4.4.19-4-4.js | 16 +++------------- .../Array/prototype/map/15.4.4.19-4-5.js | 16 +++------------- .../Array/prototype/map/15.4.4.19-4-6.js | 16 +++------------- .../Array/prototype/map/15.4.4.19-4-7.js | 16 +++------------- .../Array/prototype/map/15.4.4.19-4-8.js | 14 +++----------- .../Array/prototype/map/15.4.4.19-4-9.js | 14 +++----------- .../Array/prototype/map/15.4.4.19-8-c-i-30.js | 14 +++----------- .../Array/prototype/map/15.4.4.19-8-c-i-31.js | 14 +++----------- .../Array/prototype/map/15.4.4.19-8-c-ii-7.js | 14 +++----------- .../Array/prototype/reduce/15.4.4.21-1-1.js | 14 ++++---------- .../Array/prototype/reduce/15.4.4.21-1-2.js | 12 +++--------- .../Array/prototype/reduce/15.4.4.21-3-22.js | 16 +++++----------- .../Array/prototype/reduce/15.4.4.21-4-1.js | 16 +++------------- .../Array/prototype/reduce/15.4.4.21-4-15.js | 14 ++++---------- .../Array/prototype/reduce/15.4.4.21-4-2.js | 16 +++------------- .../Array/prototype/reduce/15.4.4.21-4-3.js | 16 +++------------- .../Array/prototype/reduce/15.4.4.21-4-4.js | 16 +++------------- .../Array/prototype/reduce/15.4.4.21-4-5.js | 16 +++------------- .../Array/prototype/reduce/15.4.4.21-4-6.js | 16 +++------------- .../Array/prototype/reduce/15.4.4.21-4-7.js | 16 +++------------- .../Array/prototype/reduce/15.4.4.21-4-8.js | 14 +++----------- .../Array/prototype/reduce/15.4.4.21-4-9.js | 14 +++----------- .../Array/prototype/reduce/15.4.4.21-5-1.js | 14 ++------------ .../Array/prototype/reduce/15.4.4.21-5-10.js | 14 +++----------- .../Array/prototype/reduce/15.4.4.21-5-11.js | 14 +++----------- .../Array/prototype/reduce/15.4.4.21-5-2.js | 13 ++----------- .../Array/prototype/reduce/15.4.4.21-5-3.js | 13 ++----------- .../Array/prototype/reduce/15.4.4.21-5-4.js | 13 ++----------- .../Array/prototype/reduce/15.4.4.21-5-5.js | 13 ++----------- .../Array/prototype/reduce/15.4.4.21-5-6.js | 13 ++----------- .../Array/prototype/reduce/15.4.4.21-5-7.js | 13 ++----------- .../Array/prototype/reduce/15.4.4.21-5-8.js | 13 ++----------- .../prototype/reduce/15.4.4.21-8-b-iii-1-32.js | 15 ++++----------- .../prototype/reduce/15.4.4.21-8-b-iii-1-33.js | 15 ++++----------- .../Array/prototype/reduce/15.4.4.21-8-c-1.js | 13 ++----------- .../Array/prototype/reduce/15.4.4.21-8-c-2.js | 13 ++----------- .../Array/prototype/reduce/15.4.4.21-8-c-3.js | 13 ++----------- .../Array/prototype/reduce/15.4.4.21-8-c-5.js | 14 +++----------- .../Array/prototype/reduce/15.4.4.21-8-c-6.js | 14 +++----------- .../Array/prototype/reduce/15.4.4.21-9-c-i-32.js | 15 ++++----------- .../Array/prototype/reduce/15.4.4.21-9-c-i-33.js | 15 ++++----------- .../Array/prototype/reduce/15.4.4.21-9-c-ii-7.js | 14 +++----------- .../Array/prototype/reduceRight/15.4.4.22-1-1.js | 14 ++++---------- .../Array/prototype/reduceRight/15.4.4.22-1-2.js | 12 +++--------- .../prototype/reduceRight/15.4.4.22-3-22.js | 16 +++++----------- .../Array/prototype/reduceRight/15.4.4.22-4-1.js | 16 +++------------- .../prototype/reduceRight/15.4.4.22-4-15.js | 14 ++++---------- .../Array/prototype/reduceRight/15.4.4.22-4-2.js | 16 +++------------- .../Array/prototype/reduceRight/15.4.4.22-4-3.js | 16 +++------------- .../Array/prototype/reduceRight/15.4.4.22-4-4.js | 16 +++------------- .../Array/prototype/reduceRight/15.4.4.22-4-5.js | 16 +++------------- .../Array/prototype/reduceRight/15.4.4.22-4-6.js | 16 +++------------- .../Array/prototype/reduceRight/15.4.4.22-4-7.js | 16 +++------------- .../Array/prototype/reduceRight/15.4.4.22-4-8.js | 14 +++----------- .../Array/prototype/reduceRight/15.4.4.22-4-9.js | 14 +++----------- .../Array/prototype/reduceRight/15.4.4.22-5-1.js | 14 ++------------ .../prototype/reduceRight/15.4.4.22-5-10.js | 14 +++----------- .../prototype/reduceRight/15.4.4.22-5-11.js | 14 +++----------- .../Array/prototype/reduceRight/15.4.4.22-5-2.js | 13 ++----------- .../Array/prototype/reduceRight/15.4.4.22-5-3.js | 13 ++----------- .../Array/prototype/reduceRight/15.4.4.22-5-4.js | 13 ++----------- .../Array/prototype/reduceRight/15.4.4.22-5-5.js | 13 ++----------- .../Array/prototype/reduceRight/15.4.4.22-5-6.js | 13 ++----------- .../Array/prototype/reduceRight/15.4.4.22-5-7.js | 13 ++----------- .../Array/prototype/reduceRight/15.4.4.22-5-8.js | 13 ++----------- .../reduceRight/15.4.4.22-8-b-iii-1-32.js | 14 +++----------- .../reduceRight/15.4.4.22-8-b-iii-1-33.js | 14 +++----------- .../prototype/reduceRight/15.4.4.22-8-c-1.js | 13 ++----------- .../prototype/reduceRight/15.4.4.22-8-c-2.js | 13 ++----------- .../prototype/reduceRight/15.4.4.22-8-c-3.js | 13 ++----------- .../prototype/reduceRight/15.4.4.22-8-c-5.js | 14 +++----------- .../prototype/reduceRight/15.4.4.22-8-c-6.js | 14 +++----------- .../prototype/reduceRight/15.4.4.22-9-c-i-32.js | 14 +++----------- .../Array/prototype/some/15.4.4.17-1-1.js | 12 +++--------- .../Array/prototype/some/15.4.4.17-1-2.js | 12 +++--------- .../Array/prototype/some/15.4.4.17-3-22.js | 16 +++++----------- .../Array/prototype/some/15.4.4.17-4-1.js | 16 +++------------- .../Array/prototype/some/15.4.4.17-4-15.js | 14 ++++---------- .../Array/prototype/some/15.4.4.17-4-2.js | 16 +++------------- .../Array/prototype/some/15.4.4.17-4-3.js | 16 +++------------- .../Array/prototype/some/15.4.4.17-4-4.js | 16 +++------------- .../Array/prototype/some/15.4.4.17-4-5.js | 16 +++------------- .../Array/prototype/some/15.4.4.17-4-6.js | 16 +++------------- .../Array/prototype/some/15.4.4.17-4-7.js | 16 +++------------- .../Array/prototype/some/15.4.4.17-4-8.js | 14 +++----------- .../Array/prototype/some/15.4.4.17-4-9.js | 14 +++----------- .../Array/prototype/some/15.4.4.17-7-c-i-30.js | 14 +++----------- .../Array/prototype/some/15.4.4.17-7-c-i-31.js | 14 +++----------- .../Array/prototype/some/15.4.4.17-7-c-ii-7.js | 14 +++----------- 162 files changed, 480 insertions(+), 1846 deletions(-) diff --git a/test/built-ins/Array/15.4.5.1-3.d-1.js b/test/built-ins/Array/15.4.5.1-3.d-1.js index 936331009c..7e771af037 100644 --- a/test/built-ins/Array/15.4.5.1-3.d-1.js +++ b/test/built-ins/Array/15.4.5.1-3.d-1.js @@ -6,14 +6,9 @@ es5id: 15.4.5.1-3.d-1 description: > Throw RangeError if attempt to set array length property to 4294967296 (2**32) -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(RangeError, function() { [].length = 4294967296 ; - } catch (e) { - if (e instanceof RangeError) return true; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/15.4.5.1-3.d-2.js b/test/built-ins/Array/15.4.5.1-3.d-2.js index eacc1b709c..e5ecd52d04 100644 --- a/test/built-ins/Array/15.4.5.1-3.d-2.js +++ b/test/built-ins/Array/15.4.5.1-3.d-2.js @@ -6,14 +6,9 @@ es5id: 15.4.5.1-3.d-2 description: > Throw RangeError if attempt to set array length property to 4294967297 (1+2**32) -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(RangeError, function() { [].length = 4294967297 ; - } catch (e) { - if (e instanceof RangeError) return true; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/every/15.4.4.16-1-1.js b/test/built-ins/Array/prototype/every/15.4.4.16-1-1.js index f4c9bfe4e5..f6250b0af2 100644 --- a/test/built-ins/Array/prototype/every/15.4.4.16-1-1.js +++ b/test/built-ins/Array/prototype/every/15.4.4.16-1-1.js @@ -4,15 +4,9 @@ /*--- es5id: 15.4.4.16-1-1 description: Array.prototype.every applied to undefined throws a TypeError -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Array.prototype.every.call(undefined); // TypeError is thrown if value is undefined - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/every/15.4.4.16-1-2.js b/test/built-ins/Array/prototype/every/15.4.4.16-1-2.js index 27bb16bf60..8e9c44e1cc 100644 --- a/test/built-ins/Array/prototype/every/15.4.4.16-1-2.js +++ b/test/built-ins/Array/prototype/every/15.4.4.16-1-2.js @@ -4,15 +4,9 @@ /*--- es5id: 15.4.4.16-1-2 description: Array.prototype.every applied to null throws a TypeError -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Array.prototype.every.call(null); // TypeError is thrown if value is null - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/every/15.4.4.16-3-22.js b/test/built-ins/Array/prototype/every/15.4.4.16-3-22.js index c6740303f4..0925479b4e 100644 --- a/test/built-ins/Array/prototype/every/15.4.4.16-3-22.js +++ b/test/built-ins/Array/prototype/every/15.4.4.16-3-22.js @@ -7,11 +7,8 @@ description: > Array.prototype.every throws TypeError exception when 'length' is an object with toString and valueOf methods that don�t return primitive values -includes: [runTestCase.js] ---*/ -function testcase() { - var callbackfnAccessed = false; var toStringAccessed = false; var valueOfAccessed = false; @@ -36,12 +33,9 @@ function testcase() { } } }; - - try { +assert.throws(TypeError, function() { Array.prototype.every.call(obj, callbackfn); - return false; - } catch (ex) { - return (ex instanceof TypeError) && toStringAccessed && valueOfAccessed && !callbackfnAccessed; - } - } -runTestCase(testcase); +}); +assert(toStringAccessed, 'toStringAccessed !== true'); +assert(valueOfAccessed, 'valueOfAccessed !== true'); +assert.sameValue(callbackfnAccessed, false, 'callbackfnAccessed'); diff --git a/test/built-ins/Array/prototype/every/15.4.4.16-4-1.js b/test/built-ins/Array/prototype/every/15.4.4.16-4-1.js index e6a44deb9e..7c41da2ceb 100644 --- a/test/built-ins/Array/prototype/every/15.4.4.16-4-1.js +++ b/test/built-ins/Array/prototype/every/15.4.4.16-4-1.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.16-4-1 description: Array.prototype.every throws TypeError if callbackfn is undefined -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.every(); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.every(); +}); diff --git a/test/built-ins/Array/prototype/every/15.4.4.16-4-15.js b/test/built-ins/Array/prototype/every/15.4.4.16-4-15.js index ebc4e74909..5c7b02fa46 100644 --- a/test/built-ins/Array/prototype/every/15.4.4.16-4-15.js +++ b/test/built-ins/Array/prototype/every/15.4.4.16-4-15.js @@ -6,10 +6,8 @@ es5id: 15.4.4.16-4-15 description: > Array.prototype.every - calling with no callbackfn is the same as passing undefined for callbackfn -includes: [runTestCase.js] ---*/ -function testcase() { var obj = { 10: 10 }; var lengthAccessed = false; var loopAccessed = false; @@ -29,12 +27,8 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.every.call(obj); - return false; - } catch (ex) { - return (ex instanceof TypeError) && lengthAccessed && !loopAccessed; - } - } -runTestCase(testcase); +}); +assert(lengthAccessed, 'lengthAccessed !== true'); +assert.sameValue(loopAccessed, false, 'loopAccessed'); diff --git a/test/built-ins/Array/prototype/every/15.4.4.16-4-3.js b/test/built-ins/Array/prototype/every/15.4.4.16-4-3.js index 1cc880e8aa..75e038a103 100644 --- a/test/built-ins/Array/prototype/every/15.4.4.16-4-3.js +++ b/test/built-ins/Array/prototype/every/15.4.4.16-4-3.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.16-4-3 description: Array.prototype.every throws TypeError if callbackfn is null -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.every(null); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.every(null); +}); diff --git a/test/built-ins/Array/prototype/every/15.4.4.16-4-4.js b/test/built-ins/Array/prototype/every/15.4.4.16-4-4.js index 4087cbdc63..9da632a37f 100644 --- a/test/built-ins/Array/prototype/every/15.4.4.16-4-4.js +++ b/test/built-ins/Array/prototype/every/15.4.4.16-4-4.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.16-4-4 description: Array.prototype.every throws TypeError if callbackfn is boolean -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.every(true); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.every(true); +}); diff --git a/test/built-ins/Array/prototype/every/15.4.4.16-4-5.js b/test/built-ins/Array/prototype/every/15.4.4.16-4-5.js index 169f53a57a..503ec7d898 100644 --- a/test/built-ins/Array/prototype/every/15.4.4.16-4-5.js +++ b/test/built-ins/Array/prototype/every/15.4.4.16-4-5.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.16-4-5 description: Array.prototype.every throws TypeError if callbackfn is number -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.every(5); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.every(5); +}); diff --git a/test/built-ins/Array/prototype/every/15.4.4.16-4-6.js b/test/built-ins/Array/prototype/every/15.4.4.16-4-6.js index 563af42bd6..789674836b 100644 --- a/test/built-ins/Array/prototype/every/15.4.4.16-4-6.js +++ b/test/built-ins/Array/prototype/every/15.4.4.16-4-6.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.16-4-6 description: Array.prototype.every throws TypeError if callbackfn is string -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.every("abc"); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.every("abc"); +}); diff --git a/test/built-ins/Array/prototype/every/15.4.4.16-4-7.js b/test/built-ins/Array/prototype/every/15.4.4.16-4-7.js index 9bad6bede8..5d6bbc1a59 100644 --- a/test/built-ins/Array/prototype/every/15.4.4.16-4-7.js +++ b/test/built-ins/Array/prototype/every/15.4.4.16-4-7.js @@ -6,19 +6,9 @@ es5id: 15.4.4.16-4-7 description: > Array.prototype.every throws TypeError if callbackfn is Object without a Call internal method -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.every( {} ); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.every( {} ); +}); diff --git a/test/built-ins/Array/prototype/every/15.4.4.16-4-8.js b/test/built-ins/Array/prototype/every/15.4.4.16-4-8.js index 3112aead03..e274820717 100644 --- a/test/built-ins/Array/prototype/every/15.4.4.16-4-8.js +++ b/test/built-ins/Array/prototype/every/15.4.4.16-4-8.js @@ -6,11 +6,8 @@ es5id: 15.4.4.16-4-8 description: > Array.prototype.every - side effects produced by step 2 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { 0: 11, 1: 12 }; var accessed = false; @@ -22,12 +19,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.every.call(obj, null); - return false; - } catch (ex) { - return ex instanceof TypeError && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/every/15.4.4.16-4-9.js b/test/built-ins/Array/prototype/every/15.4.4.16-4-9.js index 1471ee503a..1eac00d468 100644 --- a/test/built-ins/Array/prototype/every/15.4.4.16-4-9.js +++ b/test/built-ins/Array/prototype/every/15.4.4.16-4-9.js @@ -6,11 +6,8 @@ es5id: 15.4.4.16-4-9 description: > Array.prototype.every - side effects produced by step 3 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { 0: 11, 1: 12 }; var accessed = false; @@ -26,12 +23,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.every.call(obj, null); - return false; - } catch (ex) { - return ex instanceof TypeError && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/every/15.4.4.16-7-c-i-30.js b/test/built-ins/Array/prototype/every/15.4.4.16-7-c-i-30.js index de3ad30b79..dbf50bc008 100644 --- a/test/built-ins/Array/prototype/every/15.4.4.16-7-c-i-30.js +++ b/test/built-ins/Array/prototype/every/15.4.4.16-7-c-i-30.js @@ -6,11 +6,8 @@ es5id: 15.4.4.16-7-c-i-30 description: > Array.prototype.every - unnhandled exceptions happened in getter terminate iteration on an Array-like object -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; function callbackfn(val, idx, obj) { if (idx > 1) { @@ -26,12 +23,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(RangeError, function() { Array.prototype.every.call(obj, callbackfn); - return false; - } catch (ex) { - return (ex instanceof RangeError) && !accessed; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/every/15.4.4.16-7-c-i-31.js b/test/built-ins/Array/prototype/every/15.4.4.16-7-c-i-31.js index 6be105291d..00acee8995 100644 --- a/test/built-ins/Array/prototype/every/15.4.4.16-7-c-i-31.js +++ b/test/built-ins/Array/prototype/every/15.4.4.16-7-c-i-31.js @@ -6,11 +6,8 @@ es5id: 15.4.4.16-7-c-i-31 description: > Array.prototype.every - unhandled exceptions happened in getter terminate iteration on an Array -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; function callbackfn(val, idx, obj) { if (idx > 1) { @@ -29,12 +26,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(RangeError, function() { arr.every(callbackfn); - return false; - } catch (ex) { - return (ex instanceof RangeError) && !accessed; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/filter/15.4.4.20-1-1.js b/test/built-ins/Array/prototype/filter/15.4.4.20-1-1.js index 770768432f..749b48d8a2 100644 --- a/test/built-ins/Array/prototype/filter/15.4.4.20-1-1.js +++ b/test/built-ins/Array/prototype/filter/15.4.4.20-1-1.js @@ -4,15 +4,9 @@ /*--- es5id: 15.4.4.20-1-1 description: Array.prototype.filter applied to undefined throws a TypeError -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Array.prototype.filter.call(undefined); // TypeError is thrown if value is undefined - return false; - } catch (ex) { - return ex instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/filter/15.4.4.20-1-2.js b/test/built-ins/Array/prototype/filter/15.4.4.20-1-2.js index 67b1857304..e744128c6e 100644 --- a/test/built-ins/Array/prototype/filter/15.4.4.20-1-2.js +++ b/test/built-ins/Array/prototype/filter/15.4.4.20-1-2.js @@ -4,15 +4,9 @@ /*--- es5id: 15.4.4.20-1-2 description: Array.prototype.filter applied to null throws a TypeError -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Array.prototype.filter.call(null); - return false; - } catch (ex) { - return ex instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/filter/15.4.4.20-3-22.js b/test/built-ins/Array/prototype/filter/15.4.4.20-3-22.js index c9df0158fc..e72f4aab49 100644 --- a/test/built-ins/Array/prototype/filter/15.4.4.20-3-22.js +++ b/test/built-ins/Array/prototype/filter/15.4.4.20-3-22.js @@ -7,11 +7,8 @@ description: > Array.prototype.filter throws TypeError exception when 'length' is an object with toString and valueOf methods that don�t return primitive values -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; var firstStepOccured = false; var secondStepOccured = false; @@ -36,12 +33,9 @@ function testcase() { } } }; - - try { +assert.throws(TypeError, function() { Array.prototype.filter.call(obj, callbackfn); - return false; - } catch (ex) { - return (ex instanceof TypeError) && !accessed && firstStepOccured && secondStepOccured; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); +assert(firstStepOccured, 'firstStepOccured !== true'); +assert(secondStepOccured, 'secondStepOccured !== true'); diff --git a/test/built-ins/Array/prototype/filter/15.4.4.20-4-1.js b/test/built-ins/Array/prototype/filter/15.4.4.20-4-1.js index f8254ae83a..438a810dac 100644 --- a/test/built-ins/Array/prototype/filter/15.4.4.20-4-1.js +++ b/test/built-ins/Array/prototype/filter/15.4.4.20-4-1.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.20-4-1 description: Array.prototype.filter throws TypeError if callbackfn is undefined -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.filter(); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.filter(); +}); diff --git a/test/built-ins/Array/prototype/filter/15.4.4.20-4-15.js b/test/built-ins/Array/prototype/filter/15.4.4.20-4-15.js index eb24bf97d0..2bf2e8a962 100644 --- a/test/built-ins/Array/prototype/filter/15.4.4.20-4-15.js +++ b/test/built-ins/Array/prototype/filter/15.4.4.20-4-15.js @@ -6,10 +6,8 @@ es5id: 15.4.4.20-4-15 description: > Array.prototype.filter - calling with no callbackfn is the same as passing undefined for callbackfn -includes: [runTestCase.js] ---*/ -function testcase() { var obj = { 10: 10 }; var lengthAccessed = false; var loopAccessed = false; @@ -27,12 +25,8 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.filter.call(obj); - return false; - } catch (ex) { - return (ex instanceof TypeError) && lengthAccessed && !loopAccessed; - } - } -runTestCase(testcase); +}); +assert(lengthAccessed, 'lengthAccessed !== true'); +assert.sameValue(loopAccessed, false, 'loopAccessed'); diff --git a/test/built-ins/Array/prototype/filter/15.4.4.20-4-2.js b/test/built-ins/Array/prototype/filter/15.4.4.20-4-2.js index fa8b81de4c..69579f172c 100644 --- a/test/built-ins/Array/prototype/filter/15.4.4.20-4-2.js +++ b/test/built-ins/Array/prototype/filter/15.4.4.20-4-2.js @@ -6,19 +6,9 @@ es5id: 15.4.4.20-4-2 description: > Array.prototype.filter throws ReferenceError if callbackfn is unreferenced -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.filter(foo); - } - catch(e) { - if(e instanceof ReferenceError) - return true; - } - - } -runTestCase(testcase); +assert.throws(ReferenceError, function() { + arr.filter(foo); +}); diff --git a/test/built-ins/Array/prototype/filter/15.4.4.20-4-3.js b/test/built-ins/Array/prototype/filter/15.4.4.20-4-3.js index 37808a9873..3a9417fafc 100644 --- a/test/built-ins/Array/prototype/filter/15.4.4.20-4-3.js +++ b/test/built-ins/Array/prototype/filter/15.4.4.20-4-3.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.20-4-3 description: Array.prototype.filter throws TypeError if callbackfn is null -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.filter(null); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.filter(null); +}); diff --git a/test/built-ins/Array/prototype/filter/15.4.4.20-4-4.js b/test/built-ins/Array/prototype/filter/15.4.4.20-4-4.js index c09bf01f33..2f6e677260 100644 --- a/test/built-ins/Array/prototype/filter/15.4.4.20-4-4.js +++ b/test/built-ins/Array/prototype/filter/15.4.4.20-4-4.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.20-4-4 description: Array.prototype.filter throws TypeError if callbackfn is boolean -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.filter(true); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.filter(true); +}); diff --git a/test/built-ins/Array/prototype/filter/15.4.4.20-4-5.js b/test/built-ins/Array/prototype/filter/15.4.4.20-4-5.js index 4d49906ec0..62e94d2a31 100644 --- a/test/built-ins/Array/prototype/filter/15.4.4.20-4-5.js +++ b/test/built-ins/Array/prototype/filter/15.4.4.20-4-5.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.20-4-5 description: Array.prototype.filter throws TypeError if callbackfn is number -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.filter(5); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.filter(5); +}); diff --git a/test/built-ins/Array/prototype/filter/15.4.4.20-4-6.js b/test/built-ins/Array/prototype/filter/15.4.4.20-4-6.js index 543dd3adcb..964c3d340a 100644 --- a/test/built-ins/Array/prototype/filter/15.4.4.20-4-6.js +++ b/test/built-ins/Array/prototype/filter/15.4.4.20-4-6.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.20-4-6 description: Array.prototype.filter throws TypeError if callbackfn is string -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.filter("abc"); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.filter("abc"); +}); diff --git a/test/built-ins/Array/prototype/filter/15.4.4.20-4-7.js b/test/built-ins/Array/prototype/filter/15.4.4.20-4-7.js index d80cb49a0a..11a9fc5b07 100644 --- a/test/built-ins/Array/prototype/filter/15.4.4.20-4-7.js +++ b/test/built-ins/Array/prototype/filter/15.4.4.20-4-7.js @@ -6,19 +6,9 @@ es5id: 15.4.4.20-4-7 description: > Array.prototype.filter throws TypeError if callbackfn is Object without [[Call]] internal method -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.filter(new Object()); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.filter(new Object()); +}); diff --git a/test/built-ins/Array/prototype/filter/15.4.4.20-4-8.js b/test/built-ins/Array/prototype/filter/15.4.4.20-4-8.js index b643d08ff1..2941ac08cd 100644 --- a/test/built-ins/Array/prototype/filter/15.4.4.20-4-8.js +++ b/test/built-ins/Array/prototype/filter/15.4.4.20-4-8.js @@ -6,11 +6,8 @@ es5id: 15.4.4.20-4-8 description: > Array.prototype.filter - side effects produced by step 2 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { 0: 11, 1: 12 }; var accessed = false; @@ -22,12 +19,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.filter.call(obj, null); - return false; - } catch (ex) { - return ex instanceof TypeError && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/filter/15.4.4.20-4-9.js b/test/built-ins/Array/prototype/filter/15.4.4.20-4-9.js index 813de76f6e..566e97f529 100644 --- a/test/built-ins/Array/prototype/filter/15.4.4.20-4-9.js +++ b/test/built-ins/Array/prototype/filter/15.4.4.20-4-9.js @@ -6,11 +6,8 @@ es5id: 15.4.4.20-4-9 description: > Array.prototype.filter - side effects produced by step 3 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { 0: 11, 1: 12 }; var accessed = false; @@ -26,12 +23,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.filter.call(obj, null); - return false; - } catch (ex) { - return ex instanceof TypeError && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/filter/15.4.4.20-9-c-i-30.js b/test/built-ins/Array/prototype/filter/15.4.4.20-9-c-i-30.js index 7851756f51..e0381e7cdb 100644 --- a/test/built-ins/Array/prototype/filter/15.4.4.20-9-c-i-30.js +++ b/test/built-ins/Array/prototype/filter/15.4.4.20-9-c-i-30.js @@ -6,11 +6,8 @@ es5id: 15.4.4.20-9-c-i-30 description: > Array.prototype.filter - unnhandled exceptions happened in getter terminate iteration on an Array-like object -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; function callbackfn(val, idx, obj) { if (idx > 1) { @@ -26,12 +23,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(RangeError, function() { Array.prototype.filter.call(obj, callbackfn); - return false; - } catch (ex) { - return (ex instanceof RangeError) && !accessed; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/filter/15.4.4.20-9-c-i-31.js b/test/built-ins/Array/prototype/filter/15.4.4.20-9-c-i-31.js index 844231c32d..63d371c180 100644 --- a/test/built-ins/Array/prototype/filter/15.4.4.20-9-c-i-31.js +++ b/test/built-ins/Array/prototype/filter/15.4.4.20-9-c-i-31.js @@ -6,11 +6,8 @@ es5id: 15.4.4.20-9-c-i-31 description: > Array.prototype.filter - unnhandled exceptions happened in getter terminate iteration on an Array -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; function callbackfn(val, idx, obj) { if (idx > 1) { @@ -29,12 +26,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(RangeError, function() { arr.filter(callbackfn); - return false; - } catch (ex) { - return (ex instanceof RangeError) && !accessed; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/filter/15.4.4.20-9-c-ii-7.js b/test/built-ins/Array/prototype/filter/15.4.4.20-9-c-ii-7.js index 55a30af64e..cc1b9ba757 100644 --- a/test/built-ins/Array/prototype/filter/15.4.4.20-9-c-ii-7.js +++ b/test/built-ins/Array/prototype/filter/15.4.4.20-9-c-ii-7.js @@ -6,11 +6,8 @@ es5id: 15.4.4.20-9-c-ii-7 description: > Array.prototype.filter - unhandled exceptions happened in callbackfn terminate iteration -includes: [runTestCase.js] ---*/ -function testcase() { - var called = 0; function callbackfn(val, idx, obj) { @@ -22,12 +19,7 @@ function testcase() { } var obj = { 0: 11, 4: 10, 10: 8, length: 20 }; - - try { +assert.throws(Error, function() { Array.prototype.filter.call(obj, callbackfn); - return false; - } catch (ex) { - return 1 === called && ex instanceof Error; - } - } -runTestCase(testcase); +}); +assert.sameValue(called, 1, 'called'); diff --git a/test/built-ins/Array/prototype/forEach/15.4.4.18-1-1.js b/test/built-ins/Array/prototype/forEach/15.4.4.18-1-1.js index 35bc091201..5df4d453a8 100644 --- a/test/built-ins/Array/prototype/forEach/15.4.4.18-1-1.js +++ b/test/built-ins/Array/prototype/forEach/15.4.4.18-1-1.js @@ -4,15 +4,9 @@ /*--- es5id: 15.4.4.18-1-1 description: Array.prototype.forEach applied to undefined -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Array.prototype.forEach.call(undefined); // TypeError is thrown if value is undefined - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/forEach/15.4.4.18-1-2.js b/test/built-ins/Array/prototype/forEach/15.4.4.18-1-2.js index 1264199ae3..4f0d6c81dc 100644 --- a/test/built-ins/Array/prototype/forEach/15.4.4.18-1-2.js +++ b/test/built-ins/Array/prototype/forEach/15.4.4.18-1-2.js @@ -4,15 +4,9 @@ /*--- es5id: 15.4.4.18-1-2 description: Array.prototype.forEach applied to null -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Array.prototype.forEach.call(null); // TypeError is thrown if value is null - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/forEach/15.4.4.18-3-22.js b/test/built-ins/Array/prototype/forEach/15.4.4.18-3-22.js index 1ee562c5a5..e9f68c7d5d 100644 --- a/test/built-ins/Array/prototype/forEach/15.4.4.18-3-22.js +++ b/test/built-ins/Array/prototype/forEach/15.4.4.18-3-22.js @@ -7,11 +7,8 @@ description: > Array.prototype.forEach throws TypeError exception when 'length' is an object with toString and valueOf methods that don�t return primitive values -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; var firstStepOccured = false; var secondStepOccured = false; @@ -35,12 +32,7 @@ function testcase() { } } }; - - try { +assert.throws(TypeError, function() { Array.prototype.forEach.call(obj, callbackfn); - return false; - } catch (ex) { - return ex instanceof TypeError && !accessed; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/forEach/15.4.4.18-4-1.js b/test/built-ins/Array/prototype/forEach/15.4.4.18-4-1.js index e8d0a85c2c..34eba32d8f 100644 --- a/test/built-ins/Array/prototype/forEach/15.4.4.18-4-1.js +++ b/test/built-ins/Array/prototype/forEach/15.4.4.18-4-1.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.18-4-1 description: Array.prototype.forEach throws TypeError if callbackfn is undefined -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.forEach(); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.forEach(); +}); diff --git a/test/built-ins/Array/prototype/forEach/15.4.4.18-4-15.js b/test/built-ins/Array/prototype/forEach/15.4.4.18-4-15.js index fcb6aa5566..c3a2599bf8 100644 --- a/test/built-ins/Array/prototype/forEach/15.4.4.18-4-15.js +++ b/test/built-ins/Array/prototype/forEach/15.4.4.18-4-15.js @@ -6,11 +6,8 @@ es5id: 15.4.4.18-4-15 description: > Array.prototype.forEach - calling with no callbackfn is the same as passing undefined for callbackfn -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { 10: 10 }; var lengthAccessed = false; var loopAccessed = false; @@ -30,12 +27,8 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.forEach.call(obj); - return false; - } catch (ex) { - return (ex instanceof TypeError) && lengthAccessed && !loopAccessed; - } - } -runTestCase(testcase); +}); +assert(lengthAccessed, 'lengthAccessed !== true'); +assert.sameValue(loopAccessed, false, 'loopAccessed'); diff --git a/test/built-ins/Array/prototype/forEach/15.4.4.18-4-2.js b/test/built-ins/Array/prototype/forEach/15.4.4.18-4-2.js index ecf45aba38..08363293d4 100644 --- a/test/built-ins/Array/prototype/forEach/15.4.4.18-4-2.js +++ b/test/built-ins/Array/prototype/forEach/15.4.4.18-4-2.js @@ -6,19 +6,9 @@ es5id: 15.4.4.18-4-2 description: > Array.prototype.forEach throws ReferenceError if callbackfn is unreferenced -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.forEach(foo); - } - catch(e) { - if(e instanceof ReferenceError) - return true; - } - - } -runTestCase(testcase); +assert.throws(ReferenceError, function() { + arr.forEach(foo); +}); diff --git a/test/built-ins/Array/prototype/forEach/15.4.4.18-4-3.js b/test/built-ins/Array/prototype/forEach/15.4.4.18-4-3.js index 6abd385a35..8268cbf669 100644 --- a/test/built-ins/Array/prototype/forEach/15.4.4.18-4-3.js +++ b/test/built-ins/Array/prototype/forEach/15.4.4.18-4-3.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.18-4-3 description: Array.prototype.forEach throws TypeError if callbackfn is null -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.forEach(null); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.forEach(null); +}); diff --git a/test/built-ins/Array/prototype/forEach/15.4.4.18-4-4.js b/test/built-ins/Array/prototype/forEach/15.4.4.18-4-4.js index 749e4d3a6c..6fe301dab0 100644 --- a/test/built-ins/Array/prototype/forEach/15.4.4.18-4-4.js +++ b/test/built-ins/Array/prototype/forEach/15.4.4.18-4-4.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.18-4-4 description: Array.prototype.forEach throws TypeError if callbackfn is boolean -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.forEach(true); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.forEach(true); +}); diff --git a/test/built-ins/Array/prototype/forEach/15.4.4.18-4-5.js b/test/built-ins/Array/prototype/forEach/15.4.4.18-4-5.js index c0cd39e86d..4485c46062 100644 --- a/test/built-ins/Array/prototype/forEach/15.4.4.18-4-5.js +++ b/test/built-ins/Array/prototype/forEach/15.4.4.18-4-5.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.18-4-5 description: Array.prototype.forEach throws TypeError if callbackfn is number -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.forEach(5); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.forEach(5); +}); diff --git a/test/built-ins/Array/prototype/forEach/15.4.4.18-4-6.js b/test/built-ins/Array/prototype/forEach/15.4.4.18-4-6.js index 60888e0007..84e29d51d5 100644 --- a/test/built-ins/Array/prototype/forEach/15.4.4.18-4-6.js +++ b/test/built-ins/Array/prototype/forEach/15.4.4.18-4-6.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.18-4-6 description: Array.prototype.forEach throws TypeError if callbackfn is string -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.forEach("abc"); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.forEach("abc"); +}); diff --git a/test/built-ins/Array/prototype/forEach/15.4.4.18-4-7.js b/test/built-ins/Array/prototype/forEach/15.4.4.18-4-7.js index c397eff4e8..d7ed337aef 100644 --- a/test/built-ins/Array/prototype/forEach/15.4.4.18-4-7.js +++ b/test/built-ins/Array/prototype/forEach/15.4.4.18-4-7.js @@ -6,19 +6,9 @@ es5id: 15.4.4.18-4-7 description: > Array.prototype.forEach throws TypeError if callbackfn is Object without Call internal method -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.forEach(new Object()); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.forEach(new Object()); +}); diff --git a/test/built-ins/Array/prototype/forEach/15.4.4.18-4-8.js b/test/built-ins/Array/prototype/forEach/15.4.4.18-4-8.js index a6ba2a75ec..033029fa12 100644 --- a/test/built-ins/Array/prototype/forEach/15.4.4.18-4-8.js +++ b/test/built-ins/Array/prototype/forEach/15.4.4.18-4-8.js @@ -6,11 +6,8 @@ es5id: 15.4.4.18-4-8 description: > Array.prototype.forEach - side effects produced by step 2 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { 0: 11, 1: 12 }; var accessed = false; @@ -22,12 +19,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.forEach.call(obj, null); - return false; - } catch (ex) { - return ex instanceof TypeError && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/forEach/15.4.4.18-4-9.js b/test/built-ins/Array/prototype/forEach/15.4.4.18-4-9.js index bcdf91fb1e..1cccf2166e 100644 --- a/test/built-ins/Array/prototype/forEach/15.4.4.18-4-9.js +++ b/test/built-ins/Array/prototype/forEach/15.4.4.18-4-9.js @@ -6,11 +6,8 @@ es5id: 15.4.4.18-4-9 description: > Array.prototype.forEach - side effects produced by step 3 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { 0: 11, 1: 12 }; var accessed = false; @@ -26,12 +23,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.forEach.call(obj, null); - return false; - } catch (ex) { - return ex instanceof TypeError && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/forEach/15.4.4.18-7-c-i-30.js b/test/built-ins/Array/prototype/forEach/15.4.4.18-7-c-i-30.js index b438b56450..f02c6bf67b 100644 --- a/test/built-ins/Array/prototype/forEach/15.4.4.18-7-c-i-30.js +++ b/test/built-ins/Array/prototype/forEach/15.4.4.18-7-c-i-30.js @@ -6,11 +6,8 @@ es5id: 15.4.4.18-7-c-i-30 description: > Array.prototype.forEach - unnhandled exceptions happened in getter terminate iteration on an Array-like object -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { 0: 11, 5: 10, 10: 8, length: 20 }; var accessed = false; @@ -34,12 +31,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(RangeError, function() { Array.prototype.forEach.call(obj, callbackfn); - return false; - } catch (ex) { - return (ex instanceof RangeError) && !accessed; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/forEach/15.4.4.18-7-c-i-31.js b/test/built-ins/Array/prototype/forEach/15.4.4.18-7-c-i-31.js index b32a0eb15e..1a84121fd9 100644 --- a/test/built-ins/Array/prototype/forEach/15.4.4.18-7-c-i-31.js +++ b/test/built-ins/Array/prototype/forEach/15.4.4.18-7-c-i-31.js @@ -6,11 +6,8 @@ es5id: 15.4.4.18-7-c-i-31 description: > Array.prototype.forEach - unnhandled exceptions happened in getter terminate iteration on an Array-like object -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; function callbackfn(val, idx, obj) { @@ -37,12 +34,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(RangeError, function() { arr.forEach(callbackfn); - return false; - } catch (ex) { - return (ex instanceof RangeError) && !accessed; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/forEach/15.4.4.18-7-c-ii-7.js b/test/built-ins/Array/prototype/forEach/15.4.4.18-7-c-ii-7.js index b56b2333eb..a7b0680c1d 100644 --- a/test/built-ins/Array/prototype/forEach/15.4.4.18-7-c-ii-7.js +++ b/test/built-ins/Array/prototype/forEach/15.4.4.18-7-c-ii-7.js @@ -6,11 +6,8 @@ es5id: 15.4.4.18-7-c-ii-7 description: > Array.prototype.forEach - unhandled exceptions happened in callbackfn terminate iteration -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; function callbackfn(val, idx, obj) { @@ -23,12 +20,7 @@ function testcase() { } var obj = { 0: 11, 4: 10, 10: 8, length: 20 }; - - try { +assert.throws(Error, function() { Array.prototype.forEach.call(obj, callbackfn); - return false; - } catch (ex) { - return ex instanceof Error && !accessed; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/indexOf/15.4.4.14-1-1.js b/test/built-ins/Array/prototype/indexOf/15.4.4.14-1-1.js index e91bf82c8b..fbffd031cc 100644 --- a/test/built-ins/Array/prototype/indexOf/15.4.4.14-1-1.js +++ b/test/built-ins/Array/prototype/indexOf/15.4.4.14-1-1.js @@ -4,16 +4,9 @@ /*--- es5id: 15.4.4.14-1-1 description: Array.prototype.indexOf applied to undefined throws a TypeError -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Array.prototype.indexOf.call(undefined); - return false; - } - catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/indexOf/15.4.4.14-1-2.js b/test/built-ins/Array/prototype/indexOf/15.4.4.14-1-2.js index ed94cac5c0..c1685fcb01 100644 --- a/test/built-ins/Array/prototype/indexOf/15.4.4.14-1-2.js +++ b/test/built-ins/Array/prototype/indexOf/15.4.4.14-1-2.js @@ -4,16 +4,9 @@ /*--- es5id: 15.4.4.14-1-2 description: Array.prototype.indexOf applied to null throws a TypeError -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Array.prototype.indexOf.call(null); - return false; - } - catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/indexOf/15.4.4.14-5-28.js b/test/built-ins/Array/prototype/indexOf/15.4.4.14-5-28.js index b96dc3b460..3a9538711c 100644 --- a/test/built-ins/Array/prototype/indexOf/15.4.4.14-5-28.js +++ b/test/built-ins/Array/prototype/indexOf/15.4.4.14-5-28.js @@ -6,11 +6,8 @@ es5id: 15.4.4.14-5-28 description: > Array.prototype.indexOf - side effects produced by step 1 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var stepFiveOccurs = false; var fromIndex = { valueOf: function () { @@ -18,12 +15,7 @@ function testcase() { return 0; } }; - - try { +assert.throws(TypeError, function() { Array.prototype.indexOf.call(undefined, undefined, fromIndex); - return false; - } catch (e) { - return (e instanceof TypeError) && !stepFiveOccurs; - } - } -runTestCase(testcase); +}); +assert.sameValue(stepFiveOccurs, false, 'stepFiveOccurs'); diff --git a/test/built-ins/Array/prototype/indexOf/15.4.4.14-5-29.js b/test/built-ins/Array/prototype/indexOf/15.4.4.14-5-29.js index 60c52cb088..6c4c3d7691 100644 --- a/test/built-ins/Array/prototype/indexOf/15.4.4.14-5-29.js +++ b/test/built-ins/Array/prototype/indexOf/15.4.4.14-5-29.js @@ -6,11 +6,8 @@ es5id: 15.4.4.14-5-29 description: > Array.prototype.indexOf - side effects produced by step 2 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var stepFiveOccurs = false; var obj = {}; @@ -27,12 +24,7 @@ function testcase() { return 0; } }; - - try { +assert.throws(RangeError, function() { Array.prototype.indexOf.call(obj, undefined, fromIndex); - return false; - } catch (e) { - return (e instanceof RangeError) && !stepFiveOccurs; - } - } -runTestCase(testcase); +}); +assert.sameValue(stepFiveOccurs, false, 'stepFiveOccurs'); diff --git a/test/built-ins/Array/prototype/indexOf/15.4.4.14-5-30.js b/test/built-ins/Array/prototype/indexOf/15.4.4.14-5-30.js index 3766f2ab9f..7fdd12722e 100644 --- a/test/built-ins/Array/prototype/indexOf/15.4.4.14-5-30.js +++ b/test/built-ins/Array/prototype/indexOf/15.4.4.14-5-30.js @@ -6,11 +6,8 @@ es5id: 15.4.4.14-5-30 description: > Array.prototype.indexOf - side effects produced by step 3 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var stepFiveOccurs = false; var obj = {}; @@ -31,12 +28,7 @@ function testcase() { return 0; } }; - - try { +assert.throws(TypeError, function() { Array.prototype.indexOf.call(obj, undefined, fromIndex); - return false; - } catch (e) { - return (e instanceof TypeError) && !stepFiveOccurs; - } - } -runTestCase(testcase); +}); +assert.sameValue(stepFiveOccurs, false, 'stepFiveOccurs'); diff --git a/test/built-ins/Array/prototype/indexOf/15.4.4.14-9-b-i-30.js b/test/built-ins/Array/prototype/indexOf/15.4.4.14-9-b-i-30.js index 00da423664..5d6195afbb 100644 --- a/test/built-ins/Array/prototype/indexOf/15.4.4.14-9-b-i-30.js +++ b/test/built-ins/Array/prototype/indexOf/15.4.4.14-9-b-i-30.js @@ -6,11 +6,8 @@ es5id: 15.4.4.14-9-b-i-30 description: > Array.prototype.indexOf - terminates iteration on unhandled exception on an Array -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; var arr = []; @@ -28,12 +25,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { arr.indexOf(true); - return false; - } catch (e) { - return (e instanceof TypeError) && !accessed; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/indexOf/15.4.4.14-9-b-i-31.js b/test/built-ins/Array/prototype/indexOf/15.4.4.14-9-b-i-31.js index 98556ba4bd..caf9f52867 100644 --- a/test/built-ins/Array/prototype/indexOf/15.4.4.14-9-b-i-31.js +++ b/test/built-ins/Array/prototype/indexOf/15.4.4.14-9-b-i-31.js @@ -6,11 +6,8 @@ es5id: 15.4.4.14-9-b-i-31 description: > Array.prototype.indexOf - terminates iteration on unhandled exception on an Array-like object -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; var obj = { length: 2 }; @@ -28,13 +25,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.indexOf.call(obj, true); - return false; - } catch (e) { - return (e instanceof TypeError) && !accessed; - } - - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-1-1.js b/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-1-1.js index 1a3f3404e1..93d2ea6e0b 100644 --- a/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-1-1.js +++ b/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-1-1.js @@ -4,18 +4,9 @@ /*--- es5id: 15.4.4.15-1-1 description: Array.prototype.lastIndexOf applied to undefined throws a TypeError -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Array.prototype.lastIndexOf.call(undefined); - return false; - } catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-1-2.js b/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-1-2.js index 9df9406663..4412bdcb62 100644 --- a/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-1-2.js +++ b/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-1-2.js @@ -4,18 +4,9 @@ /*--- es5id: 15.4.4.15-1-2 description: Array.prototype.lastIndexOf applied to null throws a TypeError -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Array.prototype.lastIndexOf.call(null); - return false; - } catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-5-28.js b/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-5-28.js index e7d3c3b17e..8ea3d80638 100644 --- a/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-5-28.js +++ b/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-5-28.js @@ -6,11 +6,8 @@ es5id: 15.4.4.15-5-28 description: > Array.prototype.lastIndexOf - side effects produced by step 1 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var stepFiveOccurs = false; var fromIndex = { valueOf: function () { @@ -18,12 +15,7 @@ function testcase() { return 0; } }; - - try { +assert.throws(TypeError, function() { Array.prototype.lastIndexOf.call(undefined, undefined, fromIndex); - return false; - } catch (e) { - return (e instanceof TypeError) && !stepFiveOccurs; - } - } -runTestCase(testcase); +}); +assert.sameValue(stepFiveOccurs, false, 'stepFiveOccurs'); diff --git a/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-5-29.js b/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-5-29.js index 4da7075f42..a5f477b474 100644 --- a/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-5-29.js +++ b/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-5-29.js @@ -6,11 +6,8 @@ es5id: 15.4.4.15-5-29 description: > Array.prototype.lastIndexOf - side effects produced by step 2 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var stepFiveOccurs = false; var obj = {}; @@ -27,12 +24,7 @@ function testcase() { return 0; } }; - - try { +assert.throws(RangeError, function() { Array.prototype.lastIndexOf.call(obj, undefined, fromIndex); - return false; - } catch (e) { - return (e instanceof RangeError) && !stepFiveOccurs; - } - } -runTestCase(testcase); +}); +assert.sameValue(stepFiveOccurs, false, 'stepFiveOccurs'); diff --git a/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-5-30.js b/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-5-30.js index 44e7ce2fdb..b462cde097 100644 --- a/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-5-30.js +++ b/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-5-30.js @@ -6,11 +6,8 @@ es5id: 15.4.4.15-5-30 description: > Array.prototype.lastIndexOf - side effects produced by step 3 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var stepFiveOccurs = false; var obj = {}; @@ -31,12 +28,7 @@ function testcase() { return 0; } }; - - try { +assert.throws(TypeError, function() { Array.prototype.lastIndexOf.call(obj, undefined, fromIndex); - return false; - } catch (e) { - return (e instanceof TypeError) && !stepFiveOccurs; - } - } -runTestCase(testcase); +}); +assert.sameValue(stepFiveOccurs, false, 'stepFiveOccurs'); diff --git a/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-8-b-i-30.js b/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-8-b-i-30.js index fb4bf57019..9e85224f09 100644 --- a/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-8-b-i-30.js +++ b/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-8-b-i-30.js @@ -6,11 +6,8 @@ es5id: 15.4.4.15-8-b-i-30 description: > Array.prototype.lastIndexOf terminates iteration on unhandled exception on an Array -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; var arr = []; @@ -28,13 +25,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { arr.lastIndexOf(true); - return false; - } catch (e) { - return (e instanceof TypeError) && !accessed; - } - - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-8-b-i-31.js b/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-8-b-i-31.js index e06ce36e03..755d7de15f 100644 --- a/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-8-b-i-31.js +++ b/test/built-ins/Array/prototype/lastIndexOf/15.4.4.15-8-b-i-31.js @@ -6,11 +6,8 @@ es5id: 15.4.4.15-8-b-i-31 description: > Array.prototype.lastIndexOf terminates iteration on unhandled exception on an Array-like object -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; var obj = { length: 3 }; @@ -28,13 +25,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.lastIndexOf.call(obj, true); - return false; - } catch (e) { - return (e instanceof TypeError) && !accessed; - } - - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/map/15.4.4.19-1-1.js b/test/built-ins/Array/prototype/map/15.4.4.19-1-1.js index ec66e5a665..c06be0e03f 100644 --- a/test/built-ins/Array/prototype/map/15.4.4.19-1-1.js +++ b/test/built-ins/Array/prototype/map/15.4.4.19-1-1.js @@ -4,15 +4,9 @@ /*--- es5id: 15.4.4.19-1-1 description: Array.prototype.map - applied to undefined -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Array.prototype.map.call(undefined); // TypeError is thrown if value is undefined - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/map/15.4.4.19-1-2.js b/test/built-ins/Array/prototype/map/15.4.4.19-1-2.js index eb819c4dba..4d946c98bc 100644 --- a/test/built-ins/Array/prototype/map/15.4.4.19-1-2.js +++ b/test/built-ins/Array/prototype/map/15.4.4.19-1-2.js @@ -4,15 +4,9 @@ /*--- es5id: 15.4.4.19-1-2 description: Array.prototype.map - applied to null -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Array.prototype.map.call(null); // TypeError is thrown if value is null - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/map/15.4.4.19-3-14.js b/test/built-ins/Array/prototype/map/15.4.4.19-3-14.js index 0e10ba1e1e..de00b86d0e 100644 --- a/test/built-ins/Array/prototype/map/15.4.4.19-3-14.js +++ b/test/built-ins/Array/prototype/map/15.4.4.19-3-14.js @@ -4,22 +4,13 @@ /*--- es5id: 15.4.4.19-3-14 description: Array.prototype.map - 'length' is a string containing Infinity -includes: [runTestCase.js] ---*/ -function testcase() { function callbackfn(val, idx, obj) { return val < 10; } var obj = { 0: 9, length: "Infinity" }; - - try { +assert.throws(RangeError, function() { Array.prototype.map.call(obj, callbackfn); - } catch (e) { - if (e instanceof RangeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/map/15.4.4.19-3-22.js b/test/built-ins/Array/prototype/map/15.4.4.19-3-22.js index 06b009cf23..7dcdcc31e7 100644 --- a/test/built-ins/Array/prototype/map/15.4.4.19-3-22.js +++ b/test/built-ins/Array/prototype/map/15.4.4.19-3-22.js @@ -7,11 +7,8 @@ description: > Array.prototype.map throws TypeError exception when 'length' is an object with toString and valueOf methods that don�t return primitive values -includes: [runTestCase.js] ---*/ -function testcase() { - function callbackfn(val, idx, obj) { return val > 10; } @@ -29,12 +26,6 @@ function testcase() { } } }; - - try { +assert.throws(TypeError, function() { Array.prototype.map.call(obj, callbackfn); - return false; - } catch (ex) { - return ex instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/map/15.4.4.19-3-28.js b/test/built-ins/Array/prototype/map/15.4.4.19-3-28.js index 7fe0d865f4..25f868e3e8 100644 --- a/test/built-ins/Array/prototype/map/15.4.4.19-3-28.js +++ b/test/built-ins/Array/prototype/map/15.4.4.19-3-28.js @@ -4,11 +4,8 @@ /*--- es5id: 15.4.4.19-3-28 description: Array.prototype.map - value of 'length' is boundary value (2^32) -includes: [runTestCase.js] ---*/ -function testcase() { - function callbackfn(val, idx, obj) { return val > 10; } @@ -17,13 +14,6 @@ function testcase() { 0: 12, length: 4294967296 }; - - try { +assert.throws(RangeError, function() { var newArr = Array.prototype.map.call(obj, callbackfn); - } catch (e) { - if (e instanceof RangeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/map/15.4.4.19-3-29.js b/test/built-ins/Array/prototype/map/15.4.4.19-3-29.js index 8e4d501067..45b72bbe14 100644 --- a/test/built-ins/Array/prototype/map/15.4.4.19-3-29.js +++ b/test/built-ins/Array/prototype/map/15.4.4.19-3-29.js @@ -6,11 +6,8 @@ es5id: 15.4.4.19-3-29 description: > Array.prototype.map - value of 'length' is boundary value (2^32 + 1) -includes: [runTestCase.js] ---*/ -function testcase() { - function callbackfn(val, idx, obj) { return val > 10; } @@ -20,13 +17,6 @@ function testcase() { 1: 9, length: 4294967297 }; - - try { +assert.throws(RangeError, function() { var newArr = Array.prototype.map.call(obj, callbackfn); - } catch (e) { - if (e instanceof RangeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/map/15.4.4.19-3-8.js b/test/built-ins/Array/prototype/map/15.4.4.19-3-8.js index f4ee0e4258..5129e06e2c 100644 --- a/test/built-ins/Array/prototype/map/15.4.4.19-3-8.js +++ b/test/built-ins/Array/prototype/map/15.4.4.19-3-8.js @@ -6,22 +6,13 @@ es5id: 15.4.4.19-3-8 description: > Array.prototype.map - value of 'length' is a number (value is Infinity) -includes: [runTestCase.js] ---*/ -function testcase() { function callbackfn(val, idx, obj) { return val < 10; } var obj = { 0: 9, length: Infinity }; - - try { +assert.throws(RangeError, function() { Array.prototype.map.call(obj, callbackfn); - } catch (e) { - if (e instanceof RangeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/map/15.4.4.19-4-1.js b/test/built-ins/Array/prototype/map/15.4.4.19-4-1.js index 27a87abfe5..e1bbc378dc 100644 --- a/test/built-ins/Array/prototype/map/15.4.4.19-4-1.js +++ b/test/built-ins/Array/prototype/map/15.4.4.19-4-1.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.19-4-1 description: Array.prototype.map throws TypeError if callbackfn is undefined -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.map(); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.map(); +}); diff --git a/test/built-ins/Array/prototype/map/15.4.4.19-4-15.js b/test/built-ins/Array/prototype/map/15.4.4.19-4-15.js index 8f7efc8390..cba95c17c1 100644 --- a/test/built-ins/Array/prototype/map/15.4.4.19-4-15.js +++ b/test/built-ins/Array/prototype/map/15.4.4.19-4-15.js @@ -6,11 +6,8 @@ es5id: 15.4.4.19-4-15 description: > Array.prototype.map - calling with no callbackfn is the same as passing undefined for callbackfn -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { 10: 10 }; var lengthAccessed = false; var loopAccessed = false; @@ -29,12 +26,8 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.map.call(obj); - return false; - } catch (e) { - return e instanceof TypeError && lengthAccessed && !loopAccessed; - } - } -runTestCase(testcase); +}); +assert(lengthAccessed, 'lengthAccessed !== true'); +assert.sameValue(loopAccessed, false, 'loopAccessed'); diff --git a/test/built-ins/Array/prototype/map/15.4.4.19-4-2.js b/test/built-ins/Array/prototype/map/15.4.4.19-4-2.js index 24fe85ead0..0b0b2becfe 100644 --- a/test/built-ins/Array/prototype/map/15.4.4.19-4-2.js +++ b/test/built-ins/Array/prototype/map/15.4.4.19-4-2.js @@ -6,19 +6,9 @@ es5id: 15.4.4.19-4-2 description: > Array.prototype.map throws ReferenceError if callbackfn is unreferenced -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.map(foo); - } - catch(e) { - if(e instanceof ReferenceError) - return true; - } - - } -runTestCase(testcase); +assert.throws(ReferenceError, function() { + arr.map(foo); +}); diff --git a/test/built-ins/Array/prototype/map/15.4.4.19-4-3.js b/test/built-ins/Array/prototype/map/15.4.4.19-4-3.js index ff3ead687b..0cb7b7c31b 100644 --- a/test/built-ins/Array/prototype/map/15.4.4.19-4-3.js +++ b/test/built-ins/Array/prototype/map/15.4.4.19-4-3.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.19-4-3 description: Array.prototype.map throws TypeError if callbackfn is null -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.map(null); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.map(null); +}); diff --git a/test/built-ins/Array/prototype/map/15.4.4.19-4-4.js b/test/built-ins/Array/prototype/map/15.4.4.19-4-4.js index 7d88c65692..ed53e5efae 100644 --- a/test/built-ins/Array/prototype/map/15.4.4.19-4-4.js +++ b/test/built-ins/Array/prototype/map/15.4.4.19-4-4.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.19-4-4 description: Array.prototype.map throws TypeError if callbackfn is boolean -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.map(true); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.map(true); +}); diff --git a/test/built-ins/Array/prototype/map/15.4.4.19-4-5.js b/test/built-ins/Array/prototype/map/15.4.4.19-4-5.js index 9b0359ac7a..fbbbb83a61 100644 --- a/test/built-ins/Array/prototype/map/15.4.4.19-4-5.js +++ b/test/built-ins/Array/prototype/map/15.4.4.19-4-5.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.19-4-5 description: Array.prototype.map throws TypeError if callbackfn is number -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.map(5); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.map(5); +}); diff --git a/test/built-ins/Array/prototype/map/15.4.4.19-4-6.js b/test/built-ins/Array/prototype/map/15.4.4.19-4-6.js index 122f87774d..ac6eea9241 100644 --- a/test/built-ins/Array/prototype/map/15.4.4.19-4-6.js +++ b/test/built-ins/Array/prototype/map/15.4.4.19-4-6.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.19-4-6 description: Array.prototype.map throws TypeError if callbackfn is string -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.map("abc"); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.map("abc"); +}); diff --git a/test/built-ins/Array/prototype/map/15.4.4.19-4-7.js b/test/built-ins/Array/prototype/map/15.4.4.19-4-7.js index 14b11b7135..172a1905e0 100644 --- a/test/built-ins/Array/prototype/map/15.4.4.19-4-7.js +++ b/test/built-ins/Array/prototype/map/15.4.4.19-4-7.js @@ -6,19 +6,9 @@ es5id: 15.4.4.19-4-7 description: > Array.prototype.map throws TypeError if callbackfn is Object without Call internal method -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.map(new Object()); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.map(new Object()); +}); diff --git a/test/built-ins/Array/prototype/map/15.4.4.19-4-8.js b/test/built-ins/Array/prototype/map/15.4.4.19-4-8.js index ace649ef6b..de3eaa3534 100644 --- a/test/built-ins/Array/prototype/map/15.4.4.19-4-8.js +++ b/test/built-ins/Array/prototype/map/15.4.4.19-4-8.js @@ -6,11 +6,8 @@ es5id: 15.4.4.19-4-8 description: > Array.prototype.map - Side effects produced by step 2 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { 0: 11, 1: 12 }; var accessed = false; @@ -22,12 +19,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.map.call(obj, null); - return false; - } catch (ex) { - return ex instanceof TypeError && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/map/15.4.4.19-4-9.js b/test/built-ins/Array/prototype/map/15.4.4.19-4-9.js index 4c025972f5..89358e9134 100644 --- a/test/built-ins/Array/prototype/map/15.4.4.19-4-9.js +++ b/test/built-ins/Array/prototype/map/15.4.4.19-4-9.js @@ -6,11 +6,8 @@ es5id: 15.4.4.19-4-9 description: > Array.prototype.map - Side effects produced by step 3 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { 0: 11, 1: 12 }; var accessed = false; @@ -26,12 +23,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.map.call(obj, null); - return false; - } catch (ex) { - return ex instanceof TypeError && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/map/15.4.4.19-8-c-i-30.js b/test/built-ins/Array/prototype/map/15.4.4.19-8-c-i-30.js index 064f3db60b..195ddd7868 100644 --- a/test/built-ins/Array/prototype/map/15.4.4.19-8-c-i-30.js +++ b/test/built-ins/Array/prototype/map/15.4.4.19-8-c-i-30.js @@ -6,11 +6,8 @@ es5id: 15.4.4.19-8-c-i-30 description: > Array.prototype.map - unhandled exceptions happened in getter terminate iteration on an Array-like object -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { 0: 11, 5: 10, 10: 8, length: 20 }; var accessed = false; @@ -34,12 +31,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(RangeError, function() { Array.prototype.map.call(obj, callbackfn); - return false; - } catch (ex) { - return (ex instanceof RangeError) && !accessed; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/map/15.4.4.19-8-c-i-31.js b/test/built-ins/Array/prototype/map/15.4.4.19-8-c-i-31.js index 04798223e6..b96cb232ec 100644 --- a/test/built-ins/Array/prototype/map/15.4.4.19-8-c-i-31.js +++ b/test/built-ins/Array/prototype/map/15.4.4.19-8-c-i-31.js @@ -6,11 +6,8 @@ es5id: 15.4.4.19-8-c-i-31 description: > Array.prototype.map - unhandled exceptions happened in getter terminate iteration on an Array -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; function callbackfn(val, idx, obj) { @@ -37,12 +34,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(RangeError, function() { arr.map(callbackfn); - return false; - } catch (ex) { - return (ex instanceof RangeError) && !accessed; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/map/15.4.4.19-8-c-ii-7.js b/test/built-ins/Array/prototype/map/15.4.4.19-8-c-ii-7.js index 8045f4f6f2..a31f9e41d4 100644 --- a/test/built-ins/Array/prototype/map/15.4.4.19-8-c-ii-7.js +++ b/test/built-ins/Array/prototype/map/15.4.4.19-8-c-ii-7.js @@ -6,11 +6,8 @@ es5id: 15.4.4.19-8-c-ii-7 description: > Array.prototype.map - unhandled exceptions happened in callbackfn terminate iteration -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; function callbackfn(val, idx, obj) { @@ -23,12 +20,7 @@ function testcase() { } var obj = { 0: 11, 4: 10, 10: 8, length: 20 }; - - try { +assert.throws(Error, function() { Array.prototype.map.call(obj, callbackfn); - return false; - } catch (ex) { - return ex instanceof Error && !accessed; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-1-1.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-1-1.js index 40c2913349..04fd4e8970 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-1-1.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-1-1.js @@ -4,15 +4,9 @@ /*--- es5id: 15.4.4.21-1-1 description: Array.prototype.reduce applied to undefined -includes: [runTestCase.js] ---*/ -function testcase() { - try { - Array.prototype.reduce.call(undefined); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); + +assert.throws(TypeError, function() { + Array.prototype.reduce.call(undefined); +}); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-1-2.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-1-2.js index ace5be9614..96adb146d8 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-1-2.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-1-2.js @@ -4,15 +4,9 @@ /*--- es5id: 15.4.4.21-1-2 description: Array.prototype.reduce applied to null -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Array.prototype.reduce.call(null); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-3-22.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-3-22.js index bcfe336351..9b18e0cfd6 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-3-22.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-3-22.js @@ -7,11 +7,8 @@ description: > Array.prototype.reduce throws TypeError exception - 'length' is an object with toString and valueOf methods that don�t return primitive values -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; var valueOfAccessed = false; var toStringAccessed = false; @@ -36,12 +33,9 @@ function testcase() { } } }; - - try { +assert.throws(TypeError, function() { Array.prototype.reduce.call(obj, callbackfn, 1); - return false; - } catch (ex) { - return (ex instanceof TypeError) && !accessed && toStringAccessed && valueOfAccessed; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); +assert(toStringAccessed, 'toStringAccessed !== true'); +assert(valueOfAccessed, 'valueOfAccessed !== true'); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-4-1.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-4-1.js index b099fcc0d6..897c504d24 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-4-1.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-4-1.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.21-4-1 description: Array.prototype.reduce throws TypeError if callbackfn is undefined -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.reduce(); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.reduce(); +}); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-4-15.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-4-15.js index 5c7136a4b4..c62a892d14 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-4-15.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-4-15.js @@ -6,10 +6,8 @@ es5id: 15.4.4.21-4-15 description: > Array.prototype.reduce - calling with no callbackfn is the same as passing undefined for callbackfn -includes: [runTestCase.js] ---*/ -function testcase() { var obj = { 10: 10 }; var lengthAccessed = false; var loopAccessed = false; @@ -29,12 +27,8 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.reduce.call(obj); - return false; - } catch (ex) { - return (ex instanceof TypeError) && lengthAccessed && !loopAccessed; - } - } -runTestCase(testcase); +}); +assert(lengthAccessed, 'lengthAccessed !== true'); +assert.sameValue(loopAccessed, false, 'loopAccessed'); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-4-2.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-4-2.js index 6c08442d56..53acc464e5 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-4-2.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-4-2.js @@ -6,19 +6,9 @@ es5id: 15.4.4.21-4-2 description: > Array.prototype.reduce throws ReferenceError if callbackfn is unreferenced -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.reduce(foo); - } - catch(e) { - if(e instanceof ReferenceError) - return true; - } - - } -runTestCase(testcase); +assert.throws(ReferenceError, function() { + arr.reduce(foo); +}); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-4-3.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-4-3.js index f3c7794fb2..342be4a5f9 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-4-3.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-4-3.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.21-4-3 description: Array.prototype.reduce throws TypeError if callbackfn is null -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.reduce(null); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.reduce(null); +}); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-4-4.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-4-4.js index 749e752030..d5777b17d2 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-4-4.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-4-4.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.21-4-4 description: Array.prototype.reduce throws TypeError if callbackfn is boolean -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.reduce(true); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.reduce(true); +}); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-4-5.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-4-5.js index 76dd875b8c..cb4a091174 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-4-5.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-4-5.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.21-4-5 description: Array.prototype.reduce throws TypeError if callbackfn is number -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.reduce(5); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.reduce(5); +}); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-4-6.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-4-6.js index 957fe82de1..42faa62ecd 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-4-6.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-4-6.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.21-4-6 description: Array.prototype.reduce throws TypeError if callbackfn is string -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.reduce("abc"); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.reduce("abc"); +}); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-4-7.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-4-7.js index 0743e19b56..5d08f90adf 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-4-7.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-4-7.js @@ -6,19 +6,9 @@ es5id: 15.4.4.21-4-7 description: > Array.prototype.reduce throws TypeError if callbackfn is Object without [[Call]] internal method -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.reduce(new Object()); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.reduce(new Object()); +}); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-4-8.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-4-8.js index f545412dca..df7a1112c3 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-4-8.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-4-8.js @@ -6,11 +6,8 @@ es5id: 15.4.4.21-4-8 description: > Array.prototype.reduce - side effects produced by step 2 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { 0: 11, 1: 12 }; var accessed = false; @@ -22,12 +19,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.reduce.call(obj, null); - return false; - } catch (ex) { - return ex instanceof TypeError && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-4-9.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-4-9.js index bbed561102..ea580455ea 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-4-9.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-4-9.js @@ -6,11 +6,8 @@ es5id: 15.4.4.21-4-9 description: > Array.prototype.reduce - side effects produced by step 3 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { 0: 11, 1: 12 }; var accessed = false; @@ -26,12 +23,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.reduce.call(obj, null); - return false; - } catch (ex) { - return ex instanceof TypeError && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-5-1.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-5-1.js index 6b7844e29d..a225b4dedd 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-5-1.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-5-1.js @@ -6,19 +6,9 @@ es5id: 15.4.4.21-5-1 description: > Array.prototype.reduce throws TypeError if 'length' is 0 (empty array), no initVal -includes: [runTestCase.js] ---*/ -function testcase() { function cb(){} - - try { +assert.throws(TypeError, function() { [].reduce(cb); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-5-10.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-5-10.js index 7344df34c7..8f5cb86b87 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-5-10.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-5-10.js @@ -6,11 +6,8 @@ es5id: 15.4.4.21-5-10 description: > Array.prototype.reduce - if exception occurs, it occurs after any side-effects that might be produced by step 2 -includes: [runTestCase.js] ---*/ -function testcase() { - function callbackfn(prevVal, curVal, idx, obj) { return (curVal > 10); } @@ -26,12 +23,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.reduce.call(obj, callbackfn); - return false; - } catch (ex) { - return (ex instanceof TypeError) && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-5-11.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-5-11.js index 3291875d4b..e7d20c8f46 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-5-11.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-5-11.js @@ -6,11 +6,8 @@ es5id: 15.4.4.21-5-11 description: > Array.prototype.reduce - if the exception occurs, it occurs after any side-effects that might be produced by step 3 -includes: [runTestCase.js] ---*/ -function testcase() { - function callbackfn(prevVal, curVal, idx, obj) { return (curVal > 10); } @@ -30,12 +27,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.reduce.call(obj, callbackfn); - return false; - } catch (ex) { - return (ex instanceof TypeError) && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-5-2.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-5-2.js index e8b316cced..bd1728cbdb 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-5-2.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-5-2.js @@ -7,23 +7,14 @@ description: > Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden to null (type conversion)), no initVal -includes: [runTestCase.js] ---*/ -function testcase() { foo.prototype = new Array(1, 2, 3); function foo() {} var f = new foo(); f.length = null; function cb(){} - try { +assert.throws(TypeError, function() { f.reduce(cb); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-5-3.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-5-3.js index 1aedd2b36e..66ca0f4f06 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-5-3.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-5-3.js @@ -7,23 +7,14 @@ description: > Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden to false (type conversion)), no initVal -includes: [runTestCase.js] ---*/ -function testcase() { foo.prototype = new Array(1, 2, 3); function foo() {} var f = new foo(); f.length = false; function cb(){} - try { +assert.throws(TypeError, function() { f.reduce(cb); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-5-4.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-5-4.js index af9efc8875..345b5f8d02 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-5-4.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-5-4.js @@ -7,23 +7,14 @@ description: > Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion)), no initVal -includes: [runTestCase.js] ---*/ -function testcase() { foo.prototype = new Array(1, 2, 3); function foo() {} var f = new foo(); f.length = 0; function cb(){} - try { +assert.throws(TypeError, function() { f.reduce(cb); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-5-5.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-5-5.js index 0a62ef2310..18531bd0f9 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-5-5.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-5-5.js @@ -7,23 +7,14 @@ description: > Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion)), no initVal -includes: [runTestCase.js] ---*/ -function testcase() { foo.prototype = new Array(1, 2, 3); function foo() {} var f = new foo(); f.length = '0'; function cb(){} - try { +assert.throws(TypeError, function() { f.reduce(cb); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-5-6.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-5-6.js index 2aeb7827a8..b59332ca54 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-5-6.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-5-6.js @@ -7,10 +7,8 @@ description: > Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden with obj with valueOf), no initVal -includes: [runTestCase.js] ---*/ -function testcase() { foo.prototype = new Array(1, 2, 3); function foo() {} var f = new foo(); @@ -19,13 +17,6 @@ function testcase() { f.length = o; function cb(){} - try { +assert.throws(TypeError, function() { f.reduce(cb); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-5-7.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-5-7.js index 04abec3883..e2819a73ef 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-5-7.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-5-7.js @@ -7,10 +7,8 @@ description: > Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString)), no initVal -includes: [runTestCase.js] ---*/ -function testcase() { foo.prototype = new Array(1, 2, 3); function foo() {} var f = new foo(); @@ -25,13 +23,6 @@ function testcase() { // resulting string to a number. function cb(){} - try { +assert.throws(TypeError, function() { f.reduce(cb); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-5-8.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-5-8.js index 989d400131..ef30e6bb8d 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-5-8.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-5-8.js @@ -6,10 +6,8 @@ es5id: 15.4.4.21-5-8 description: > Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden with []), no initVal -includes: [runTestCase.js] ---*/ -function testcase() { foo.prototype = new Array(1, 2, 3); function foo() {} var f = new foo(); @@ -31,13 +29,6 @@ function testcase() { // or if its one element is not a number, the array converts to NaN. function cb(){} - try { +assert.throws(TypeError, function() { f.reduce(cb); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-8-b-iii-1-32.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-8-b-iii-1-32.js index fd139b89d5..3cc60dd966 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-8-b-iii-1-32.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-8-b-iii-1-32.js @@ -6,11 +6,8 @@ es5id: 15.4.4.21-8-b-iii-1-32 description: > Array.prototype.reduce - exception in getter terminates iteration on an Array-like object -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; var testResult = false; function callbackfn(prevVal, curVal, idx, obj) { @@ -27,12 +24,8 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(RangeError, function() { Array.prototype.reduce.call(obj, callbackfn); - return false; - } catch (ex) { - return (ex instanceof RangeError) && !accessed && !testResult; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); +assert.sameValue(testResult, false, 'testResult'); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-8-b-iii-1-33.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-8-b-iii-1-33.js index c56d04a138..7895d2c6c1 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-8-b-iii-1-33.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-8-b-iii-1-33.js @@ -6,11 +6,8 @@ es5id: 15.4.4.21-8-b-iii-1-33 description: > Array.prototype.reduce - exception in getter terminates iteration on an Array -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; var testResult = false; function callbackfn(prevVal, curVal, idx, obj) { @@ -28,12 +25,8 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(RangeError, function() { arr.reduce(callbackfn); - return false; - } catch (ex) { - return (ex instanceof RangeError) && !accessed && !testResult; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); +assert.sameValue(testResult, false, 'testResult'); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-8-c-1.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-8-c-1.js index ed1114228f..4584c5c90c 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-8-c-1.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-8-c-1.js @@ -6,22 +6,13 @@ es5id: 15.4.4.21-8-c-1 description: > Array.prototype.reduce throws TypeError when Array is empty and initialValue is not present -includes: [runTestCase.js] ---*/ -function testcase() { - function callbackfn(prevVal, curVal, idx, obj) { } var arr = new Array(10); - try { +assert.throws(TypeError, function() { arr.reduce(callbackfn); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-8-c-2.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-8-c-2.js index 5e71bc183e..7f7a226473 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-8-c-2.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-8-c-2.js @@ -7,11 +7,8 @@ description: > Array.prototype.reduce throws TypeError when elements assigned values are deleted by reducing array length and initialValue is not present -includes: [runTestCase.js] ---*/ -function testcase() { - function callbackfn(prevVal, curVal, idx, obj) { } @@ -19,12 +16,6 @@ function testcase() { var arr = new Array(10); arr[9] = 1; arr.length = 5; - try { +assert.throws(TypeError, function() { arr.reduce(callbackfn); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-8-c-3.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-8-c-3.js index e9cee5f628..200edf42e7 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-8-c-3.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-8-c-3.js @@ -6,11 +6,8 @@ es5id: 15.4.4.21-8-c-3 description: > Array.prototype.reduce throws TypeError when elements assigned values are deleted and initialValue is not present -includes: [runTestCase.js] ---*/ -function testcase() { - function callbackfn(prevVal, curVal, idx, obj) { } @@ -21,12 +18,6 @@ function testcase() { delete arr[2]; delete arr[3]; delete arr[4]; - try { +assert.throws(TypeError, function() { arr.reduce(callbackfn); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-8-c-5.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-8-c-5.js index 91c8258f8b..159c6eeb2f 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-8-c-5.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-8-c-5.js @@ -6,11 +6,8 @@ es5id: 15.4.4.21-8-c-5 description: > Array.prototype.reduce - if exception occurs, it occurs after any side-effects that might be produced by step 2 -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { }; var accessed = false; @@ -22,12 +19,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.reduce.call(obj, function () { }); - return false; - } catch (ex) { - return (ex instanceof TypeError) && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-8-c-6.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-8-c-6.js index 1d2a6bc3a0..428ef5a9dd 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-8-c-6.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-8-c-6.js @@ -6,11 +6,8 @@ es5id: 15.4.4.21-8-c-6 description: > Array.prototype.reduce - if exception occurs, it occurs after any side-effects that might be produced by step 3 -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = {}; var accessed = false; @@ -26,12 +23,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.reduce.call(obj, function () { }); - return false; - } catch (ex) { - return (ex instanceof TypeError) && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-9-c-i-32.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-9-c-i-32.js index 3fd275289a..64efa4e1a2 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-9-c-i-32.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-9-c-i-32.js @@ -6,11 +6,8 @@ es5id: 15.4.4.21-9-c-i-32 description: > Array.prototype.reduce - unnhandled exceptions happened in getter terminate iteration on an Array-like object -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; var testResult = false; var initialValue = 0; @@ -28,12 +25,8 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(RangeError, function() { Array.prototype.reduce.call(obj, callbackfn, initialValue); - return false; - } catch (ex) { - return (ex instanceof RangeError) && !accessed && !testResult; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); +assert.sameValue(testResult, false, 'testResult'); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-9-c-i-33.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-9-c-i-33.js index f6e29e85ec..8fe9d99a49 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-9-c-i-33.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-9-c-i-33.js @@ -6,11 +6,8 @@ es5id: 15.4.4.21-9-c-i-33 description: > Array.prototype.reduce - unnhandled exceptions happened in getter terminate iteration on an Array -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; var testResult = false; var initialValue = 0; @@ -29,12 +26,8 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(RangeError, function() { arr.reduce(callbackfn, initialValue); - return false; - } catch (ex) { - return (ex instanceof RangeError) && !accessed && !testResult; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); +assert.sameValue(testResult, false, 'testResult'); diff --git a/test/built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-7.js b/test/built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-7.js index 41b136b6f8..1fb2015bb9 100644 --- a/test/built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-7.js +++ b/test/built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-7.js @@ -6,11 +6,8 @@ es5id: 15.4.4.21-9-c-ii-7 description: > Array.prototype.reduce - unhandled exceptions happened in callbackfn terminate iteration -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; function callbackfn(prevVal, curVal, idx, obj) { @@ -23,12 +20,7 @@ function testcase() { } var obj = { 0: 11, 4: 10, 10: 8, length: 20 }; - - try { +assert.throws(Error, function() { Array.prototype.reduce.call(obj, callbackfn, 1); - return false; - } catch (ex) { - return (ex instanceof Error) && !accessed; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-1-1.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-1-1.js index da9fe53abf..d1758340ce 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-1-1.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-1-1.js @@ -4,15 +4,9 @@ /*--- es5id: 15.4.4.22-1-1 description: Array.prototype.reduceRight applied to undefined throws a TypeError -includes: [runTestCase.js] ---*/ -function testcase() { - try { - Array.prototype.reduceRight.call(undefined); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); + +assert.throws(TypeError, function() { + Array.prototype.reduceRight.call(undefined); +}); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-1-2.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-1-2.js index 7ab29703b2..dc4b68dc02 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-1-2.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-1-2.js @@ -4,15 +4,9 @@ /*--- es5id: 15.4.4.22-1-2 description: Array.prototype.reduceRight applied to null throws a TypeError -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Array.prototype.reduceRight.call(null); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-3-22.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-3-22.js index 90da420a01..099ba3179f 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-3-22.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-3-22.js @@ -7,11 +7,8 @@ description: > Array.prototype.reduceRight throws TypeError exception when 'length' is an object with toString and valueOf methods that don�t return primitive values -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; var toStringAccessed = false; var valueOfAccessed = false; @@ -35,12 +32,9 @@ function testcase() { } } }; - - try { +assert.throws(TypeError, function() { Array.prototype.reduceRight.call(obj, callbackfn, 1); - return false; - } catch (ex) { - return (ex instanceof TypeError) && toStringAccessed && valueOfAccessed && !accessed; - } - } -runTestCase(testcase); +}); +assert(toStringAccessed, 'toStringAccessed !== true'); +assert(valueOfAccessed, 'valueOfAccessed !== true'); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-1.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-1.js index 19549a18b2..24c12f6b25 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-1.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-1.js @@ -6,19 +6,9 @@ es5id: 15.4.4.22-4-1 description: > Array.prototype.reduceRight throws TypeError if callbackfn is undefined -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.reduceRight(); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.reduceRight(); +}); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-15.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-15.js index ca9408b656..8b1d2258e3 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-15.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-15.js @@ -6,10 +6,8 @@ es5id: 15.4.4.22-4-15 description: > Array.prototype.reduceRight - calling with no callbackfn is the same as passing undefined for callbackfn -includes: [runTestCase.js] ---*/ -function testcase() { var obj = { 10: 10 }; var lengthAccessed = false; var loopAccessed = false; @@ -28,12 +26,8 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.reduceRight.call(obj, undefined); - return false; - } catch (ex) { - return (ex instanceof TypeError) && lengthAccessed && !loopAccessed; - } - } -runTestCase(testcase); +}); +assert(lengthAccessed, 'lengthAccessed !== true'); +assert.sameValue(loopAccessed, false, 'loopAccessed'); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-2.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-2.js index 1df28dfc25..122b79f2fe 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-2.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-2.js @@ -6,19 +6,9 @@ es5id: 15.4.4.22-4-2 description: > Array.prototype.reduceRight throws ReferenceError if callbackfn is unreferenced -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.reduceRight(foo); - } - catch(e) { - if(e instanceof ReferenceError) - return true; - } - - } -runTestCase(testcase); +assert.throws(ReferenceError, function() { + arr.reduceRight(foo); +}); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-3.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-3.js index dbc1b245f1..fc052eeff2 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-3.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-3.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.22-4-3 description: Array.prototype.reduceRight throws TypeError if callbackfn is null -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.reduceRight(null); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.reduceRight(null); +}); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-4.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-4.js index bce7673863..400b1818bb 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-4.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-4.js @@ -6,19 +6,9 @@ es5id: 15.4.4.22-4-4 description: > Array.prototype.reduceRight throws TypeError if callbackfn is boolean -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.reduceRight(true); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.reduceRight(true); +}); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-5.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-5.js index 98b3424c6c..faef315450 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-5.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-5.js @@ -6,19 +6,9 @@ es5id: 15.4.4.22-4-5 description: > Array.prototype.reduceRight throws TypeError if callbackfn is number -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.reduceRight(5); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.reduceRight(5); +}); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-6.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-6.js index e84b73a338..47db3f93c1 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-6.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-6.js @@ -6,19 +6,9 @@ es5id: 15.4.4.22-4-6 description: > Array.prototype.reduceRight throws TypeError if callbackfn is string -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.reduceRight("abc"); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.reduceRight("abc"); +}); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-7.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-7.js index 9d50aec4f3..20e82d8e31 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-7.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-7.js @@ -6,19 +6,9 @@ es5id: 15.4.4.22-4-7 description: > Array.prototype.reduceRight throws TypeError if callbackfn is Object without [[Call]] internal method -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.reduceRight(new Object()); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.reduceRight(new Object()); +}); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-8.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-8.js index 91998eb295..f75b594b7e 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-8.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-8.js @@ -6,11 +6,8 @@ es5id: 15.4.4.22-4-8 description: > Array.prototype.reduceRight - side effects produced by step 2 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { 0: 11, 1: 12 }; var accessed = false; @@ -22,12 +19,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.reduceRight.call(obj, null); - return false; - } catch (ex) { - return ex instanceof TypeError && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-9.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-9.js index 61dd66012b..888955880c 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-9.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-4-9.js @@ -6,11 +6,8 @@ es5id: 15.4.4.22-4-9 description: > Array.prototype.reduceRight - side effects produced by step 3 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { 0: 11, 1: 12 }; var accessed = false; @@ -26,12 +23,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.reduceRight.call(obj, null); - return false; - } catch (ex) { - return ex instanceof TypeError && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-1.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-1.js index 0a780ca053..ca0e2cb24d 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-1.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-1.js @@ -6,19 +6,9 @@ es5id: 15.4.4.22-5-1 description: > Array.prototype.reduceRight throws TypeError if 'length' is 0 (empty array), no initVal -includes: [runTestCase.js] ---*/ -function testcase() { function cb(){} - - try { +assert.throws(TypeError, function() { [].reduceRight(cb); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-10.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-10.js index 16796f441c..a82ade379b 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-10.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-10.js @@ -6,11 +6,8 @@ es5id: 15.4.4.22-5-10 description: > Array.prototype.reduceRight - side-effects produced by step 2 when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { 0: 11, 1: 12 }; var accessed = false; @@ -22,12 +19,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.reduceRight.call(obj, function () { }); - return false; - } catch (ex) { - return (ex instanceof TypeError) && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-11.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-11.js index 6f02fd445c..14c8e99a0f 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-11.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-11.js @@ -6,11 +6,8 @@ es5id: 15.4.4.22-5-11 description: > Array.prototype.reduceRight - side-effects produced by step 3 when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { 0: 11, 1: 12 }; var accessed = false; @@ -26,12 +23,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.reduceRight.call(obj, function () { }); - return false; - } catch (ex) { - return (ex instanceof TypeError) && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-2.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-2.js index ba4e1a403f..b930b7a4c0 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-2.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-2.js @@ -7,23 +7,14 @@ description: > Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden to null (type conversion)), no initVal -includes: [runTestCase.js] ---*/ -function testcase() { foo.prototype = new Array(1, 2, 3); function foo() {} var f = new foo(); f.length = null; function cb(){} - try { +assert.throws(TypeError, function() { f.reduceRight(cb); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-3.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-3.js index b80ff5dc72..c04b1ae4f4 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-3.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-3.js @@ -7,23 +7,14 @@ description: > Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden to false (type conversion)), no initVal -includes: [runTestCase.js] ---*/ -function testcase() { foo.prototype = new Array(1, 2, 3); function foo() {} var f = new foo(); f.length = false; function cb(){} - try { +assert.throws(TypeError, function() { f.reduceRight(cb); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-4.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-4.js index 444232ec5d..1f9553b7a6 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-4.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-4.js @@ -7,23 +7,14 @@ description: > Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion)), no initVal -includes: [runTestCase.js] ---*/ -function testcase() { foo.prototype = new Array(1, 2, 3); function foo() {} var f = new foo(); f.length = 0; function cb(){} - try { +assert.throws(TypeError, function() { f.reduceRight(cb); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-5.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-5.js index 72f23a1d18..d0e54cdb75 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-5.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-5.js @@ -7,23 +7,14 @@ description: > Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion)), no initVal -includes: [runTestCase.js] ---*/ -function testcase() { foo.prototype = new Array(1, 2, 3); function foo() {} var f = new foo(); f.length = '0'; function cb(){} - try { +assert.throws(TypeError, function() { f.reduceRight(cb); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-6.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-6.js index 632c94811e..d4a6221a26 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-6.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-6.js @@ -7,10 +7,8 @@ description: > Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden with obj with valueOf), no initVal -includes: [runTestCase.js] ---*/ -function testcase() { foo.prototype = new Array(1, 2, 3); function foo() {} var f = new foo(); @@ -19,13 +17,6 @@ function testcase() { f.length = o; function cb(){} - try { +assert.throws(TypeError, function() { f.reduceRight(cb); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-7.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-7.js index 3a38613857..e9a8a2a243 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-7.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-7.js @@ -7,10 +7,8 @@ description: > Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString)), no initVal -includes: [runTestCase.js] ---*/ -function testcase() { foo.prototype = new Array(1, 2, 3); function foo() {} var f = new foo(); @@ -25,13 +23,6 @@ function testcase() { // resulting string to a number. function cb(){} - try { +assert.throws(TypeError, function() { f.reduceRight(cb); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-8.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-8.js index 63788afc0f..425a7c6a61 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-8.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-5-8.js @@ -6,10 +6,8 @@ es5id: 15.4.4.22-5-8 description: > Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden with []), no initVal -includes: [runTestCase.js] ---*/ -function testcase() { foo.prototype = new Array(1, 2, 3); function foo() {} var f = new foo(); @@ -31,13 +29,6 @@ function testcase() { // or if its one element is not a number, the array converts to NaN. function cb(){} - try { +assert.throws(TypeError, function() { f.reduceRight(cb); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-b-iii-1-32.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-b-iii-1-32.js index 950fba740f..3c359614c0 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-b-iii-1-32.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-b-iii-1-32.js @@ -6,11 +6,8 @@ es5id: 15.4.4.22-8-b-iii-1-32 description: > Array.prototype.reduceRight - Exception in getter terminate iteration on an Array-like object -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; function callbackfn(prevVal, curVal, idx, obj) { if (idx <= 1) { @@ -25,12 +22,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(RangeError, function() { Array.prototype.reduceRight.call(obj, callbackfn); - return false; - } catch (ex) { - return (ex instanceof RangeError) && !accessed; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-b-iii-1-33.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-b-iii-1-33.js index 43ed6583d3..1ed58b73fc 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-b-iii-1-33.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-b-iii-1-33.js @@ -6,11 +6,8 @@ es5id: 15.4.4.22-8-b-iii-1-33 description: > Array.prototype.reduceRight - Exception in getter terminate iteration on an Array -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; function callbackfn(prevVal, curVal, idx, obj) { if (idx <= 1) { @@ -26,12 +23,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(RangeError, function() { arr.reduceRight(callbackfn); - return false; - } catch (ex) { - return (ex instanceof RangeError) && !accessed; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-1.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-1.js index 59f95a6c40..c13b610d77 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-1.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-1.js @@ -6,22 +6,13 @@ es5id: 15.4.4.22-8-c-1 description: > Array.prototype.reduceRight throws TypeError when Array is empty and initialValue is not present -includes: [runTestCase.js] ---*/ -function testcase() { - function callbackfn(prevVal, curVal, idx, obj) { } var arr = new Array(10); - try { +assert.throws(TypeError, function() { arr.reduceRight(callbackfn); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-2.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-2.js index eb6917ccde..8863b6b38d 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-2.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-2.js @@ -7,11 +7,8 @@ description: > Array.prototype.reduceRight throws TypeError when elements assigned values are deleted by reducign array length and initialValue is not present -includes: [runTestCase.js] ---*/ -function testcase() { - function callbackfn(prevVal, curVal, idx, obj) { } @@ -19,12 +16,6 @@ function testcase() { var arr = new Array(10); arr[9] = 1; arr.length = 5; - try { +assert.throws(TypeError, function() { arr.reduceRight(callbackfn); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-3.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-3.js index efe0973272..96d73e6002 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-3.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-3.js @@ -6,11 +6,8 @@ es5id: 15.4.4.22-8-c-3 description: > Array.prototype.reduceRight throws TypeError when elements assigned values are deleted and initialValue is not present -includes: [runTestCase.js] ---*/ -function testcase() { - function callbackfn(prevVal, curVal, idx, obj) { } @@ -21,12 +18,6 @@ function testcase() { delete arr[2]; delete arr[3]; delete arr[4]; - try { +assert.throws(TypeError, function() { arr.reduceRight(callbackfn); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-5.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-5.js index 43f3b465f7..e59c25c52f 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-5.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-5.js @@ -6,11 +6,8 @@ es5id: 15.4.4.22-8-c-5 description: > Array.prototype.reduceRight - side effects produced by step 2 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { }; var accessed = false; @@ -22,12 +19,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.reduceRight.call(obj, function () { }); - return false; - } catch (ex) { - return (ex instanceof TypeError) && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-6.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-6.js index 459118f3c5..7dce7319b7 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-6.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-6.js @@ -6,11 +6,8 @@ es5id: 15.4.4.22-8-c-6 description: > Array.prototype.reduceRight - side effects produced by step 3 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = {}; var accessed = false; @@ -26,12 +23,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.reduceRight.call(obj, function () { }); - return false; - } catch (ex) { - return (ex instanceof TypeError) && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-i-32.js b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-i-32.js index dc51473376..415294f820 100644 --- a/test/built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-i-32.js +++ b/test/built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-i-32.js @@ -6,11 +6,8 @@ es5id: 15.4.4.22-9-c-i-32 description: > Array.prototype.reduceRight - unnhandled exceptions happened in getter terminate iteration on an Array-like object -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; function callbackfn(prevVal, curVal, idx, obj) { if (idx <= 1) { @@ -26,12 +23,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(RangeError, function() { Array.prototype.reduceRight.call(obj, callbackfn, "initialValue"); - return false; - } catch (ex) { - return (ex instanceof RangeError) && !accessed; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/some/15.4.4.17-1-1.js b/test/built-ins/Array/prototype/some/15.4.4.17-1-1.js index 3edbd680b4..f6ef912cf1 100644 --- a/test/built-ins/Array/prototype/some/15.4.4.17-1-1.js +++ b/test/built-ins/Array/prototype/some/15.4.4.17-1-1.js @@ -4,15 +4,9 @@ /*--- es5id: 15.4.4.17-1-1 description: Array.prototype.some applied to undefined throws a TypeError -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Array.prototype.some.call(undefined); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/some/15.4.4.17-1-2.js b/test/built-ins/Array/prototype/some/15.4.4.17-1-2.js index e7af4d96cc..1908d74876 100644 --- a/test/built-ins/Array/prototype/some/15.4.4.17-1-2.js +++ b/test/built-ins/Array/prototype/some/15.4.4.17-1-2.js @@ -4,15 +4,9 @@ /*--- es5id: 15.4.4.17-1-2 description: Array.prototype.some applied to null throws a TypeError -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Array.prototype.some.call(null); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Array/prototype/some/15.4.4.17-3-22.js b/test/built-ins/Array/prototype/some/15.4.4.17-3-22.js index fa51c0e25b..8795d9a056 100644 --- a/test/built-ins/Array/prototype/some/15.4.4.17-3-22.js +++ b/test/built-ins/Array/prototype/some/15.4.4.17-3-22.js @@ -7,11 +7,8 @@ description: > Array.prototype.some throws TypeError exception when 'length' is an object with toString and valueOf methods that don�t return primitive values -includes: [runTestCase.js] ---*/ -function testcase() { - var callbackfnAccessed = false; var toStringAccessed = false; var valueOfAccessed = false; @@ -36,12 +33,9 @@ function testcase() { } } }; - - try { +assert.throws(TypeError, function() { Array.prototype.some.call(obj, callbackfn); - return false; - } catch (ex) { - return (ex instanceof TypeError) && toStringAccessed && valueOfAccessed && !callbackfnAccessed; - } - } -runTestCase(testcase); +}); +assert(toStringAccessed, 'toStringAccessed !== true'); +assert(valueOfAccessed, 'valueOfAccessed !== true'); +assert.sameValue(callbackfnAccessed, false, 'callbackfnAccessed'); diff --git a/test/built-ins/Array/prototype/some/15.4.4.17-4-1.js b/test/built-ins/Array/prototype/some/15.4.4.17-4-1.js index 234cd7593e..f6f66c9109 100644 --- a/test/built-ins/Array/prototype/some/15.4.4.17-4-1.js +++ b/test/built-ins/Array/prototype/some/15.4.4.17-4-1.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.17-4-1 description: Array.prototype.some throws TypeError if callbackfn is undefined -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.some(); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.some(); +}); diff --git a/test/built-ins/Array/prototype/some/15.4.4.17-4-15.js b/test/built-ins/Array/prototype/some/15.4.4.17-4-15.js index a2e39d124a..546f4c0c70 100644 --- a/test/built-ins/Array/prototype/some/15.4.4.17-4-15.js +++ b/test/built-ins/Array/prototype/some/15.4.4.17-4-15.js @@ -6,10 +6,8 @@ es5id: 15.4.4.17-4-15 description: > Array.prototype.some - calling with no callbackfn is the same as passing undefined for callbackfn -includes: [runTestCase.js] ---*/ -function testcase() { var obj = { }; var lengthAccessed = false; var loopAccessed = false; @@ -28,12 +26,8 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.some.call(obj); - return false; - } catch (ex) { - return (ex instanceof TypeError) && lengthAccessed && !loopAccessed; - } - } -runTestCase(testcase); +}); +assert(lengthAccessed, 'lengthAccessed !== true'); +assert.sameValue(loopAccessed, false, 'loopAccessed'); diff --git a/test/built-ins/Array/prototype/some/15.4.4.17-4-2.js b/test/built-ins/Array/prototype/some/15.4.4.17-4-2.js index f0344bb26e..503aea9b4b 100644 --- a/test/built-ins/Array/prototype/some/15.4.4.17-4-2.js +++ b/test/built-ins/Array/prototype/some/15.4.4.17-4-2.js @@ -6,19 +6,9 @@ es5id: 15.4.4.17-4-2 description: > Array.prototype.some throws ReferenceError if callbackfn is unreferenced -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.some(foo); - } - catch(e) { - if(e instanceof ReferenceError) - return true; - } - - } -runTestCase(testcase); +assert.throws(ReferenceError, function() { + arr.some(foo); +}); diff --git a/test/built-ins/Array/prototype/some/15.4.4.17-4-3.js b/test/built-ins/Array/prototype/some/15.4.4.17-4-3.js index 0cd339f8a4..89efdb1acd 100644 --- a/test/built-ins/Array/prototype/some/15.4.4.17-4-3.js +++ b/test/built-ins/Array/prototype/some/15.4.4.17-4-3.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.17-4-3 description: Array.prototype.some throws TypeError if callbackfn is null -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.some(null); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.some(null); +}); diff --git a/test/built-ins/Array/prototype/some/15.4.4.17-4-4.js b/test/built-ins/Array/prototype/some/15.4.4.17-4-4.js index e66e09dd6b..d6a7dcaceb 100644 --- a/test/built-ins/Array/prototype/some/15.4.4.17-4-4.js +++ b/test/built-ins/Array/prototype/some/15.4.4.17-4-4.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.17-4-4 description: Array.prototype.some throws TypeError if callbackfn is boolean -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.some(true); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.some(true); +}); diff --git a/test/built-ins/Array/prototype/some/15.4.4.17-4-5.js b/test/built-ins/Array/prototype/some/15.4.4.17-4-5.js index baa73b9a7e..5bfa34ff07 100644 --- a/test/built-ins/Array/prototype/some/15.4.4.17-4-5.js +++ b/test/built-ins/Array/prototype/some/15.4.4.17-4-5.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.17-4-5 description: Array.prototype.some throws TypeError if callbackfn is number -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.some(5); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.some(5); +}); diff --git a/test/built-ins/Array/prototype/some/15.4.4.17-4-6.js b/test/built-ins/Array/prototype/some/15.4.4.17-4-6.js index 6635c18cc1..12ac7b3d81 100644 --- a/test/built-ins/Array/prototype/some/15.4.4.17-4-6.js +++ b/test/built-ins/Array/prototype/some/15.4.4.17-4-6.js @@ -4,19 +4,9 @@ /*--- es5id: 15.4.4.17-4-6 description: Array.prototype.some throws TypeError if callbackfn is string -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.some("abc"); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.some("abc"); +}); diff --git a/test/built-ins/Array/prototype/some/15.4.4.17-4-7.js b/test/built-ins/Array/prototype/some/15.4.4.17-4-7.js index 0e49f17e97..f0ab45b37a 100644 --- a/test/built-ins/Array/prototype/some/15.4.4.17-4-7.js +++ b/test/built-ins/Array/prototype/some/15.4.4.17-4-7.js @@ -6,19 +6,9 @@ es5id: 15.4.4.17-4-7 description: > Array.prototype.some throws TypeError if callbackfn is Object without a Call internal method -includes: [runTestCase.js] ---*/ -function testcase() { - var arr = new Array(10); - try { - arr.some(new Object()); - } - catch(e) { - if(e instanceof TypeError) - return true; - } - - } -runTestCase(testcase); +assert.throws(TypeError, function() { + arr.some(new Object()); +}); diff --git a/test/built-ins/Array/prototype/some/15.4.4.17-4-8.js b/test/built-ins/Array/prototype/some/15.4.4.17-4-8.js index 53cc873524..ea13a559b1 100644 --- a/test/built-ins/Array/prototype/some/15.4.4.17-4-8.js +++ b/test/built-ins/Array/prototype/some/15.4.4.17-4-8.js @@ -6,11 +6,8 @@ es5id: 15.4.4.17-4-8 description: > Array.prototype.some - side effects produced by step 2 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { 0: 11, 1: 12 }; var accessed = false; @@ -22,12 +19,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.some.call(obj, null); - return false; - } catch (ex) { - return ex instanceof TypeError && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/some/15.4.4.17-4-9.js b/test/built-ins/Array/prototype/some/15.4.4.17-4-9.js index beac8d856c..8e30688b97 100644 --- a/test/built-ins/Array/prototype/some/15.4.4.17-4-9.js +++ b/test/built-ins/Array/prototype/some/15.4.4.17-4-9.js @@ -6,11 +6,8 @@ es5id: 15.4.4.17-4-9 description: > Array.prototype.some - side effects produced by step 3 are visible when an exception occurs -includes: [runTestCase.js] ---*/ -function testcase() { - var obj = { 0: 11, 1: 12 }; var accessed = false; @@ -26,12 +23,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(TypeError, function() { Array.prototype.some.call(obj, null); - return false; - } catch (ex) { - return ex instanceof TypeError && accessed; - } - } -runTestCase(testcase); +}); +assert(accessed, 'accessed !== true'); diff --git a/test/built-ins/Array/prototype/some/15.4.4.17-7-c-i-30.js b/test/built-ins/Array/prototype/some/15.4.4.17-7-c-i-30.js index 56f598f9dc..6b83b9533d 100644 --- a/test/built-ins/Array/prototype/some/15.4.4.17-7-c-i-30.js +++ b/test/built-ins/Array/prototype/some/15.4.4.17-7-c-i-30.js @@ -6,11 +6,8 @@ es5id: 15.4.4.17-7-c-i-30 description: > Array.prototype.some - unhandled exceptions happened in getter terminate iteration on an Array-like object -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; function callbackfn(val, idx, obj) { if (idx > 1) { @@ -26,12 +23,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(RangeError, function() { Array.prototype.some.call(obj, callbackfn); - return false; - } catch (ex) { - return ex instanceof RangeError && !accessed; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/some/15.4.4.17-7-c-i-31.js b/test/built-ins/Array/prototype/some/15.4.4.17-7-c-i-31.js index 770bab3432..8b753da1bc 100644 --- a/test/built-ins/Array/prototype/some/15.4.4.17-7-c-i-31.js +++ b/test/built-ins/Array/prototype/some/15.4.4.17-7-c-i-31.js @@ -6,11 +6,8 @@ es5id: 15.4.4.17-7-c-i-31 description: > Array.prototype.some - unhandled exceptions happened in getter terminate iteration on an Array -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; function callbackfn(val, idx, obj) { if (idx > 0) { @@ -27,12 +24,7 @@ function testcase() { }, configurable: true }); - - try { +assert.throws(RangeError, function() { arr.some(callbackfn); - return false; - } catch (ex) { - return ex instanceof RangeError && !accessed; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); diff --git a/test/built-ins/Array/prototype/some/15.4.4.17-7-c-ii-7.js b/test/built-ins/Array/prototype/some/15.4.4.17-7-c-ii-7.js index f81a458863..cd488bd7e8 100644 --- a/test/built-ins/Array/prototype/some/15.4.4.17-7-c-ii-7.js +++ b/test/built-ins/Array/prototype/some/15.4.4.17-7-c-ii-7.js @@ -6,11 +6,8 @@ es5id: 15.4.4.17-7-c-ii-7 description: > Array.prototype.some - unhandled exceptions happened in callbackfn terminate iteration -includes: [runTestCase.js] ---*/ -function testcase() { - var accessed = false; function callbackfn(val, idx, obj) { @@ -24,12 +21,7 @@ function testcase() { } var obj = { 0: 9, 1: 100, 10: 11, length: 20 }; - - try { +assert.throws(Error, function() { Array.prototype.some.call(obj, callbackfn); - return false; - } catch (ex) { - return ex instanceof Error && !accessed; - } - } -runTestCase(testcase); +}); +assert.sameValue(accessed, false, 'accessed'); From 589b638ab5d837c859728fd0b877bc1433f1818f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Bargull?= Date: Tue, 11 Aug 2015 17:44:37 +0200 Subject: [PATCH 6/6] Replace runTestCase with assert.throws [test/built-ins] --- .../Date/prototype/setFullYear/15.9.5.40_1.js | 14 +++----------- .../prototype/toISOString/15.9.5.43-0-14.js | 11 ++--------- .../prototype/toISOString/15.9.5.43-0-15.js | 11 ++--------- .../prototype/toISOString/15.9.5.43-0-16.js | 12 ++---------- .../Date/prototype/toISOString/15.9.5.43-0-6.js | 11 ++--------- .../Date/prototype/toISOString/15.9.5.43-0-7.js | 11 ++--------- .../Date/prototype/toISOString/15.9.5.43-0-8.js | 12 ++---------- test/built-ins/Function/15.3.2.1-11-1-s.js | 14 +++----------- test/built-ins/Function/15.3.2.1-11-3-s.js | 13 ++----------- test/built-ins/Function/15.3.2.1-11-5-s.js | 15 +++------------ .../Function/prototype/bind/15.3.4.5-2-1.js | 14 ++------------ .../Function/prototype/bind/15.3.4.5-2-10.js | 12 +++--------- .../Function/prototype/bind/15.3.4.5-2-11.js | 12 +++--------- .../Function/prototype/bind/15.3.4.5-2-12.js | 12 +++--------- .../Function/prototype/bind/15.3.4.5-2-13.js | 12 +++--------- .../Function/prototype/bind/15.3.4.5-2-14.js | 12 +++--------- .../Function/prototype/bind/15.3.4.5-2-15.js | 12 +++--------- .../Function/prototype/bind/15.3.4.5-2-2.js | 14 ++------------ .../Function/prototype/bind/15.3.4.5-2-7.js | 14 +++----------- .../Function/prototype/bind/15.3.4.5-20-3.js | 12 ++---------- .../Function/prototype/bind/15.3.4.5-21-3.js | 12 ++---------- test/built-ins/JSON/15.12-0-2.js | 14 ++------------ test/built-ins/JSON/15.12-0-3.js | 14 ++------------ .../RegExp/prototype/global/15.10.7.2-1.js | 14 +++----------- .../RegExp/prototype/ignoreCase/15.10.7.3-1.js | 14 +++----------- .../RegExp/prototype/multiline/15.10.7.4-1.js | 14 +++----------- .../RegExp/prototype/source/15.10.7.1-1.js | 14 +++----------- .../String/prototype/trim/15.5.4.20-1-1.js | 17 ++++------------- .../String/prototype/trim/15.5.4.20-1-2.js | 17 ++++------------- .../String/prototype/trim/15.5.4.20-2-42.js | 13 ++++--------- test/built-ins/global/10.2.1.1.3-4-16-s.js | 12 +++--------- test/built-ins/global/10.2.1.1.3-4-18-s.js | 12 +++--------- 32 files changed, 86 insertions(+), 331 deletions(-) diff --git a/test/built-ins/Date/prototype/setFullYear/15.9.5.40_1.js b/test/built-ins/Date/prototype/setFullYear/15.9.5.40_1.js index e597165581..12f5f6ca03 100644 --- a/test/built-ins/Date/prototype/setFullYear/15.9.5.40_1.js +++ b/test/built-ins/Date/prototype/setFullYear/15.9.5.40_1.js @@ -6,17 +6,9 @@ es5id: 15.9.5.40_1 description: > Date.prototype.setFullYear - Date.prototype is itself not an instance of Date -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Date.prototype.setFullYear(2012); - } catch (e) { - if (e instanceof TypeError) { - return true; - } - } - return false; -} -runTestCase(testcase); +}); diff --git a/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-14.js b/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-14.js index 994077732b..15456f9e89 100644 --- a/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-14.js +++ b/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-14.js @@ -6,16 +6,9 @@ es5id: 15.9.5.43-0-14 description: > Date.prototype.toISOString - when value of year is -Infinity Date.prototype.toISOString throw the RangeError -includes: [runTestCase.js] ---*/ -function testcase() { var date = new Date(-Infinity, 1, 70, 0, 0, 0); - - try { +assert.throws(RangeError, function() { date.toISOString(); - } catch (ex) { - return ex instanceof RangeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-15.js b/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-15.js index 6ee03b8968..05354da62e 100644 --- a/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-15.js +++ b/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-15.js @@ -6,16 +6,9 @@ es5id: 15.9.5.43-0-15 description: > Date.prototype.toISOString - value of year is Infinity Date.prototype.toISOString throw the RangeError -includes: [runTestCase.js] ---*/ -function testcase() { var date = new Date(Infinity, 1, 70, 0, 0, 0); - - try { +assert.throws(RangeError, function() { date.toISOString(); - } catch (ex) { - return ex instanceof RangeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-16.js b/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-16.js index d2617ef330..702a62b345 100644 --- a/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-16.js +++ b/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-16.js @@ -7,17 +7,9 @@ description: > Date.prototype.toISOString - when this is a String object that value format is 'YYYY-MM-DDTHH:mm:ss.sssZ' Date.prototype.toISOString throw the TypeError -includes: [runTestCase.js] ---*/ -function testcase() { var date = new String("1970-01-00000:00:00.000Z"); - - try { +assert.throws(TypeError, function() { Date.prototype.toISOString.call(date); - return false; - } catch (ex) { - return ex instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-6.js b/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-6.js index a7bb22a7d1..1e9ff353ec 100644 --- a/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-6.js +++ b/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-6.js @@ -6,16 +6,9 @@ es5id: 15.9.5.43-0-6 description: > Date.prototype.toISOString - TypeError is thrown when this is any other objects instead of Date object -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Date.prototype.toISOString.call([]); - return false; - } catch (ex) { - return ex instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-7.js b/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-7.js index ba755534fc..e823181cdf 100644 --- a/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-7.js +++ b/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-7.js @@ -6,16 +6,9 @@ es5id: 15.9.5.43-0-7 description: > Date.prototype.toISOString - TypeError is thrown when this is any primitive values -includes: [runTestCase.js] ---*/ -function testcase() { - try { +assert.throws(TypeError, function() { Date.prototype.toISOString.call(15); - return false; - } catch (ex) { - return ex instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-8.js b/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-8.js index 454d97a480..f4bd717fc9 100644 --- a/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-8.js +++ b/test/built-ins/Date/prototype/toISOString/15.9.5.43-0-8.js @@ -7,13 +7,11 @@ description: > Date.prototype.toISOString - RangeError is thrown when value of date is Date(1970, 0, -99999999, 0, 0, 0, -1), the time zone is UTC(0) -includes: [runTestCase.js] ---*/ -function testcase() { var timeZoneMinutes = new Date().getTimezoneOffset() * (-1); var date, dateStr; - try { +assert.throws(RangeError, function() { if (timeZoneMinutes > 0) { date = new Date(1970, 0, -99999999, 0, 0, 0, -1); } else { @@ -21,10 +19,4 @@ function testcase() { } dateStr = date.toISOString(); - - return false; - } catch (e) { - return e instanceof RangeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Function/15.3.2.1-11-1-s.js b/test/built-ins/Function/15.3.2.1-11-1-s.js index 5c9bdd7872..e03cedaf5d 100644 --- a/test/built-ins/Function/15.3.2.1-11-1-s.js +++ b/test/built-ins/Function/15.3.2.1-11-1-s.js @@ -7,17 +7,9 @@ description: > Duplicate seperate parameter name in Function constructor throws SyntaxError in strict mode flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(SyntaxError, function() { Function('a','a','"use strict";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Function/15.3.2.1-11-3-s.js b/test/built-ins/Function/15.3.2.1-11-3-s.js index 371f41b64e..29adf517de 100644 --- a/test/built-ins/Function/15.3.2.1-11-3-s.js +++ b/test/built-ins/Function/15.3.2.1-11-3-s.js @@ -7,18 +7,9 @@ description: > Function constructor having a formal parameter named 'eval' throws SyntaxError if function body is strict mode flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - - try { +assert.throws(SyntaxError, function() { Function('eval', '"use strict";'); - return false; - } - catch (e) { - return (e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Function/15.3.2.1-11-5-s.js b/test/built-ins/Function/15.3.2.1-11-5-s.js index 7565db70b4..00db234620 100644 --- a/test/built-ins/Function/15.3.2.1-11-5-s.js +++ b/test/built-ins/Function/15.3.2.1-11-5-s.js @@ -7,18 +7,9 @@ description: > Duplicate combined parameter name in Function constructor throws SyntaxError in strict mode flags: [noStrict] -includes: [runTestCase.js] ---*/ -function testcase() -{ - try - { + +assert.throws(SyntaxError, function() { Function('a,a','"use strict";'); - return false; - } - catch (e) { - return(e instanceof SyntaxError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Function/prototype/bind/15.3.4.5-2-1.js b/test/built-ins/Function/prototype/bind/15.3.4.5-2-1.js index 94a9fcf631..3ac890d044 100644 --- a/test/built-ins/Function/prototype/bind/15.3.4.5-2-1.js +++ b/test/built-ins/Function/prototype/bind/15.3.4.5-2-1.js @@ -9,22 +9,12 @@ es5id: 15.3.4.5-2-1 description: > Function.prototype.bind throws TypeError if the Target is not callable (but an instance of Function) -includes: [runTestCase.js] ---*/ -function testcase() { foo.prototype = Function.prototype; // dummy function function foo() {} var f = new foo(); - - try { +assert.throws(TypeError, function() { f.bind(); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Function/prototype/bind/15.3.4.5-2-10.js b/test/built-ins/Function/prototype/bind/15.3.4.5-2-10.js index 644b87b3fe..b7cc355aa4 100644 --- a/test/built-ins/Function/prototype/bind/15.3.4.5-2-10.js +++ b/test/built-ins/Function/prototype/bind/15.3.4.5-2-10.js @@ -4,15 +4,9 @@ /*--- es5id: 15.3.4.5-2-10 description: Function.prototype.bind throws TypeError if 'Target' is undefined -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Function.prototype.bind.call(undefined); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Function/prototype/bind/15.3.4.5-2-11.js b/test/built-ins/Function/prototype/bind/15.3.4.5-2-11.js index 1e3c66fc1d..a6b2d25365 100644 --- a/test/built-ins/Function/prototype/bind/15.3.4.5-2-11.js +++ b/test/built-ins/Function/prototype/bind/15.3.4.5-2-11.js @@ -4,15 +4,9 @@ /*--- es5id: 15.3.4.5-2-11 description: Function.prototype.bind throws TypeError if 'Target' is NULL -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Function.prototype.bind.call(null); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Function/prototype/bind/15.3.4.5-2-12.js b/test/built-ins/Function/prototype/bind/15.3.4.5-2-12.js index 7705c30cbf..ac81d90cbb 100644 --- a/test/built-ins/Function/prototype/bind/15.3.4.5-2-12.js +++ b/test/built-ins/Function/prototype/bind/15.3.4.5-2-12.js @@ -4,15 +4,9 @@ /*--- es5id: 15.3.4.5-2-12 description: Function.prototype.bind throws TypeError if 'Target' is a boolean -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Function.prototype.bind.call(true); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Function/prototype/bind/15.3.4.5-2-13.js b/test/built-ins/Function/prototype/bind/15.3.4.5-2-13.js index 08f26ba47a..0745139ad9 100644 --- a/test/built-ins/Function/prototype/bind/15.3.4.5-2-13.js +++ b/test/built-ins/Function/prototype/bind/15.3.4.5-2-13.js @@ -4,15 +4,9 @@ /*--- es5id: 15.3.4.5-2-13 description: Function.prototype.bind throws TypeError if 'Target' is a number -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Function.prototype.bind.call(5); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Function/prototype/bind/15.3.4.5-2-14.js b/test/built-ins/Function/prototype/bind/15.3.4.5-2-14.js index c32540e81d..64b0899f79 100644 --- a/test/built-ins/Function/prototype/bind/15.3.4.5-2-14.js +++ b/test/built-ins/Function/prototype/bind/15.3.4.5-2-14.js @@ -4,15 +4,9 @@ /*--- es5id: 15.3.4.5-2-14 description: Function.prototype.bind throws TypeError if 'Target' is a string -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Function.prototype.bind.call("abc"); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Function/prototype/bind/15.3.4.5-2-15.js b/test/built-ins/Function/prototype/bind/15.3.4.5-2-15.js index 1d7ce26198..887441b2cf 100644 --- a/test/built-ins/Function/prototype/bind/15.3.4.5-2-15.js +++ b/test/built-ins/Function/prototype/bind/15.3.4.5-2-15.js @@ -6,15 +6,9 @@ es5id: 15.3.4.5-2-15 description: > Function.prototype.bind throws TypeError if 'Target' is Object without Call internal method -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { Function.prototype.bind.call({}); - return false; - } catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Function/prototype/bind/15.3.4.5-2-2.js b/test/built-ins/Function/prototype/bind/15.3.4.5-2-2.js index c4b8608d9d..c88738b1d7 100644 --- a/test/built-ins/Function/prototype/bind/15.3.4.5-2-2.js +++ b/test/built-ins/Function/prototype/bind/15.3.4.5-2-2.js @@ -9,22 +9,12 @@ es5id: 15.3.4.5-2-2 description: > Function.prototype.bind throws TypeError if the Target is not callable (bind attached to object) -includes: [runTestCase.js] ---*/ -function testcase() { // dummy function function foo() {} var f = new foo(); f.bind = Function.prototype.bind; - - try { +assert.throws(TypeError, function() { f.bind(); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Function/prototype/bind/15.3.4.5-2-7.js b/test/built-ins/Function/prototype/bind/15.3.4.5-2-7.js index 3cb325d596..2e6d92fddd 100644 --- a/test/built-ins/Function/prototype/bind/15.3.4.5-2-7.js +++ b/test/built-ins/Function/prototype/bind/15.3.4.5-2-7.js @@ -9,17 +9,9 @@ es5id: 15.3.4.5-2-7 description: > Function.prototype.bind throws TypeError if the Target is not callable (JSON) -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { JSON.bind(); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Function/prototype/bind/15.3.4.5-20-3.js b/test/built-ins/Function/prototype/bind/15.3.4.5-20-3.js index aed56b32a8..15516ceb6b 100644 --- a/test/built-ins/Function/prototype/bind/15.3.4.5-20-3.js +++ b/test/built-ins/Function/prototype/bind/15.3.4.5-20-3.js @@ -6,18 +6,10 @@ es5id: 15.3.4.5-20-3 description: > Function.prototype.bind - [[Set]] attribute of 'caller' property in 'F' is thrower -includes: [runTestCase.js] ---*/ -function testcase() { - function foo() { } var obj = foo.bind({}); - try { +assert.throws(TypeError, function() { obj.caller = 12; - return false; - } catch (ex) { - return (ex instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/Function/prototype/bind/15.3.4.5-21-3.js b/test/built-ins/Function/prototype/bind/15.3.4.5-21-3.js index 1f5ea8acea..c132f9d096 100644 --- a/test/built-ins/Function/prototype/bind/15.3.4.5-21-3.js +++ b/test/built-ins/Function/prototype/bind/15.3.4.5-21-3.js @@ -6,18 +6,10 @@ es5id: 15.3.4.5-21-3 description: > Function.prototype.bind - [[Set]] attribute of 'arguments' property in 'F' is thrower -includes: [runTestCase.js] ---*/ -function testcase() { - function foo() { } var obj = foo.bind({}); - try { +assert.throws(TypeError, function() { obj.arguments = 12; - return false; - } catch (ex) { - return (ex instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/JSON/15.12-0-2.js b/test/built-ins/JSON/15.12-0-2.js index b0623f88f8..7b70edabf9 100644 --- a/test/built-ins/JSON/15.12-0-2.js +++ b/test/built-ins/JSON/15.12-0-2.js @@ -8,19 +8,9 @@ info: > step 4 in 11.2.2 should throw a TypeError exception. es5id: 15.12-0-2 description: JSON must not support the [[Construct]] method -includes: [runTestCase.js] ---*/ -function testcase() { var o = JSON; - - try { +assert.throws(TypeError, function() { var j = new JSON(); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/JSON/15.12-0-3.js b/test/built-ins/JSON/15.12-0-3.js index 02a539bede..11f3293a83 100644 --- a/test/built-ins/JSON/15.12-0-3.js +++ b/test/built-ins/JSON/15.12-0-3.js @@ -8,19 +8,9 @@ info: > step 5 in 11.2.3 should throw a TypeError exception. es5id: 15.12-0-3 description: JSON must not support the [[Call]] method -includes: [runTestCase.js] ---*/ -function testcase() { var o = JSON; - - try { +assert.throws(TypeError, function() { var j = JSON(); - } - catch (e) { - if (e instanceof TypeError) { - return true; - } - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js b/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js index a358055861..6360511a45 100644 --- a/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js +++ b/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js @@ -4,17 +4,9 @@ /*--- es5id: 15.10.7.2-1 description: RegExp.prototype.global is a non-generic accessor property -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { RegExp.prototype.global; - } catch (e) { - if (e instanceof TypeError) { - return true; - } - } - return false; -} -runTestCase(testcase); +}); diff --git a/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js b/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js index 46e538c803..53eb90a90b 100644 --- a/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js +++ b/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js @@ -4,17 +4,9 @@ /*--- es5id: 15.10.7.3-1 description: RegExp.prototype.ignoreCase is a non-generic accessor property -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { RegExp.prototype.ignoreCase; - } catch (e) { - if (e instanceof TypeError) { - return true; - } - } - return false; -} -runTestCase(testcase); +}); diff --git a/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js b/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js index 147c865863..d0721f8f55 100644 --- a/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js +++ b/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js @@ -4,17 +4,9 @@ /*--- es5id: 15.10.7.4-1 description: RegExp.prototype.multiline is a non-generic accessor property -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { RegExp.prototype.multiline; - } catch (e) { - if (e instanceof TypeError) { - return true; - } - } - return false; -} -runTestCase(testcase); +}); diff --git a/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js b/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js index 7e41735ae0..3a6b8130b0 100644 --- a/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js +++ b/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js @@ -4,17 +4,9 @@ /*--- es5id: 15.10.7.1-1 description: RegExp.prototype.source is a non-generic accessor property -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { RegExp.prototype.source; - } catch (e) { - if (e instanceof TypeError) { - return true; - } - } - return false; -} -runTestCase(testcase); +}); diff --git a/test/built-ins/String/prototype/trim/15.5.4.20-1-1.js b/test/built-ins/String/prototype/trim/15.5.4.20-1-1.js index 3d65846866..bd0bcaa1f5 100644 --- a/test/built-ins/String/prototype/trim/15.5.4.20-1-1.js +++ b/test/built-ins/String/prototype/trim/15.5.4.20-1-1.js @@ -4,18 +4,9 @@ /*--- es5id: 15.5.4.20-1-1 description: String.prototype.trim throws TypeError when string is undefined -includes: [runTestCase.js] ---*/ -function testcase() { - try - { - String.prototype.trim.call(undefined); - return false; - } - catch(e) - { - return e instanceof TypeError; - } - } -runTestCase(testcase); + +assert.throws(TypeError, function() { + String.prototype.trim.call(undefined); +}); diff --git a/test/built-ins/String/prototype/trim/15.5.4.20-1-2.js b/test/built-ins/String/prototype/trim/15.5.4.20-1-2.js index b58e81ac9b..d91241da24 100644 --- a/test/built-ins/String/prototype/trim/15.5.4.20-1-2.js +++ b/test/built-ins/String/prototype/trim/15.5.4.20-1-2.js @@ -4,18 +4,9 @@ /*--- es5id: 15.5.4.20-1-2 description: String.prototype.trim throws TypeError when string is null -includes: [runTestCase.js] ---*/ -function testcase() { - try - { - String.prototype.trim.call(null); - return false; - } - catch(e) - { - return e instanceof TypeError; - } - } -runTestCase(testcase); + +assert.throws(TypeError, function() { + String.prototype.trim.call(null); +}); diff --git a/test/built-ins/String/prototype/trim/15.5.4.20-2-42.js b/test/built-ins/String/prototype/trim/15.5.4.20-2-42.js index 03e0bc9d96..393625ce0f 100644 --- a/test/built-ins/String/prototype/trim/15.5.4.20-2-42.js +++ b/test/built-ins/String/prototype/trim/15.5.4.20-2-42.js @@ -7,10 +7,8 @@ description: > String.prototype.trim - TypeError exception was thrown when 'this' is an object that both toString and valueOf wouldn't return primitive value. -includes: [runTestCase.js] ---*/ -function testcase() { var toStringAccessed = false; var valueOfAccessed = false; var obj = { @@ -23,11 +21,8 @@ function testcase() { return {}; } }; - try { +assert.throws(TypeError, function() { String.prototype.trim.call(obj); - return false; - } catch (e) { - return valueOfAccessed && toStringAccessed && (e instanceof TypeError); - } - } -runTestCase(testcase); +}); +assert(valueOfAccessed, 'valueOfAccessed !== true'); +assert(toStringAccessed, 'toStringAccessed !== true'); diff --git a/test/built-ins/global/10.2.1.1.3-4-16-s.js b/test/built-ins/global/10.2.1.1.3-4-16-s.js index afd320e231..b5cf69ff5f 100644 --- a/test/built-ins/global/10.2.1.1.3-4-16-s.js +++ b/test/built-ins/global/10.2.1.1.3-4-16-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - TypeError is thrown when changing the value of a Value Property of the Global Object under strict mode (NaN) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { NaN = 12; - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +}); diff --git a/test/built-ins/global/10.2.1.1.3-4-18-s.js b/test/built-ins/global/10.2.1.1.3-4-18-s.js index 5454aba1ad..6a3e87eaa0 100644 --- a/test/built-ins/global/10.2.1.1.3-4-18-s.js +++ b/test/built-ins/global/10.2.1.1.3-4-18-s.js @@ -7,15 +7,9 @@ description: > Strict Mode - TypeError is thrown when changing the value of a Value Property of the Global Object under strict mode (undefined) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ -function testcase() { - try { + +assert.throws(TypeError, function() { undefined = 12; - return false; - } catch (e) { - return e instanceof TypeError; - } - } -runTestCase(testcase); +});