diff --git a/test/language/expressions/assignment/11.13.1-4-1.js b/test/language/expressions/assignment/11.13.1-4-1.js index e1b73b84deea2703f88d0e6d1f243dc2f9ce5e76..a038fe33e6d679ddd5a3438d2b1917b5735274c6 100644 --- a/test/language/expressions/assignment/11.13.1-4-1.js +++ b/test/language/expressions/assignment/11.13.1-4-1.js @@ -8,24 +8,17 @@ description: > simple assignment creates property on the global object if LeftHandSide is an unresolvable reference flags: [noStrict] -includes: - - runTestCase.js - - fnGlobalObject.js +includes: [fnGlobalObject.js] ---*/ -function testcase() { function foo() { __ES3_1_test_suite_test_11_13_1_unique_id_3__ = 42; } foo(); var desc = Object.getOwnPropertyDescriptor(fnGlobalObject(), '__ES3_1_test_suite_test_11_13_1_unique_id_3__'); - if (desc.value === 42 && - desc.writable === true && - desc.enumerable === true && - desc.configurable === true) { - delete __ES3_1_test_suite_test_11_13_1_unique_id_3__; - return true; - } - } -runTestCase(testcase); + +assert.sameValue(desc.value, 42, 'desc.value'); +assert.sameValue(desc.writable, true, 'desc.writable'); +assert.sameValue(desc.enumerable, true, 'desc.enumerable'); +assert.sameValue(desc.configurable, true, 'desc.configurable'); diff --git a/test/language/expressions/assignment/11.13.1-4-27-s.js b/test/language/expressions/assignment/11.13.1-4-27-s.js index 356735d6c2654ac528e82cfaa02dedbfe5981437..42893ad88a3cc7efb0c966aa42d77d502db3caf9 100644 --- a/test/language/expressions/assignment/11.13.1-4-27-s.js +++ b/test/language/expressions/assignment/11.13.1-4-27-s.js @@ -6,20 +6,10 @@ es5id: 11.13.1-4-27-s description: > simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode (Global.undefined) -includes: - - runTestCase.js - - fnGlobalObject.js +flags: [onlyStrict] +includes: [fnGlobalObject.js] ---*/ -function testcase() { - 'use strict'; - - try { +assert.throws(TypeError, function() { fnGlobalObject().undefined = 42; - return false; - } - catch (e) { - return (e instanceof TypeError); - } - } -runTestCase(testcase); +}); diff --git a/test/language/expressions/assignment/11.13.1-4-28-s.js b/test/language/expressions/assignment/11.13.1-4-28-s.js index 998fa4c0d80a6a771c78589e3f29d6cb2c7aba1d..ef1dfed23abf1c8a556dc6db4cce597efbbdb4a5 100644 --- a/test/language/expressions/assignment/11.13.1-4-28-s.js +++ b/test/language/expressions/assignment/11.13.1-4-28-s.js @@ -8,16 +8,17 @@ description: > appears as the LeftHandSideExpression of simple assignment(=) under strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ function testcase() { + var err = null; var blah = eval; try { eval("var eval = 20;"); - return false; } catch (e) { - return e instanceof SyntaxError && blah === eval; + err = e; } + assert(err instanceof SyntaxError, 'err instanceof SyntaxError'); + assert.sameValue(blah, eval, 'blah'); } -runTestCase(testcase); +testcase(); diff --git a/test/language/expressions/assignment/11.13.1-4-29-s.js b/test/language/expressions/assignment/11.13.1-4-29-s.js index 6f2d39c535bae3e662635718616ff524b6bde781..fedd11c6f004f7fb7f6ec585e6bd0516114428ba 100644 --- a/test/language/expressions/assignment/11.13.1-4-29-s.js +++ b/test/language/expressions/assignment/11.13.1-4-29-s.js @@ -8,16 +8,17 @@ description: > appears as the LeftHandSideExpression of simple assignment(=) under strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ function testcase() { + var err = null; var blah = arguments; try { eval("var arguments = 20;"); - return false; } catch (e) { - return e instanceof SyntaxError && blah === arguments; + err = e; } + assert(err instanceof SyntaxError, 'err instanceof SyntaxError'); + assert.sameValue(blah, arguments, 'blah'); } -runTestCase(testcase); +testcase(); diff --git a/test/language/expressions/assignment/11.13.1-4-31-s.js b/test/language/expressions/assignment/11.13.1-4-31-s.js index 5252a7ebf7d7d4049a6e74ccf8af4fac074e91a1..6fc24f0034d6c792f8cfff83a23ff6bed4457cd3 100644 --- a/test/language/expressions/assignment/11.13.1-4-31-s.js +++ b/test/language/expressions/assignment/11.13.1-4-31-s.js @@ -8,16 +8,17 @@ description: > appears as the LeftHandSideExpression (PrimaryExpression) of simple assignment(=) under strict mode flags: [onlyStrict] -includes: [runTestCase.js] ---*/ function testcase() { + var err = null; var blah = arguments; try { eval("(arguments) = 20;"); - return false; } catch (e) { - return e instanceof SyntaxError && blah === arguments; + err = e; } + assert(err instanceof SyntaxError, 'err instanceof SyntaxError'); + assert.sameValue(blah, arguments, 'blah'); } -runTestCase(testcase); +testcase(); diff --git a/test/language/expressions/assignment/8.12.5-3-b_1.js b/test/language/expressions/assignment/8.12.5-3-b_1.js index 74c10731a30564d9100252b1e4916986029ea0cb..7f9c962a5ab68a04961e340725d2de1eceae8417 100644 --- a/test/language/expressions/assignment/8.12.5-3-b_1.js +++ b/test/language/expressions/assignment/8.12.5-3-b_1.js @@ -6,15 +6,11 @@ es5id: 8.12.5-3-b_1 description: > Changing the value of a data property should not affect it's non-value property descriptor attributes. -includes: [runTestCase.js] ---*/ -function testcase() { - var origReduce = Array.prototype.reduce; var origDesc = Object.getOwnPropertyDescriptor(Array.prototype, "reduce"); var newDesc; - - try { + Array.prototype.reduce = function () {;}; newDesc = Object.getOwnPropertyDescriptor(Array.prototype, "reduce"); var descArray = [origDesc, newDesc]; @@ -22,19 +18,10 @@ function testcase() { for (var j in descArray) { //Ensure no attributes are magically added to newDesc for (var i in descArray[j]) { if (i==="value") { - if (origDesc[i]===newDesc[i]) { - return false; - } + assert.notSameValue(origDesc[i], newDesc[i], 'origDesc[i]'); } - else if (origDesc[i]!==newDesc[i]) { - return false; + else { + assert.sameValue(origDesc[i], newDesc[i], 'origDesc[i]'); } } } - return true; - - } finally { - Array.prototype.reduce = origReduce; - } -} -runTestCase(testcase); diff --git a/test/language/expressions/assignment/8.12.5-3-b_2.js b/test/language/expressions/assignment/8.12.5-3-b_2.js index 46587dcc501253a6773403f246b704f21d7acdc4..1bee1fd6da2e2254a07e8435d5c7ba048a58b433 100644 --- a/test/language/expressions/assignment/8.12.5-3-b_2.js +++ b/test/language/expressions/assignment/8.12.5-3-b_2.js @@ -6,19 +6,15 @@ es5id: 8.12.5-3-b_2 description: > Changing the value of a data property should not affect it's non-value property descriptor attributes. -includes: [runTestCase.js] ---*/ -function testcase() { var tempObj = {}; Object.defineProperty(tempObj, "reduce", { value:456, enumerable:false, writable:true}); - var origReduce = tempObj.reduce; var origDesc = Object.getOwnPropertyDescriptor(tempObj, "reduce"); var newDesc; - - try { + tempObj.reduce = 123; newDesc = Object.getOwnPropertyDescriptor(tempObj, "reduce"); var descArray = [origDesc, newDesc]; @@ -26,19 +22,10 @@ function testcase() { for (var j in descArray) { for (var i in descArray[j]) { if (i==="value") { - if (origDesc[i]===newDesc[i]) { - return false; - } + assert.notSameValue(origDesc[i], newDesc[i], 'origDesc[i]'); } - else if (origDesc[i]!==newDesc[i]) { - return false; + else { + assert.sameValue(origDesc[i], newDesc[i], 'origDesc[i]'); } } } - return true; - - } finally { - tempObj.reduce = origReduce; - } -} -runTestCase(testcase); diff --git a/test/language/expressions/assignment/8.12.5-5-b_1.js b/test/language/expressions/assignment/8.12.5-5-b_1.js index a2f9e3e9e9800508ef0b068ce944c31acaf9d3a9..56402297f244305a69e7368b9b979ac579a12132 100644 --- a/test/language/expressions/assignment/8.12.5-5-b_1.js +++ b/test/language/expressions/assignment/8.12.5-5-b_1.js @@ -6,34 +6,23 @@ es5id: 8.12.5-5-b_1 description: > Changing the value of an accessor property should not affect it's property descriptor attributes. -includes: [runTestCase.js] ---*/ -function testcase() { var tempObj = {}; Object.defineProperty(tempObj, "reduce", { get: function() {return 456;}, enumerable:false, set: function() {;}}); - var origReduce = tempObj.reduce; var origDesc = Object.getOwnPropertyDescriptor(tempObj, "reduce"); var newDesc; - - try { + tempObj.reduce = 123; newDesc = Object.getOwnPropertyDescriptor(tempObj, "reduce"); var descArray = [origDesc, newDesc]; for (var j in descArray) { for (var i in descArray[j]) { - if (origDesc[i]!==newDesc[i]) { - return false; - } + assert.sameValue(origDesc[i], newDesc[i], 'origDesc[i]'); } } - return tempObj.reduce===456; - - } finally { - tempObj.reduce = origReduce; - } -} -runTestCase(testcase); + +assert.sameValue(tempObj.reduce, 456, 'tempObj.reduce'); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-12-s.js b/test/language/expressions/compound-assignment/11.13.2-6-12-s.js index 5a5135b0ba1ccf6230c9c7f5ed905a3fef8521ac..b5fee73b8a3ef3b474ebe5f36719f7b796653652 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-12-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-12-s.js @@ -8,16 +8,17 @@ description: > appear as the LeftHandSideExpression of a Compound Assignment operator(*=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ function testcase() { + var err = null; var blah = arguments; try { eval("arguments *= 20;"); - return false; } catch (e) { - return e instanceof SyntaxError && blah === arguments; + err = e; } - } -runTestCase(testcase); + assert(err instanceof SyntaxError, 'err instanceof SyntaxError'); + assert.sameValue(blah, arguments, 'blah'); +} +testcase(); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-13-s.js b/test/language/expressions/compound-assignment/11.13.2-6-13-s.js index 50b386204e793e71805c4deb7c7e3d09c60d2d1d..0ee92781d860b08cf9f2de69fe26653c353d8162 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-13-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-13-s.js @@ -8,16 +8,17 @@ description: > appear as the LeftHandSideExpression of a Compound Assignment operator(/=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ function testcase() { + var err = null; var blah = arguments; try { eval("arguments /= 20;"); - return false; } catch (e) { - return e instanceof SyntaxError && blah === arguments; + err = e; } - } -runTestCase(testcase); + assert(err instanceof SyntaxError, 'err instanceof SyntaxError'); + assert.sameValue(blah, arguments, 'blah'); +} +testcase(); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-14-s.js b/test/language/expressions/compound-assignment/11.13.2-6-14-s.js index df9f3fcb73751b4134846c20e3caead3f9ba2251..bfc4d46116bea0192d0014b8e4b7d485dba18240 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-14-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-14-s.js @@ -8,16 +8,17 @@ description: > appear as the LeftHandSideExpression of a Compound Assignment operator(%=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ function testcase() { + var err = null; var blah = arguments; try { eval("arguments %= 20;"); - return false; } catch (e) { - return e instanceof SyntaxError && blah === arguments; + err = e; } - } -runTestCase(testcase); + assert(err instanceof SyntaxError, 'err instanceof SyntaxError'); + assert.sameValue(blah, arguments, 'blah'); +} +testcase(); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-15-s.js b/test/language/expressions/compound-assignment/11.13.2-6-15-s.js index 69005682ced69b5073ce575aa65162e3168794c3..dab1683fcdf0492e211ef383c6e5579279d83184 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-15-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-15-s.js @@ -8,16 +8,17 @@ description: > appear as the LeftHandSideExpression of a Compound Assignment operator(+=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ function testcase() { + var err = null; var blah = arguments; try { eval("arguments += 20;"); - return false; } catch (e) { - return e instanceof SyntaxError && blah === arguments; + err = e; } - } -runTestCase(testcase); + assert(err instanceof SyntaxError, 'err instanceof SyntaxError'); + assert.sameValue(blah, arguments, 'blah'); +} +testcase(); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-16-s.js b/test/language/expressions/compound-assignment/11.13.2-6-16-s.js index 7b8911f811acb3286a7af1453249fd37607daf7c..c93a6a29f1375a8aa60fd1d72628e5192515669a 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-16-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-16-s.js @@ -8,16 +8,17 @@ description: > appear as the LeftHandSideExpression of a Compound Assignment operator(-=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ function testcase() { + var err = null; var blah = arguments; try { eval("arguments -= 20;"); - return false; } catch (e) { - return e instanceof SyntaxError && blah === arguments; + err = e; } - } -runTestCase(testcase); + assert(err instanceof SyntaxError, 'err instanceof SyntaxError'); + assert.sameValue(blah, arguments, 'blah'); +} +testcase(); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-17-s.js b/test/language/expressions/compound-assignment/11.13.2-6-17-s.js index fd7cc5ce2187fce84a21fea5efc782c7ff656921..f1621f18e256e3cc13494d2b87e3b40b79252d8d 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-17-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-17-s.js @@ -8,16 +8,17 @@ description: > appear as the LeftHandSideExpression of a Compound Assignment operator(<<=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ function testcase() { + var err = null; var blah = arguments; try { eval("arguments <<= 20;"); - return false; } catch (e) { - return e instanceof SyntaxError && blah === arguments; + err = e; } - } -runTestCase(testcase); + assert(err instanceof SyntaxError, 'err instanceof SyntaxError'); + assert.sameValue(blah, arguments, 'blah'); +} +testcase(); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-18-s.js b/test/language/expressions/compound-assignment/11.13.2-6-18-s.js index 421d68a4b40b3ec9627ce15a4b3ea7d2c0f4846a..3497433db4bb9359a920ccf3d3271fc64f4b47d6 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-18-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-18-s.js @@ -8,16 +8,17 @@ description: > appear as the LeftHandSideExpression of a Compound Assignment operator(>>=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ function testcase() { + var err = null; var blah = arguments; try { eval("arguments >>= 20;"); - return false; } catch (e) { - return e instanceof SyntaxError && blah === arguments; + err = e; } - } -runTestCase(testcase); + assert(err instanceof SyntaxError, 'err instanceof SyntaxError'); + assert.sameValue(blah, arguments, 'blah'); +} +testcase(); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-19-s.js b/test/language/expressions/compound-assignment/11.13.2-6-19-s.js index 6cd1363399ff06d5d1eb6feda796643a24e6d3cf..d79326cb10c1b93e6749f02bdf1628066cb19fe1 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-19-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-19-s.js @@ -8,16 +8,17 @@ description: > appear as the LeftHandSideExpression of a Compound Assignment operator(>>>=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ function testcase() { + var err = null; var blah = arguments; try { eval("arguments >>>= 20;"); - return false; } catch (e) { - return e instanceof SyntaxError && blah === arguments; + err = e; } - } -runTestCase(testcase); + assert(err instanceof SyntaxError, 'err instanceof SyntaxError'); + assert.sameValue(blah, arguments, 'blah'); +} +testcase(); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-20-s.js b/test/language/expressions/compound-assignment/11.13.2-6-20-s.js index d02a0af9e19f9efa83cfc95ced501831b3c29904..2cc859231c3ef0507018a66d2b8123454376cb95 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-20-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-20-s.js @@ -8,16 +8,17 @@ description: > appear as the LeftHandSideExpression of a Compound Assignment operator(&=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ function testcase() { + var err = null; var blah = arguments; try { eval("arguments &= 20;"); - return false; } catch (e) { - return e instanceof SyntaxError && blah === arguments; + err = e; } - } -runTestCase(testcase); + assert(err instanceof SyntaxError, 'err instanceof SyntaxError'); + assert.sameValue(blah, arguments, 'blah'); +} +testcase(); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-21-s.js b/test/language/expressions/compound-assignment/11.13.2-6-21-s.js index ef7c25f95688fed02f6986e9f6c53cbf2d3438ee..178dddfb21aafc03cb939b4469236735acb1427a 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-21-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-21-s.js @@ -8,16 +8,17 @@ description: > appear as the LeftHandSideExpression of a Compound Assignment operator(^=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ function testcase() { + var err = null; var blah = arguments; try { eval("arguments ^= 20;"); - return false; } catch (e) { - return e instanceof SyntaxError && blah === arguments; + err = e; } - } -runTestCase(testcase); + assert(err instanceof SyntaxError, 'err instanceof SyntaxError'); + assert.sameValue(blah, arguments, 'blah'); +} +testcase(); diff --git a/test/language/expressions/compound-assignment/11.13.2-6-22-s.js b/test/language/expressions/compound-assignment/11.13.2-6-22-s.js index 57ebde975c4e2aa04e15dc10039b8f8f5785dafc..e27d5df5cfac650203585931a720241d0693300f 100644 --- a/test/language/expressions/compound-assignment/11.13.2-6-22-s.js +++ b/test/language/expressions/compound-assignment/11.13.2-6-22-s.js @@ -8,16 +8,17 @@ description: > appear as the LeftHandSideExpression of a Compound Assignment operator(|=) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ function testcase() { + var err = null; var blah = arguments; try { eval("arguments |= 20;"); - return false; } catch (e) { - return e instanceof SyntaxError && blah === arguments; + err = e; } - } -runTestCase(testcase); + assert(err instanceof SyntaxError, 'err instanceof SyntaxError'); + assert.sameValue(blah, arguments, 'blah'); +} +testcase(); diff --git a/test/language/expressions/delete/11.4.1-0-1.js b/test/language/expressions/delete/11.4.1-0-1.js index bdabfbdb5f97f4b8eba6aeda12d43965b62777d8..fc5aed728f3e1690cd35a9d8a1c0d0e3790fa783 100644 --- a/test/language/expressions/delete/11.4.1-0-1.js +++ b/test/language/expressions/delete/11.4.1-0-1.js @@ -8,18 +8,14 @@ info: > es5id: 11.4.1-0-1 description: delete operator as UnaryExpression flags: [noStrict] -includes: [runTestCase.js] ---*/ function testcase() { var x = 1; var y = 2; var z = 3; - - if( (!delete x || delete y) && - delete delete z) - { - return true; - } + + assert((!delete x || delete y), '(!delete x || delete y)'); + assert(delete delete z, 'delete delete z'); } -runTestCase(testcase); +testcase(); diff --git a/test/language/expressions/delete/11.4.1-2-1.js b/test/language/expressions/delete/11.4.1-2-1.js index 4d88210e5bb85abde003b64b41cb19491c6fc5b7..19a1de7fddc7f2c8e207bb23fa78a1d71a83afa6 100644 --- a/test/language/expressions/delete/11.4.1-2-1.js +++ b/test/language/expressions/delete/11.4.1-2-1.js @@ -4,13 +4,8 @@ /*--- es5id: 11.4.1-2-1 description: delete operator returns true when deleting a non-reference (number) -includes: [runTestCase.js] ---*/ -function testcase() { var d = delete 42; - if (d === true) { - return true; - } - } -runTestCase(testcase); + +assert.sameValue(d, true, 'd'); diff --git a/test/language/expressions/delete/11.4.1-4.a-11.js b/test/language/expressions/delete/11.4.1-4.a-11.js index 282fbca47c81b2123820ef39d12552292af56883..0d1ffab2411611305ffd8bd35bcd91d2b8039caf 100644 --- a/test/language/expressions/delete/11.4.1-4.a-11.js +++ b/test/language/expressions/delete/11.4.1-4.a-11.js @@ -10,7 +10,6 @@ description: > delete operator returns true on deleting arguments propterties(arguments.callee) flags: [noStrict] -includes: [runTestCase.js] ---*/ function testcase() { @@ -19,7 +18,8 @@ function testcase() { return (delete arguments.callee); } var d = delete arguments.callee; - if(d === true && arguments.callee === undefined) - return true; + + assert.sameValue(d, true, 'd'); + assert.sameValue(arguments.callee, undefined, 'arguments.callee'); } -runTestCase(testcase); +testcase(); diff --git a/test/language/expressions/delete/11.4.1-4.a-13.js b/test/language/expressions/delete/11.4.1-4.a-13.js index 432685ed1c121b1170cf0e8ba7f37d03fe761a2e..628b11c935c7b6220ab9616e4d058999db7a47b8 100644 --- a/test/language/expressions/delete/11.4.1-4.a-13.js +++ b/test/language/expressions/delete/11.4.1-4.a-13.js @@ -8,7 +8,6 @@ info: > es5id: 11.4.1-4.a-13 description: delete operator returns false when deleting Array object flags: [noStrict] -includes: [runTestCase.js] ---*/ function testcase() { @@ -18,7 +17,7 @@ function testcase() { var d = delete a - if(d === false && Array.isArray(a) === true) - return true; + assert.sameValue(d, false, 'd'); + assert.sameValue(Array.isArray(a), true, 'Array.isArray(a)'); } -runTestCase(testcase); +testcase(); diff --git a/test/language/expressions/delete/11.4.1-4.a-16.js b/test/language/expressions/delete/11.4.1-4.a-16.js index 0e844ab64038e84851c1381f888563c1673f890a..9608ba8e19218767607f27989c40f507ec7c36c8 100644 --- a/test/language/expressions/delete/11.4.1-4.a-16.js +++ b/test/language/expressions/delete/11.4.1-4.a-16.js @@ -8,12 +8,10 @@ info: > es5id: 11.4.1-4.a-16 description: delete operator returns false on deleting arguments object flags: [noStrict] -includes: [runTestCase.js] ---*/ function testcase() { - - if(delete arguments === false && arguments !== undefined) - return true; + assert.sameValue(delete arguments, false, 'delete arguments'); + assert.notSameValue(arguments, undefined, 'arguments'); } -runTestCase(testcase); +testcase(); diff --git a/test/language/expressions/delete/11.4.1-4.a-17.js b/test/language/expressions/delete/11.4.1-4.a-17.js index b9a86cd8b00f27d095b89f0ee7357c174662b290..6d441422e18bf51b02cfd8efaeb992b2751513fd 100644 --- a/test/language/expressions/delete/11.4.1-4.a-17.js +++ b/test/language/expressions/delete/11.4.1-4.a-17.js @@ -7,17 +7,12 @@ info: > language provides no way to directly exercise [[Delete]], the tests are placed here. es5id: 11.4.1-4.a-17 description: delete operator returns true on deleting a arguments element -includes: [runTestCase.js] ---*/ -function testcase() { function foo(a,b) { var d = delete arguments[0]; return (d === true && arguments[0] === undefined); } - if(foo(1,2) === true) - return true; - } -runTestCase(testcase); +assert.sameValue(foo(1,2), true, 'foo(1,2)'); diff --git a/test/language/expressions/delete/11.4.1-4.a-5.js b/test/language/expressions/delete/11.4.1-4.a-5.js index 1b7c15f94979c1210f89da85a7e7b4b9fa307f4d..f5f9157ffbcdfceabb2663744cdadc4a29fd6ab7 100644 --- a/test/language/expressions/delete/11.4.1-4.a-5.js +++ b/test/language/expressions/delete/11.4.1-4.a-5.js @@ -10,7 +10,6 @@ description: > delete operator returns false when deleting the declaration of the environment object inside 'with' flags: [noStrict] -includes: [runTestCase.js] ---*/ function testcase() { @@ -21,9 +20,9 @@ function testcase() { { d = delete o; } - if (d === false && typeof(o) === 'object' && o.x === 1) { - return true; - } - return false; + + assert.sameValue(d, false, 'd'); + assert.sameValue(typeof(o), 'object', 'typeof(o)'); + assert.sameValue(o.x, 1, 'o.x'); } -runTestCase(testcase); +testcase(); diff --git a/test/language/expressions/delete/11.4.1-4.a-7.js b/test/language/expressions/delete/11.4.1-4.a-7.js index 99107fb94c3cf9e7cef03d0744ff9104541e1f3e..4c9e4690d323321964a10ee89bf0bd8dec904e02 100644 --- a/test/language/expressions/delete/11.4.1-4.a-7.js +++ b/test/language/expressions/delete/11.4.1-4.a-7.js @@ -8,15 +8,13 @@ info: > es5id: 11.4.1-4.a-7 description: delete operator inside 'eval' flags: [noStrict] -includes: [runTestCase.js] ---*/ function testcase() { var x = 1; var d = eval("delete x"); - if (d === false && x === 1) { - return true; - } - return false; + + assert.sameValue(d, false, 'd'); + assert.sameValue(x, 1, 'x'); } -runTestCase(testcase); +testcase(); diff --git a/test/language/expressions/delete/11.4.1-5-1.js b/test/language/expressions/delete/11.4.1-5-1.js index 0767aa3bcb4d28e2ae8de68da8010e174445efc7..c73f564a0fa5c86f413b8471539e4d78649efb2f 100644 --- a/test/language/expressions/delete/11.4.1-5-1.js +++ b/test/language/expressions/delete/11.4.1-5-1.js @@ -7,7 +7,6 @@ description: > delete operator returns false when deleting a direct reference to a var flags: [noStrict] -includes: [runTestCase.js] ---*/ function testcase() { @@ -15,7 +14,8 @@ function testcase() { // Now, deleting 'x' directly should fail; var d = delete x; - if(d === false && x === 1) - return true; + + assert.sameValue(d, false, 'd'); + assert.sameValue(x, 1, 'x'); } -runTestCase(testcase); +testcase(); diff --git a/test/language/expressions/delete/11.4.1-5-3.js b/test/language/expressions/delete/11.4.1-5-3.js index ff60b01c40622757ca212ee245e2d32536fc2a0e..6e2d7e4b443ed5e4d30a2d6779e978cf38ce67c2 100644 --- a/test/language/expressions/delete/11.4.1-5-3.js +++ b/test/language/expressions/delete/11.4.1-5-3.js @@ -7,8 +7,6 @@ description: > delete operator returns false when deleting a direct reference to a function name flags: [noStrict] -includes: - - runTestCase.js ---*/ function testcase() { @@ -16,7 +14,8 @@ function testcase() { // Now, deleting 'foo' directly should fail; var d = delete foo; - if(d === false && typeof foo === 'function') - return true; + + assert.sameValue(d, false, 'd'); + assert.sameValue(typeof foo, 'function', 'typeof foo'); } -runTestCase(testcase); +testcase(); diff --git a/test/language/expressions/object/11.1.5-0-1.js b/test/language/expressions/object/11.1.5-0-1.js index e4bdd51ac9bc132ac4af1e2cb38c5e1ccc652d4f..9b79c64ebc4420a5d6d0f558f1da5f258337d81c 100644 --- a/test/language/expressions/object/11.1.5-0-1.js +++ b/test/language/expressions/object/11.1.5-0-1.js @@ -7,20 +7,16 @@ info: > probably be replaced by some more targeted tests. AllenWB es5id: 11.1.5-0-1 description: Object literal - get set property -includes: [runTestCase.js] ---*/ -function testcase() { var s1 = "In getter"; var s2 = "In setter"; var s3 = "Modified by setter"; var o; eval("o = {get foo(){ return s1;},set foo(arg){return s2 = s3}};"); - if(o.foo !== s1) - return false; + +assert.sameValue(o.foo, s1, 'o.foo'); + o.foo=10; - if(s2 !== s3) - return false; - return true; - } -runTestCase(testcase); + +assert.sameValue(s2, s3, 's2'); diff --git a/test/language/expressions/object/11.1.5-0-2.js b/test/language/expressions/object/11.1.5-0-2.js index da2bc92a6b6c038ad2787aa02e551354d68322f2..d21ed5f78c57f371f4c30a2a906792dfff4e9676 100644 --- a/test/language/expressions/object/11.1.5-0-2.js +++ b/test/language/expressions/object/11.1.5-0-2.js @@ -7,25 +7,21 @@ info: > probably be replaced by some more targeted tests. AllenWB es5id: 11.1.5-0-2 description: Object literal - multiple get set properties -includes: [runTestCase.js] ---*/ -function testcase() { var s1 = "First getter"; var s2 = "First setter"; var s3 = "Second getter"; var o; eval("o = {get foo(){ return s1;},set foo(arg){return s2 = s3}, get bar(){ return s3}, set bar(arg){ s3 = arg;}};"); - if(o.foo !== s1) - return false; + +assert.sameValue(o.foo, s1, 'o.foo'); + o.foo = 10; - if(s2 !== s3) - return false; - if(o.bar !== s3) - return false; + +assert.sameValue(s2, s3, 's2'); +assert.sameValue(o.bar, s3, 'o.bar'); + o.bar = "Second setter"; - if(o.bar !== "Second setter") - return false; - return true; - } -runTestCase(testcase); + +assert.sameValue(o.bar, "Second setter", 'o.bar'); diff --git a/test/language/expressions/postfix-decrement/11.3.2-2-1-s.js b/test/language/expressions/postfix-decrement/11.3.2-2-1-s.js index 056988fad968bbce537959a9600f087d661ec1f0..3058aab95075ac719fbe7b13202bb2121edd50da 100644 --- a/test/language/expressions/postfix-decrement/11.3.2-2-1-s.js +++ b/test/language/expressions/postfix-decrement/11.3.2-2-1-s.js @@ -7,16 +7,13 @@ description: > Strict Mode - SyntaxError is thrown if the identifier 'arguments' appear as a PostfixExpression(arguments--) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ function testcase() { var blah = arguments; - try { + assert.throws(SyntaxError, function() { eval("arguments--;"); - return false; - } catch (e) { - return e instanceof SyntaxError && blah === arguments; - } + }); + assert.sameValue(blah, arguments, 'blah'); } -runTestCase(testcase); +testcase(); diff --git a/test/language/expressions/postfix-decrement/11.3.2-2-3-s.js b/test/language/expressions/postfix-decrement/11.3.2-2-3-s.js index f4286074a9e8a4ba929df4f40104088977f25983..3a19d79acc7d15d94580d9c7c28959431593b8d7 100644 --- a/test/language/expressions/postfix-decrement/11.3.2-2-3-s.js +++ b/test/language/expressions/postfix-decrement/11.3.2-2-3-s.js @@ -6,12 +6,11 @@ es5id: 11.3.2-2-3-s description: > SyntaxError is not thrown if the identifier 'arguments[...]' appears as a PostfixExpression(arguments--) -includes: [runTestCase.js] ---*/ function testcase() { arguments[1] = 7; arguments[1]--; - return arguments[1]===6; + assert.sameValue(arguments[1], 6, 'arguments[1]'); } -runTestCase(testcase); +testcase(); diff --git a/test/language/expressions/postfix-increment/11.3.1-2-1-s.js b/test/language/expressions/postfix-increment/11.3.1-2-1-s.js index c45c16798de395ec1271f0eda5515bb6f3f3a82d..3c5bba388ff06ebce95a7ddf70a16e826abd34dc 100644 --- a/test/language/expressions/postfix-increment/11.3.1-2-1-s.js +++ b/test/language/expressions/postfix-increment/11.3.1-2-1-s.js @@ -7,16 +7,13 @@ description: > Strict Mode - SyntaxError is thrown if the identifier 'arguments' appear as a PostfixExpression(arguments++) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ function testcase() { var blah = arguments; - try { + assert.throws(SyntaxError, function() { eval("arguments++;"); - return false; - } catch (e) { - return e instanceof SyntaxError && blah === arguments; - } + }); + assert.sameValue(blah, arguments, 'blah'); } -runTestCase(testcase); +testcase(); diff --git a/test/language/expressions/postfix-increment/11.3.1-2-3-s.js b/test/language/expressions/postfix-increment/11.3.1-2-3-s.js index 298a94130463f8863b21445f9aa05fe5e235d2b8..ac7b860457daead36a7f87d246f57c8b35650485 100644 --- a/test/language/expressions/postfix-increment/11.3.1-2-3-s.js +++ b/test/language/expressions/postfix-increment/11.3.1-2-3-s.js @@ -7,12 +7,11 @@ description: > Strict Mode - SyntaxError is not thrown if the identifier 'arguments[...]' appears as a PostfixExpression(arguments++) flags: [onlyStrict] -includes: [runTestCase.js] ---*/ function testcase() { arguments[1] = 7; arguments[1]++; - return arguments[1]===8; + assert.sameValue(arguments[1], 8, 'arguments[1]'); } -runTestCase(testcase); +testcase(); diff --git a/test/language/expressions/prefix-decrement/11.4.5-2-2-s.js b/test/language/expressions/prefix-decrement/11.4.5-2-2-s.js index b5f1d8b13fdd75e0b254257e6563df65e8608fbf..1f0786c67a802bc31088494c8db23ad9ab00f42a 100644 --- a/test/language/expressions/prefix-decrement/11.4.5-2-2-s.js +++ b/test/language/expressions/prefix-decrement/11.4.5-2-2-s.js @@ -5,16 +5,13 @@ es5id: 11.4.5-2-2-s description: Strict Mode - SyntaxError is thrown for --arguments flags: [onlyStrict] -includes: [runTestCase.js] ---*/ function testcase() { var blah = arguments; - try { + assert.throws(SyntaxError, function() { eval("--arguments;"); - return false; - } catch (e) { - return e instanceof SyntaxError && blah === arguments; - } + }); + assert.sameValue(blah, arguments, 'blah'); } -runTestCase(testcase); +testcase(); diff --git a/test/language/expressions/prefix-decrement/11.4.5-2-3-s.js b/test/language/expressions/prefix-decrement/11.4.5-2-3-s.js index 079da1a3b8b42ce57aee7daf0786ddcdb4abb6ee..2da918b9fbb156b247db0de37899b0c0650e0805 100644 --- a/test/language/expressions/prefix-decrement/11.4.5-2-3-s.js +++ b/test/language/expressions/prefix-decrement/11.4.5-2-3-s.js @@ -4,12 +4,11 @@ /*--- es5id: 11.4.5-2-3-s description: SyntaxError is not thrown for --arguments[...] -includes: [runTestCase.js] ---*/ function testcase() { arguments[1] = 7; --arguments[1]; - return arguments[1]===6; + assert.sameValue(arguments[1], 6, 'arguments[1]'); } -runTestCase(testcase); +testcase(); diff --git a/test/language/expressions/prefix-increment/11.4.4-2-2-s.js b/test/language/expressions/prefix-increment/11.4.4-2-2-s.js index af0820c9549e0a3343aeae04820620f71b344cca..5d3209db9e9fa44195d504b4c857dd416b2b5983 100644 --- a/test/language/expressions/prefix-increment/11.4.4-2-2-s.js +++ b/test/language/expressions/prefix-increment/11.4.4-2-2-s.js @@ -5,16 +5,13 @@ es5id: 11.4.4-2-2-s description: Strict Mode - SyntaxError is thrown for ++arguments flags: [onlyStrict] -includes: [runTestCase.js] ---*/ function testcase() { var blah = arguments; - try { + assert.throws(SyntaxError, function() { eval("++arguments;"); - return false; - } catch (e) { - return e instanceof SyntaxError && blah === arguments; - } + }); + assert.sameValue(blah, arguments, 'blah'); } -runTestCase(testcase); +testcase(); diff --git a/test/language/expressions/prefix-increment/11.4.4-2-3-s.js b/test/language/expressions/prefix-increment/11.4.4-2-3-s.js index 80a9d365b2486190acdb19e1eefd77aa67514db8..e6b3938620fb8aa1b1193170ff1aaa08a82b2afd 100644 --- a/test/language/expressions/prefix-increment/11.4.4-2-3-s.js +++ b/test/language/expressions/prefix-increment/11.4.4-2-3-s.js @@ -4,12 +4,11 @@ /*--- es5id: 11.4.4-2-3-s description: SyntaxError is not thrown for ++arguments[...] -includes: [runTestCase.js] ---*/ function testcase() { arguments[1] = 7; ++arguments[1]; - return arguments[1]===8; + assert.sameValue(arguments[1], 8, 'arguments[1]'); } -runTestCase(testcase); +testcase(); diff --git a/test/language/expressions/unary-minus/11.4.7-4-1.js b/test/language/expressions/unary-minus/11.4.7-4-1.js index 170df2eebb386b26e620468556ebe042ae72897b..3c4f84373f0341e7add1f8de2a39e408e73b9196 100644 --- a/test/language/expressions/unary-minus/11.4.7-4-1.js +++ b/test/language/expressions/unary-minus/11.4.7-4-1.js @@ -4,10 +4,6 @@ /*--- es5id: 11.4.7-4-1 description: -"" should be zero -includes: [runTestCase.js] ---*/ -function testcase() { - return -"" === 0; - } -runTestCase(testcase); +assert.sameValue(-"", -0, '-""'); diff --git a/test/language/expressions/unary-plus/11.4.6-2-1.js b/test/language/expressions/unary-plus/11.4.6-2-1.js index da6da3c7ab4d4a5efb2fbb91b24ff93be7d68d87..d5ca55aea77064d28b2f79c1f0ce2963ca848218 100644 --- a/test/language/expressions/unary-plus/11.4.6-2-1.js +++ b/test/language/expressions/unary-plus/11.4.6-2-1.js @@ -4,10 +4,6 @@ /*--- es5id: 11.4.6-2-1 description: +"" should be zero -includes: [runTestCase.js] ---*/ -function testcase() { - return +"" === 0; - } -runTestCase(testcase); +assert.sameValue(+"", 0, '+""');