diff options
author | André Bargull <andre.bargull@gmail.com> | 2015-08-11 17:43:48 +0200 |
---|---|---|
committer | André Bargull <andre.bargull@gmail.com> | 2015-08-11 17:43:48 +0200 |
commit | f3e919209c6011365e662633962699285254ae11 (patch) | |
tree | e90f712306e93be7e3ad1d3da4b6ead9152e50ed /test/built-ins | |
parent | 1f97345668236508d8148f28fece4f4a190a6543 (diff) | |
download | qtdeclarative-testsuites-f3e919209c6011365e662633962699285254ae11.tar.gz |
Replace runTestCase with assert.throws [test/built-ins/Object]
Diffstat (limited to 'test/built-ins')
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 c5e0b426d..dfec56794 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 28933d177..2a8aa4b63 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 300289d4c..e33ef8ddb 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 2624275e4..645c0c974 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 9d9132e5a..e20c4f14b 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 6a70c61dc..f4ae695fa 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 aecc5f594..90605aece 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 58ea30579..031bdfd56 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 7b33457ef..8a7f3f955 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 1758af3db..f02da1a38 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 dba419000..913f3b4e1 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 ee4f14993..b5141d316 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 6c9e8c333..0253d46f9 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 4f5553910..db9776e03 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 9ea966b79..9912d0806 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 f5e588386..0365a10f8 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 836a621b9..5d998fb97 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 eb7844fd3..d9557fc3d 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 c79244013..41acad4d2 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 2df2e86b6..9d9b0dc59 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 3105350c1..459a8580e 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 3618ff9d3..bae6d8dff 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 29bbe0a09..91c14b190 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 d5e2421d3..d74dd58cd 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 d52b5a303..424a2be66 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 a01187f38..f3ca54ea4 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 362e72691..18073ec96 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 0f07634c3..653c33ccb 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 d94b31b67..6bf9439ef 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 e0cc78fc9..b4eae1229 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 eeb85855e..0974b1a06 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 597c32d7a..673f98608 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 12c2752a5..c6b27773c 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 da621aed4..4f8ca8d07 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 58d31b83c..5366c8b9a 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 9b10cce72..7eaf6bd16 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 768a594be..c7fa6e5ea 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 3cef301fb..391538ddb 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 e04e7147e..adb34766f 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 ffce3edc5..d684f624d 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 ea60b42e6..982cddb9b 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 3e5cfc2e4..57e21ef35 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 1667d76f5..e35a948b5 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 4dcec66e6..11d390a2b 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 f15894290..acbcc7ed2 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 762d1ba4c..85e6c6b88 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 22455761b..848af0730 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 fc31f20a3..f0fed05eb 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 247f747ed..5587e1765 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 9bf35d85e..1587c5de2 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 23be87b18..945e4a276 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 8a8995e29..cba662cf5 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 e61abc465..ee430f83c 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 c996b48e1..27a60e51d 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 8532a067f..e282f5607 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 5ec043573..ed64214cf 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 3ef0d6ad4..e22b9a9ea 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 8a58af647..4c300f6d7 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 1ba128bce..ab0fecce7 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 7dc734ad8..95ab99ed5 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 14cbb248d..e249d698a 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 3a03bf266..2c62ae0e9 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 5277ce5d9..e432de73f 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 fc090de0e..ff246ba32 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 e312ce8f9..ada55d4a5 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 a8670853a..16015d3bb 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 04ccb58ed..c9b787f8d 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 1f172e3a1..5f9b707fd 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 3c9d49747..1613213e8 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 e1d0b07ca..ebc116b2d 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 58d5cb72c..ae2debbf9 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 c257c7b6d..96214d41d 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 abb7e0c0e..d70d2214f 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 63597a017..c509c5305 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 3d8b21eea..bf9c3b8d1 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 c44361385..fddc31217 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 4c94b0a64..c98990822 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 968810c45..a3eb0b4b6 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 b1a2533d3..6d83613b9 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 4cf79075c..a6bd8e38c 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 78ed126d7..bb5450464 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 b976470a7..c4a266ad4 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 ec10693e0..3fe016ff4 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 293ebe520..3698753c5 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 78f495b7d..e5f5943f6 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 936a9f811..7ecdc01b2 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 5a1858f96..7241a38ef 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 83ec6d5b2..03026ecbe 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 9dad16353..3597664af 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 38efcf4b7..c65a852dc 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 d30df0a29..798298cf8 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 c6b961343..aa93f1f02 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 5f2b8c720..e1c624b55 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 0c746d7d4..f46b1a03a 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 6a11a0b30..923f4fdc9 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 e5934a590..1b703ad31 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 2e7cae54e..07851ab52 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 e2a39b246..ad1ef64aa 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 b9b434085..7fac12e1b 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 3c3292f3b..2f0f77464 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 c914dc7bc..c3459ee28 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 e1d7435b0..1fa4963c1 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 cd3a857fd..2dcf9d669 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 d8ac440cf..aa3bc8ca8 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 2af0b3495..fb3a335b5 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 d14a9006e..6435a0d7a 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 311f910aa..dfd980d6a 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 e77f34afc..0ae2a8350 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 fa8505aa0..03bca14f1 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 f69e46b1b..e56a08412 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 21e9cf4d2..855ddf4b2 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 b3cb2ae4e..c2f3bcd67 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 4ea8af8ed..c10821348 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 c42ad2d38..768645e34 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 a3a8ef7d4..7a254a689 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 85fb4c811..14d006411 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 6d9530c88..af6769186 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 8580c10ff..075befa12 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 e048b74ec..9625de703 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 70e9387f0..a71949299 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 2cd8c3e6a..eb1e1b17e 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 92413a320..8fcec00fe 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 c8c916b5b..096d483e0 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 c2e53cabb..c2f96ae2b 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 ccaee1e47..a2d049bb3 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 1c4501485..62f3f419f 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 6449cbe9d..3122743c3 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 0a7961a31..d65953e87 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 c4bdd45b4..f807ba252 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 beae885f5..32c822833 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 f815a71f5..dba8d0421 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 a9d8b9825..990f4c190 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 ec83b561c..6141877b5 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 4822a5639..fa36e838f 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 2aac312bb..a4b4c1b79 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 0cc309762..b1f9b8fc6 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 f1d0616bb..13a4b9380 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 d34bb0a5e..65d068b74 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 b6627d57d..a39d1564a 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 d8aabcd36..8909f1994 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 38ee2aad7..caafe2291 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 b06f8237b..e3975ad9e 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 fd3320eab..dc60afadf 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 2975917f6..010a2237c 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 10a0fa812..24b4e08ee 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 740c359d3..ac5f52330 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 d0e9c25b9..dd21806a7 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 89837ebee..c8a0513c7 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 584c171fc..1cb70eb37 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 2244260fa..15aff6190 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 4303b1ac5..9a945d76c 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 276000567..4650c357e 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 4563a5da4..422632e80 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 f9f358abf..ff511f401 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 83b282019..53b68caf9 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 2308e831f..f67443f47 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 d10e7f75e..27354b58d 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 490183f73..a40764a32 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 7a536dfc9..6643da65d 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 7ffd5748e..a1e7f654f 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 ef42415f1..0dafb044a 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 ec2e4c818..5a6c52ba5 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 c3b6b5019..e2918e4bb 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 0c11ec0bd..249380afc 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 a30d39884..3c42e298d 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 c3cff89f9..3a2098e1e 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 1e0a81186..0f95d6cf5 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 c91bd20ac..a09c71134 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 38f563aa0..45425687a 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 01b6f0230..f4523b9af 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 428e988e3..d2efb019b 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 eea47783f..dedf8ce8f 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 92a20998b..35d2aa614 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 ec5daa537..1cce212b2 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 dfa637d26..323bd5e01 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 e19b585b6..b6f3fb3b3 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 72da60ce6..4007343fa 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 fd24809f3..e06bcef7a 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 98c28a86c..7f90efce2 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 2efdb8453..207e87585 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 dd02213bd..2bca77ac7 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 ccb73b470..e64f411e9 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 4d8111171..1b8309916 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 e7152981d..2626b69fa 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 09d3cf916..c27cbbc78 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 a43957223..ca9b1ab78 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 ba16519f4..8d52b1bb0 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 b47b2906a..8797d6d55 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 3ed7d37a4..93a371d41 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 077cbfe4f..8e26fa442 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 e5541472a..bfff5ac93 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 4c5524806..2ca95325b 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 a0ad64d78..4146385ec 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 11576b55f..c95379168 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 84804edc6..56a876802 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 cc31175c4..1ad84c659 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 0be18cdb8..ce40ec27b 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 dac2a2b33..c0780c55b 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 1c1b6e852..52e445972 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 74a99987d..baad82466 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 9bb5c03ab..7f90aa379 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 58813e18d..1d0099628 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 b19d31760..1502c79c1 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 a004a0e68..a9c65d14d 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 63827bb2d..1ea58556c 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 d6a8997ed..18e561052 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 ee9586443..a397f74ee 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 a382a2d6b..04c26899b 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 28b9d24b8..8e51a7fd8 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 e04445694..f5ffda634 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 cb784f209..5aba3d35e 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 fb4dc700a..697a1b3c4 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 b6289d448..d3c44cf0b 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 55bc619ab..1ac4af8f8 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 92edac2a6..620c61a24 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 efa02dc5d..a1cc85f9a 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 299e56517..891797eb9 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 b1f5f5598..7afe42f31 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 6f75dd075..c8b18272f 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 da86a8433..f6150509a 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 8fb4ec5f0..a75fb8782 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 2e4cdac50..376507ea1 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 c299ee088..874f22ea2 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 921fd22d6..56423191a 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 d52f342c5..6876df415 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 d874014a5..14bf5ed36 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 43c626922..e94862560 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 97bb0005e..6f35edc34 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 35ddf6030..bc63911fa 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 1a6ba1417..09b858714 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 5c894608a..4527a76d3 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 764259971..51ce6f35f 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 cab3a3d00..4a9ac3a33 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 e36abd846..9f8eb76e0 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 8e2835a32..3f73a4c07 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 10d7acf2a..fdc5d31ee 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 deac600fc..fa00eb9e0 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 4539ae6d8..def72f4f6 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]'); |