Changeset 197205 in webkit
- Timestamp:
- Feb 26, 2016 2:29:59 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 130 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r197201 r197205 1 2016-02-26 Mark Lam <mark.lam@apple.com> 2 3 Function.name and Function.length should be configurable. 4 https://bugs.webkit.org/show_bug.cgi?id=154604 5 6 Reviewed by Saam Barati. 7 8 * ietestcenter/Javascript/TestCases/15.2.3.3-4-187.js: 9 (ES5Harness.registerTest.test): 10 * ietestcenter/Javascript/TestCases/15.3.4.5-15-2.js: 11 (ES5Harness.registerTest.test): 12 * js/dom/function-name-expected.txt: 13 * js/dom/getOwnPropertyDescriptor-expected.txt: 14 * js/dom/script-tests/function-name.js: 15 * js/mozilla/strict/15.3.5.1-expected.txt: 16 * js/mozilla/strict/function-name-arity-expected.txt: 17 * js/mozilla/strict/script-tests/15.3.5.1.js: 18 * js/mozilla/strict/script-tests/function-name-arity.js: 19 * js/resources/getOwnPropertyDescriptor.js: 20 * sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.6/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A9.html: 21 * sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.6/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A9.html: 22 * sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.6/15.10.6.4_RegExp.prototype.toString/S15.10.6.4_A9.html: 23 * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.1_eval/S15.1.2.1_A4.2.html: 24 * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.2_parseInt/S15.1.2.2_A9.2.html: 25 * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.3_parseFloat/S15.1.2.3_A7.2.html: 26 * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.4_isNaN/S15.1.2.4_A2.2.html: 27 * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.5_isFinite/S15.1.2.5_A2.2.html: 28 * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.1_decodeURI/S15.1.3.1_A5.2.html: 29 * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.2_decodeURIComponent/S15.1.3.2_A5.2.html: 30 * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.3_encodeURI/S15.1.3.3_A5.2.html: 31 * sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.4_encodeURIComponent/S15.1.3.4_A5.2.html: 32 * sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.2_Object.prototype.toString/S15.2.4.2_A9.html: 33 * sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A9.html: 34 * sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A9.html: 35 * sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A9.html: 36 * sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A9.html: 37 * sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A9.html: 38 * sputnik/Conformance/15_Native_Objects/15.3_Function/15.3.4/15.3.4.2_Function.prototype.toString/S15.3.4.2_A9.html: 39 * sputnik/Conformance/15_Native_Objects/15.3_Function/15.3.4/15.3.4.3_Function.prototype.apply/S15.3.4.3_A9.html: 40 * sputnik/Conformance/15_Native_Objects/15.3_Function/15.3.4/15.3.4.4_Function.prototype.call/S15.3.4.4_A9.html: 41 * sputnik/Conformance/15_Native_Objects/15.3_Function/15.3.5/S15.3.5.1_A2_T1.html: 42 * sputnik/Conformance/15_Native_Objects/15.3_Function/15.3.5/S15.3.5.1_A2_T2.html: 43 * sputnik/Conformance/15_Native_Objects/15.3_Function/15.3.5/S15.3.5.1_A2_T3.html: 44 * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.10_Array_prototype_slice/S15.4.4.10_A5.2.html: 45 * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.11_Array_prototype_sort/S15.4.4.11_A7.2.html: 46 * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.12_Array_prototype_splice/S15.4.4.12_A5.2.html: 47 * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A5.2.html: 48 * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.2_Array_prototype_toString/S15.4.4.2_A4.2.html: 49 * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.3_Array_prototype_toLocaleString/S15.4.4.3_A4.2.html: 50 * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.4_Array_prototype_concat/S15.4.4.4_A4.2.html: 51 * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.5_Array_prototype_join/S15.4.4.5_A6.2.html: 52 * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.6_Array_prototype_pop/S15.4.4.6_A5.2.html: 53 * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.7_Array_prototype_push/S15.4.4.7_A6.2.html: 54 * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A5.2.html: 55 * sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.9_Array_prototype_shift/S15.4.4.9_A5.2.html: 56 * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.10_String.prototype.match/S15.5.4.10_A9.html: 57 * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.11_String.prototype.replace/S15.5.4.11_A9.html: 58 * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.12_String.prototype.search/S15.5.4.12_A9.html: 59 * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.13_String.prototype.slice/S15.5.4.13_A9.html: 60 * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.14_String.prototype.split/S15.5.4.14_A9.html: 61 * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.15_String.prototype.substring/S15.5.4.15_A9.html: 62 * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A9.html: 63 * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A9.html: 64 * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A9.html: 65 * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A9.html: 66 * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.4_String.prototype.charAt/S15.5.4.4_A9.html: 67 * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A9.html: 68 * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.6_String.prototype.concat/S15.5.4.6_A9.html: 69 * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A9.html: 70 * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A9.html: 71 * sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.9_String.prototype.localeCompare/S15.5.4.9_A9.html: 72 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.4/15.9.4.2_Date.parse/S15.9.4.2_A3_T2.html: 73 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.4/15.9.4.3_Date.UTC/S15.9.4.3_A3_T2.html: 74 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.10_Date.prototype.getFullYear/S15.9.5.10_A3_T2.html: 75 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.11_Date.prototype.getUTCFullYear/S15.9.5.11_A3_T2.html: 76 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.12_Date.prototype.getMonth/S15.9.5.12_A3_T2.html: 77 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.13_Date.prototype.getUTCMonth/S15.9.5.13_A3_T2.html: 78 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.14_Date.prototype.getDate/S15.9.5.14_A3_T2.html: 79 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.15_Date.prototype.getUTCDate/S15.9.5.15_A3_T2.html: 80 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.16_Date.prototype.getDay/S15.9.5.16_A3_T2.html: 81 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.17_Date.prototype.getUTCDay/S15.9.5.17_A3_T2.html: 82 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.18_Date.prototype.getHours/S15.9.5.18_A3_T2.html: 83 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.19_Date.prototype.getUTCHours/S15.9.5.19_A3_T2.html: 84 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.20_Date.prototype.getMinutes/S15.9.5.20_A3_T2.html: 85 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.21_Date.prototype.getUTCMinutes/S15.9.5.21_A3_T2.html: 86 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.22_Date.prototype.getSeconds/S15.9.5.22_A3_T2.html: 87 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.23_Date.prototype.getUTCSeconds/S15.9.5.23_A3_T2.html: 88 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.24_Date.prototype.getMilliseconds/S15.9.5.24_A3_T2.html: 89 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.25_Date.prototype.getUTCMilliseconds/S15.9.5.25_A3_T2.html: 90 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.26_Date.prototype.getTimezoneOffset/S15.9.5.26_A3_T2.html: 91 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.27_Date.prototype.setTime/S15.9.5.27_A3_T2.html: 92 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.28_Date.prototype.setMilliseconds/S15.9.5.28_A3_T2.html: 93 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.29_Date.prototype.setUTCMilliseconds/S15.9.5.29_A3_T2.html: 94 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.2_Date.prototype.toString/S15.9.5.2_A3_T2.html: 95 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.30_Date.prototype.setSeconds/S15.9.5.30_A3_T2.html: 96 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.31_Date.prototype.setUTCSeconds/S15.9.5.31_A3_T2.html: 97 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.32_Date.prototype.setMinutes/S15.9.5.32_A3_T2.html: 98 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.33_Date.prototype.setUTCMinutes/S15.9.5.33_A3_T2.html: 99 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.34_Date.prototype.setHours/S15.9.5.34_A3_T2.html: 100 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.35_Date.prototype.setUTCHours/S15.9.5.35_A3_T2.html: 101 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.36_Date.prototype.setDate/S15.9.5.36_A3_T2.html: 102 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.37_Date.prototype.setUTCDate/S15.9.5.37_A3_T2.html: 103 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.38_Date.prototype.setMonth/S15.9.5.38_A3_T2.html: 104 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.39_Date.prototype.setUTCMonth/S15.9.5.39_A3_T2.html: 105 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.3_Date.prototype.toDateString/S15.9.5.3_A3_T2.html: 106 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.40_Date.prototype.setFullYear/S15.9.5.40_A3_T2.html: 107 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.41_Date.prototype.setUTCFullYear/S15.9.5.41_A3_T2.html: 108 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.42_Date.prototype.toUTCString/S15.9.5.42_A3_T2.html: 109 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.4_Date.prototype.toTimeString/S15.9.5.4_A3_T2.html: 110 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.5_Date.prototype.toLocaleString/S15.9.5.5_A3_T2.html: 111 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.6_Date.prototype.toLocaleDateString/S15.9.5.6_A3_T2.html: 112 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.7_Date.prototype.toLocaleTimeString/S15.9.5.7_A3_T2.html: 113 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.8_Date.prototype.valueOf/S15.9.5.8_A3_T2.html: 114 * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.9_Date.prototype.getTime/S15.9.5.9_A3_T2.html: 115 1 116 2016-02-26 Chris Dumez <cdumez@apple.com> 2 117 -
trunk/LayoutTests/ietestcenter/Javascript/TestCases/15.2.3.3-4-187.js
r62810 r197205 34 34 if (desc.writable === false && 35 35 desc.enumerable === false && 36 desc.configurable === false &&36 desc.configurable === true && 37 37 desc.hasOwnProperty('get') === false && 38 38 desc.hasOwnProperty('set') === false) { -
trunk/LayoutTests/ietestcenter/Javascript/TestCases/15.3.4.5-15-2.js
r62810 r197205 36 36 desc.enumerable === false && 37 37 desc.writable === false && 38 desc.configurable == false) {38 desc.configurable == true) { 39 39 return true; 40 40 } -
trunk/LayoutTests/js/dom/function-name-expected.txt
r156066 r197205 5 5 6 6 PASS (function f() {}).name is 'f' 7 PASS delete (function f() {}).name is false7 PASS delete (function f() {}).name is true 8 8 PASS (function() {}).name is '' 9 9 PASS Math.name is undefined -
trunk/LayoutTests/js/dom/getOwnPropertyDescriptor-expected.txt
r196145 r197205 84 84 PASS Object.getOwnPropertyDescriptor(function(){}, 'length').hasOwnProperty('set') is false 85 85 PASS Object.getOwnPropertyDescriptor(function(){}, 'length').enumerable is false 86 PASS Object.getOwnPropertyDescriptor(function(){}, 'length').configurable is false86 PASS Object.getOwnPropertyDescriptor(function(){}, 'length').configurable is true 87 87 PASS Object.getOwnPropertyDescriptor(Math.sin, 'length').value is 1 88 88 PASS Object.getOwnPropertyDescriptor(Math.sin, 'length').hasOwnProperty('get') is false 89 89 PASS Object.getOwnPropertyDescriptor(Math.sin, 'length').hasOwnProperty('set') is false 90 90 PASS Object.getOwnPropertyDescriptor(Math.sin, 'length').enumerable is false 91 PASS Object.getOwnPropertyDescriptor(Math.sin, 'length').configurable is false91 PASS Object.getOwnPropertyDescriptor(Math.sin, 'length').configurable is true 92 92 PASS Object.getOwnPropertyDescriptor(Math.sin, 'name').value is 'sin' 93 93 PASS Object.getOwnPropertyDescriptor(Math.sin, 'name').hasOwnProperty('get') is false 94 94 PASS Object.getOwnPropertyDescriptor(Math.sin, 'name').hasOwnProperty('set') is false 95 95 PASS Object.getOwnPropertyDescriptor(Math.sin, 'name').enumerable is false 96 PASS Object.getOwnPropertyDescriptor(Math.sin, 'name').configurable is false96 PASS Object.getOwnPropertyDescriptor(Math.sin, 'name').configurable is true 97 97 PASS Object.getOwnPropertyDescriptor(global, 'global').value is global 98 98 PASS Object.getOwnPropertyDescriptor(global, 'global').hasOwnProperty('get') is false -
trunk/LayoutTests/js/dom/script-tests/function-name.js
r156066 r197205 4 4 5 5 shouldBe("(function f() {}).name", "'f'"); 6 shouldBe("delete (function f() {}).name", " false");6 shouldBe("delete (function f() {}).name", "true"); 7 7 shouldBe("(function() {}).name", "''"); 8 8 shouldBe("Math.name", "undefined"); -
trunk/LayoutTests/js/mozilla/strict/15.3.5.1-expected.txt
r109949 r197205 2 2 PASS var f = fn(); f.length = 1; f.length is 3 3 3 PASS true === true 4 PASS 'use strict'; var f = fn(); delete f.length threw exception of type TypeError.5 PASS var f = fn(); delete f.length is false4 PASS 'use strict'; var f = fn(); delete f.length is true 5 PASS var f = fn(); delete f.length is true 6 6 PASS true === true 7 7 PASSED! -
trunk/LayoutTests/js/mozilla/strict/function-name-arity-expected.txt
r109489 r197205 2 2 PASS var f = fn(); f.name = "g"; f.name is "f" 3 3 PASS true === true 4 PASS 'use strict'; var f = fn(); delete f.name threw exception of type TypeError.5 PASS var f = fn(); delete f.name is false4 PASS 'use strict'; var f = fn(); delete f.name is true 5 PASS var f = fn(); delete f.name is true 6 6 PASS true === true 7 7 PASS 'use strict'; var f = fn(); f.arity = 4; f.arity is 4 -
trunk/LayoutTests/js/mozilla/strict/script-tests/15.3.5.1.js
r78731 r197205 14 14 true); 15 15 assertEq(testLenientAndStrict('var f = fn(); delete f.length', 16 returns( false), raisesException(TypeError)),16 returns(true), returns(true)), 17 17 true); 18 18 -
trunk/LayoutTests/js/mozilla/strict/script-tests/function-name-arity.js
r109489 r197205 14 14 true); 15 15 assertEq(testLenientAndStrict('var f = fn(); delete f.name', 16 returns( false), raisesException(TypeError)),16 returns(true), returns(true)), 17 17 true); 18 18 -
trunk/LayoutTests/js/resources/getOwnPropertyDescriptor.js
r196145 r197205 34 34 descriptorShouldBe("/(a)*/g.exec('a')", "0", {writable: true, enumerable: true, configurable: true, value:"'a'"}); 35 35 descriptorShouldBe("/(a)*/g.exec('a')", "'length'", {writable: true, enumerable: false, configurable: false, value:2}); 36 descriptorShouldBe("function(){}", "'length'", {writable: false, enumerable: false, configurable: false, value:0});37 descriptorShouldBe("Math.sin", "'length'", {writable: false, enumerable: false, configurable: false, value:1});38 descriptorShouldBe("Math.sin", "'name'", {writable: false, enumerable: false, configurable: false, value:"'sin'"});36 descriptorShouldBe("function(){}", "'length'", {writable: false, enumerable: false, configurable: true, value:0}); 37 descriptorShouldBe("Math.sin", "'length'", {writable: false, enumerable: false, configurable: true, value:1}); 38 descriptorShouldBe("Math.sin", "'name'", {writable: false, enumerable: false, configurable: true, value:"'sin'"}); 39 39 var global = this; 40 40 descriptorShouldBe("global", "'global'", {writable: true, enumerable: true, configurable: false, value:"global"}); -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.6/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A9.html
r120489 r197205 69 69 * @name: S15.10.6.2_A9; 70 70 * @section: 15.10.6.2; 71 * @assertion: The RegExp.prototype.exec.length property has the attribute DontDelete;72 * @description: Checking if deleting the RegExp.prototype.exec.length property fails;71 * @assertion: The RegExp.prototype.exec.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the RegExp.prototype.exec.length property succeeds; 73 73 */ 74 74 … … 79 79 80 80 //CHECK#1 81 if (delete RegExp.prototype.exec.length !== false) {82 testFailed('#1: delete RegExp.prototype.exec.length === false');81 if (delete RegExp.prototype.exec.length !== true) { 82 testFailed('#1: delete RegExp.prototype.exec.length === true'); 83 83 } 84 84 85 85 //CHECK#2 86 if (RegExp.prototype.exec.hasOwnProperty('length') !== true) {87 testFailed('#2: delete RegExp.prototype.exec.length; RegExp.prototype.exec.hasOwnProperty(\'length\') === true');86 if (RegExp.prototype.exec.hasOwnProperty('length') !== false) { 87 testFailed('#2: delete RegExp.prototype.exec.length; RegExp.prototype.exec.hasOwnProperty(\'length\') === false'); 88 88 } 89 89 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.6/15.10.6.3_RegExp.prototype.test/S15.10.6.3_A9.html
r120489 r197205 69 69 * @name: S15.10.6.3_A9; 70 70 * @section: 15.10.6.3; 71 * @assertion: The RegExp.prototype.test.length property has the attribute DontDelete;72 * @description: Checking if deleting RegExp.prototype.test.length property fails;71 * @assertion: The RegExp.prototype.test.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting RegExp.prototype.test.length property succeeds; 73 73 */ 74 74 … … 79 79 80 80 //CHECK#1 81 if (delete RegExp.prototype.exec.length !== false) {82 testFailed('#1: delete RegExp.prototype.exec.length === false');81 if (delete RegExp.prototype.exec.length !== true) { 82 testFailed('#1: delete RegExp.prototype.exec.length === true'); 83 83 } 84 84 85 85 //CHECK#2 86 if (RegExp.prototype.exec.hasOwnProperty('length') !== true) {87 testFailed('#2: delete RegExp.prototype.exec.length; RegExp.prototype.exec.hasOwnProperty(\'length\') === true');86 if (RegExp.prototype.exec.hasOwnProperty('length') !== false) { 87 testFailed('#2: delete RegExp.prototype.exec.length; RegExp.prototype.exec.hasOwnProperty(\'length\') === false'); 88 88 } 89 89 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.10_RegExp/15.10.6/15.10.6.4_RegExp.prototype.toString/S15.10.6.4_A9.html
r120489 r197205 69 69 * @name: S15.10.6.4_A9; 70 70 * @section: 15.10.6.4; 71 * @assertion: The RegExp.prototype.toString.length property has the attribute DontDelete;72 * @description: Checking if deleting the RegExp.prototype.toString.length property fails;71 * @assertion: The RegExp.prototype.toString.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the RegExp.prototype.toString.length property succeeds; 73 73 */ 74 74 … … 79 79 80 80 //CHECK#1 81 if (delete RegExp.prototype.toString.length !== false) {82 testFailed('#1: delete RegExp.prototype.toString.length === false');81 if (delete RegExp.prototype.toString.length !== true) { 82 testFailed('#1: delete RegExp.prototype.toString.length === true'); 83 83 } 84 84 85 85 //CHECK#2 86 if (RegExp.prototype.toString.hasOwnProperty('length') !== true) {87 testFailed('#2: delete RegExp.prototype.toString.length; RegExp.prototype.toString.hasOwnProperty(\'length\') === true');86 if (RegExp.prototype.toString.hasOwnProperty('length') !== false) { 87 testFailed('#2: delete RegExp.prototype.toString.length; RegExp.prototype.toString.hasOwnProperty(\'length\') === false'); 88 88 } 89 89 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.1_eval/S15.1.2.1_A4.2.html
r120489 r197205 69 69 * @name: S15.1.2.1_A4.2; 70 70 * @section: 15.1.2.1, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of eval has the attribute DontDelete;71 * @assertion: The length property of eval has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (eval.hasOwnProperty('length') !== true) {84 testFailed('#2: delete eval.length; eval.hasOwnProperty(\'length\') === true. Actual: ' + (eval.hasOwnProperty('length')));83 if (eval.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete eval.length; eval.hasOwnProperty(\'length\') === false. Actual: ' + (eval.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (eval.length === undefined) {89 testFailed('#3: delete eval.length; eval.length !== undefined');88 if (eval.length !== 0) { 89 testFailed('#3: delete eval.length; eval.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.2_parseInt/S15.1.2.2_A9.2.html
r120489 r197205 69 69 * @name: S15.1.2.2_A9.2; 70 70 * @section: 15.1.2.2, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of parseInt has the attribute DontDelete;71 * @assertion: The length property of parseInt has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (parseInt.hasOwnProperty('length') !== true) {84 testFailed('#2: delete parseInt.length; parseInt.hasOwnProperty(\'length\') === true. Actual: ' + (parseInt.hasOwnProperty('length')));83 if (parseInt.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete parseInt.length; parseInt.hasOwnProperty(\'length\') === false. Actual: ' + (parseInt.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (parseInt.length === undefined) {89 testFailed('#3: delete parseInt.length; parseInt.length !== undefined');88 if (parseInt.length !== 0) { 89 testFailed('#3: delete parseInt.length; parseInt.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.3_parseFloat/S15.1.2.3_A7.2.html
r120489 r197205 69 69 * @name: S15.1.2.3_A7.2; 70 70 * @section: 15.1.2.3, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of parseFloat has the attribute DontDelete;71 * @assertion: The length property of parseFloat has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (parseFloat.hasOwnProperty('length') !== true) {84 testFailed('#2: delete parseFloat.length; parseFloat.hasOwnProperty(\'length\') === true. Actual: ' + (parseFloat.hasOwnProperty('length')));83 if (parseFloat.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete parseFloat.length; parseFloat.hasOwnProperty(\'length\') === false. Actual: ' + (parseFloat.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (parseFloat.length === undefined) {89 testFailed('#3: delete parseFloat.length; parseFloat.length !== undefined');88 if (parseFloat.length !== 0) { 89 testFailed('#3: delete parseFloat.length; parseFloat.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.4_isNaN/S15.1.2.4_A2.2.html
r120489 r197205 69 69 * @name: S15.1.2.4_A2.2; 70 70 * @section: 15.1.2.4, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of isNaN has the attribute DontDelete;71 * @assertion: The length property of isNaN has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (isNaN.hasOwnProperty('length') !== true) {84 testFailed('#2: delete isNaN.length; isNaN.hasOwnProperty(\'length\') === true. Actual: ' + (isNaN.hasOwnProperty('length')));83 if (isNaN.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete isNaN.length; isNaN.hasOwnProperty(\'length\') === false. Actual: ' + (isNaN.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (isNaN.length === undefined) {89 testFailed('#3: delete isNaN.length; isNaN.length !== undefined');88 if (isNaN.length !== 0) { 89 testFailed('#3: delete isNaN.length; isNaN.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.2/15.1.2.5_isFinite/S15.1.2.5_A2.2.html
r120489 r197205 69 69 * @name: S15.1.2.5_A2.2; 70 70 * @section: 15.1.2.5, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of isFinite has the attribute DontDelete;71 * @assertion: The length property of isFinite has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (isFinite.hasOwnProperty('length') !== true) {84 testFailed('#2: delete isFinite.length; isFinite.hasOwnProperty(\'length\') === true. Actual: ' + (isFinite.hasOwnProperty('length')));83 if (isFinite.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete isFinite.length; isFinite.hasOwnProperty(\'length\') === false. Actual: ' + (isFinite.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (isFinite.length === undefined) {89 testFailed('#3: delete isFinite.length; isFinite.length !== undefined');88 if (isFinite.length !== 0) { 89 testFailed('#3: delete isFinite.length; isFinite.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.1_decodeURI/S15.1.3.1_A5.2.html
r120489 r197205 69 69 * @name: S15.1.3.1_A5.2; 70 70 * @section: 15.1.3.1, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of decodeURI has the attribute DontDelete;71 * @assertion: The length property of decodeURI has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (decodeURI.hasOwnProperty('length') !== true) {84 testFailed('#2: delete decodeURI.length; decodeURI.hasOwnProperty(\'length\') === true. Actual: ' + (decodeURI.hasOwnProperty('length')));83 if (decodeURI.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete decodeURI.length; decodeURI.hasOwnProperty(\'length\') === false. Actual: ' + (decodeURI.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (decodeURI.length === undefined) {89 testFailed('#3: delete decodeURI.length; decodeURI.length !== undefined');88 if (decodeURI.length !== 0) { 89 testFailed('#3: delete decodeURI.length; decodeURI.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.2_decodeURIComponent/S15.1.3.2_A5.2.html
r120489 r197205 69 69 * @name: S15.1.3.2_A5.2; 70 70 * @section: 15.1.3.2, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of decodeURIComponent has the attribute DontDelete;71 * @assertion: The length property of decodeURIComponent has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (decodeURIComponent.hasOwnProperty('length') !== true) {84 testFailed('#2: delete decodeURIComponent.length; decodeURIComponent.hasOwnProperty(\'length\') === true. Actual: ' + (decodeURIComponent.hasOwnProperty('length')));83 if (decodeURIComponent.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete decodeURIComponent.length; decodeURIComponent.hasOwnProperty(\'length\') === false. Actual: ' + (decodeURIComponent.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (decodeURIComponent.length === undefined) {89 testFailed('#3: delete decodeURIComponent.length; decodeURIComponent.length !== undefined');88 if (decodeURIComponent.length !== 0) { 89 testFailed('#3: delete decodeURIComponent.length; decodeURIComponent.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.3_encodeURI/S15.1.3.3_A5.2.html
r120489 r197205 69 69 * @name: S15.1.3.3_A5.2; 70 70 * @section: 15.1.3.3, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of encodeURI has the attribute DontDelete;71 * @assertion: The length property of encodeURI has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (encodeURI.hasOwnProperty('length') !== true) {84 testFailed('#2: delete encodeURI.length; encodeURI.hasOwnProperty(\'length\') === true. Actual: ' + (encodeURI.hasOwnProperty('length')));83 if (encodeURI.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete encodeURI.length; encodeURI.hasOwnProperty(\'length\') === false. Actual: ' + (encodeURI.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (encodeURI.length === undefined) {89 testFailed('#3: delete encodeURI.length; encodeURI.length !== undefined');88 if (encodeURI.length !== 0) { 89 testFailed('#3: delete encodeURI.length; encodeURI.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.4_encodeURIComponent/S15.1.3.4_A5.2.html
r120489 r197205 69 69 * @name: S15.1.3.4_A5.2; 70 70 * @section: 15.1.3.4, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of encodeURIComponent has the attribute DontDelete;71 * @assertion: The length property of encodeURIComponent has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (encodeURIComponent.hasOwnProperty('length') !== true) {84 testFailed('#2: delete encodeURIComponent.length; encodeURIComponent.hasOwnProperty(\'length\') === true. Actual: ' + (encodeURIComponent.hasOwnProperty('length')));83 if (encodeURIComponent.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete encodeURIComponent.length; encodeURIComponent.hasOwnProperty(\'length\') === false. Actual: ' + (encodeURIComponent.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (encodeURIComponent.length === undefined) {89 testFailed('#3: delete encodeURIComponent.length; encodeURIComponent.length !== undefined');88 if (encodeURIComponent.length !== 0) { 89 testFailed('#3: delete encodeURIComponent.length; encodeURIComponent.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.2_Object.prototype.toString/S15.2.4.2_A9.html
r120489 r197205 69 69 * @name: S15.2.4.2_A9; 70 70 * @section: 15.2.4.2; 71 * @assertion: The Object.prototype.toString.length property has the attribute DontDelete;72 * @description: Checknig if deleting of the Object.prototype.toString.length property fails;71 * @assertion: The Object.prototype.toString.length property has the attribute [[Configurable]]:true; 72 * @description: Checknig if deleting of the Object.prototype.toString.length property succeeds; 73 73 */ 74 74 … … 79 79 80 80 //CHECK#1 81 if ( delete Object.prototype.toString.length) {82 testFailed('#1: The Object.prototype.toString.length property has the attribute s DontDelete');81 if (!(delete Object.prototype.toString.length)) { 82 testFailed('#1: The Object.prototype.toString.length property has the attribute [[Configurable]]:true'); 83 83 } 84 84 85 85 //CHECK#2 86 if ( !(Object.prototype.toString.hasOwnProperty('length'))) {87 testFailed('#2: The Object.prototype.toString.length property has the attribute s DontDelete');86 if (Object.prototype.toString.hasOwnProperty('length')) { 87 testFailed('#2: The Object.prototype.toString.length property has the attribute [[Configurable]]:true'); 88 88 } 89 89 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.3_Object.prototype.toLocaleString/S15.2.4.3_A9.html
r120489 r197205 69 69 * @name: S15.2.4.3_A9; 70 70 * @section: 15.2.4.3; 71 * @assertion: The Object.prototype.toLocaleString.length property has the attribute DontDelete;72 * @description: Checknig if deleting of the Object.prototype.toLocaleString.length property fails;71 * @assertion: The Object.prototype.toLocaleString.length property has the attribute [[Configurable]]:true; 72 * @description: Checknig if deleting of the Object.prototype.toLocaleString.length property succeeds; 73 73 */ 74 74 … … 79 79 80 80 //CHECK#1 81 if ( delete Object.prototype.toLocaleString.length) {82 testFailed('#1: The Object.prototype.toLocaleString.length property has the attribute s DontDelete');81 if (!(delete Object.prototype.toLocaleString.length)) { 82 testFailed('#1: The Object.prototype.toLocaleString.length property has the attribute [[Configurable]]:true'); 83 83 } 84 84 85 85 //CHECK#2 86 if ( !(Object.prototype.toLocaleString.hasOwnProperty('length'))) {87 testFailed('#2: The Object.prototype.toLocaleString.length property has the attribute s DontDelete');86 if (Object.prototype.toLocaleString.hasOwnProperty('length')) { 87 testFailed('#2: The Object.prototype.toLocaleString.length property has the attribute [[Configurable]]:true'); 88 88 } 89 89 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.4_Object.prototype.valueOf/S15.2.4.4_A9.html
r120489 r197205 69 69 * @name: S15.2.4.4_A9; 70 70 * @section: 15.2.4.4; 71 * @assertion: The Object.prototype.valueOf.length property has the attribute DontDelete;72 * @description: Checknig if deleting of the Object.prototype.valueOf.length property fails;71 * @assertion: The Object.prototype.valueOf.length property has the attribute [[Configurable]]:true; 72 * @description: Checknig if deleting of the Object.prototype.valueOf.length property succeeds; 73 73 */ 74 74 … … 79 79 80 80 //CHECK#1 81 if ( delete Object.prototype.valueOf.length) {82 testFailed('#1: The Object.prototype.valueOf.length property has the attribute s DontDelete');81 if (!(delete Object.prototype.valueOf.length)) { 82 testFailed('#1: The Object.prototype.valueOf.length property has the attribute [[Configurable]]:true'); 83 83 } 84 84 85 85 //CHECK#2 86 if ( !(Object.prototype.valueOf.hasOwnProperty('length'))) {87 testFailed('#2: The Object.prototype.valueOf.length property has the attribute s DontDelete');86 if (Object.prototype.valueOf.hasOwnProperty('length')) { 87 testFailed('#2: The Object.prototype.valueOf.length property has the attribute [[Configurable]]:true'); 88 88 } 89 89 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.5_Object.prototype.hasOwnProperty/S15.2.4.5_A9.html
r120489 r197205 69 69 * @name: S15.2.4.5_A9; 70 70 * @section: 15.2.4.5; 71 * @assertion: The Object.prototype.hasOwnProperty.length property has the attribute DontDelete;72 * @description: Checking if deleting the Object.prototype.hasOwnProperty.length property fails;71 * @assertion: The Object.prototype.hasOwnProperty.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the Object.prototype.hasOwnProperty.length property succeeds; 73 73 */ 74 74 … … 79 79 80 80 //CHECK#1 81 if ( delete Object.prototype.hasOwnProperty.length) {82 testFailed('#1: The Object.prototype.hasOwnProperty.length property has the attribute s DontDelete');81 if (!(delete Object.prototype.hasOwnProperty.length)) { 82 testFailed('#1: The Object.prototype.hasOwnProperty.length property has the attribute [[Configurable]]:true'); 83 83 } 84 84 85 85 //CHECK#2 86 if ( !(Object.prototype.hasOwnProperty.hasOwnProperty('length'))) {87 testFailed('#2: The Object.prototype.hasOwnProperty.length property has the attribute s DontDelete');86 if (Object.prototype.hasOwnProperty.hasOwnProperty('length')) { 87 testFailed('#2: The Object.prototype.hasOwnProperty.length property has the attribute [[Configurable]]:true'); 88 88 } 89 89 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.6_Object.prototype.isPrototypeOf/S15.2.4.6_A9.html
r120489 r197205 69 69 * @name: S15.2.4.6_A9; 70 70 * @section: 15.2.4.6; 71 * @assertion: The Object.prototype.isPrototypeOf.length property has the attribute DontDelete;72 * @description: Checking deleting the Object.prototype.isPrototypeOf.length property fails;71 * @assertion: The Object.prototype.isPrototypeOf.length property has the attribute [[Configurable]]:true; 72 * @description: Checking deleting the Object.prototype.isPrototypeOf.length property succeeds; 73 73 */ 74 74 … … 79 79 80 80 //CHECK#1 81 if ( delete Object.prototype.isPrototypeOf.length) {82 testFailed('#1: The Object.prototype.isPrototypeOf.length property has the attribute s DontDelete');81 if (!(delete Object.prototype.isPrototypeOf.length)) { 82 testFailed('#1: The Object.prototype.isPrototypeOf.length property has the attribute [[Configurable]]:true'); 83 83 } 84 84 // -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.2_Object/15.2.4/15.2.4.7_Object.prototype.propertyIsEnumerable/S15.2.4.7_A9.html
r120489 r197205 69 69 * @name: S15.2.4.7_A9; 70 70 * @section: 15.2.4.7; 71 * @assertion: The Object.prototype.propertyIsEnumerable.length property has the attribute DontDelete;72 * @description: Checking if deleting the Object.prototype.propertyIsEnumerable.length property fails;71 * @assertion: The Object.prototype.propertyIsEnumerable.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the Object.prototype.propertyIsEnumerable.length property succeeds; 73 73 */ 74 74 … … 79 79 80 80 //CHECK#1 81 if ( delete Object.prototype.propertyIsEnumerable.length) {82 testFailed('#1: The Object.prototype.propertyIsEnumerable.length property has the attribute s DontDelete');81 if (!(delete Object.prototype.propertyIsEnumerable.length)) { 82 testFailed('#1: The Object.prototype.propertyIsEnumerable.length property has the attribute [[Configurable]]:true'); 83 83 } 84 84 // -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.3_Function/15.3.4/15.3.4.2_Function.prototype.toString/S15.3.4.2_A9.html
r120489 r197205 69 69 * @name: S15.3.4.2_A9; 70 70 * @section: 15.3.4.2; 71 * @assertion: The Function.prototype.toString.length property has the attribute DontDelete;72 * @description: Checking if deleting the Function.prototype.toString.length property fails;71 * @assertion: The Function.prototype.toString.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the Function.prototype.toString.length property succeeds; 73 73 */ 74 74 … … 79 79 80 80 //CHECK#1 81 if ( delete Function.prototype.toString.length) {82 testFailed('#1: The Function.prototype.toString.length property has the attribute s DontDelete');81 if (!(delete Function.prototype.toString.length)) { 82 testFailed('#1: The Function.prototype.toString.length property has the attribute [[Configurable]]:true'); 83 83 } 84 84 85 85 //CHECK#2 86 if ( !(Function.prototype.toString.hasOwnProperty('length'))) {87 testFailed('#2: The Function.prototype.toString.length property has the attribute s DontDelete');86 if (Function.prototype.toString.hasOwnProperty('length')) { 87 testFailed('#2: The Function.prototype.toString.length property has the attribute [[Configurable]]:true'); 88 88 } 89 89 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.3_Function/15.3.4/15.3.4.3_Function.prototype.apply/S15.3.4.3_A9.html
r120489 r197205 69 69 * @name: S15.3.4.3_A9; 70 70 * @section: 15.3.4.3; 71 * @assertion: The Function.prototype.apply.length property has the attribute DontDelete;72 * @description: Checking if deleting the Function.prototype.apply.length property fails;71 * @assertion: The Function.prototype.apply.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the Function.prototype.apply.length property succeeds; 73 73 */ 74 74 … … 79 79 80 80 //CHECK#1 81 if ( delete Function.prototype.apply.length) {82 testFailed('#1: The Function.prototype.apply.length property has the attribute s DontDelete');81 if (!(delete Function.prototype.apply.length)) { 82 testFailed('#1: The Function.prototype.apply.length property has the attribute [[Configurable]]:true'); 83 83 } 84 84 85 85 //CHECK#2 86 if ( !(Function.prototype.apply.hasOwnProperty('length'))) {87 testFailed('#2: The Function.prototype.apply.length property has the attribute s DontDelete');86 if (Function.prototype.apply.hasOwnProperty('length')) { 87 testFailed('#2: The Function.prototype.apply.length property has the attribute [[Configurable]]:true'); 88 88 } 89 89 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.3_Function/15.3.4/15.3.4.4_Function.prototype.call/S15.3.4.4_A9.html
r120489 r197205 69 69 * @name: S15.3.4.4_A9; 70 70 * @section: 15.3.4.4; 71 * @assertion: The Function.prototype.call.length property has the attribute DontDelete;72 * @description: Checking if deleting the Function.prototype.call.length property fails;71 * @assertion: The Function.prototype.call.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the Function.prototype.call.length property succeeds; 73 73 */ 74 74 … … 79 79 80 80 //CHECK#1 81 if ( delete Function.prototype.call.length) {82 testFailed('#1: The Function.prototype.call.length property has the attribute s DontDelete');81 if (!(delete Function.prototype.call.length)) { 82 testFailed('#1: The Function.prototype.call.length property has the attribute [[Configurable]]:true'); 83 83 } 84 84 85 85 //CHECK#2 86 if ( !(Function.prototype.call.hasOwnProperty('length'))) {87 testFailed('#2: The Function.prototype.call.length property has the attribute s DontDelete');86 if (Function.prototype.call.hasOwnProperty('length')) { 87 testFailed('#2: The Function.prototype.call.length property has the attribute [[Configurable]]:true'); 88 88 } 89 89 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.3_Function/15.3.5/S15.3.5.1_A2_T1.html
r120489 r197205 69 69 * @name: S15.3.5.1_A2_T1; 70 70 * @section: 15.3.5.1; 71 * @assertion: the length property has the attribute s { DontDelete };72 * @description: Checking if deleting the length property of Function("arg1,arg2,arg3", null) fails;71 * @assertion: the length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the length property of Function("arg1,arg2,arg3", null) succeeds; 73 73 */ 74 74 … … 81 81 82 82 //CHECK#2 83 if( delete f.length){84 testFailed('#2: the function.length property has the attribute s DontDelete.');83 if(!(delete f.length)) { 84 testFailed('#2: the function.length property has the attribute [[Configurable]]:true.'); 85 85 } 86 86 87 87 //CHECK#3 88 if ( !(f.hasOwnProperty('length'))) {89 testFailed('#3: the function.length property has the attribute s DontDelete.');88 if (f.hasOwnProperty('length')) { 89 testFailed('#3: the function.length property has the attribute [[Configurable]]:true.'); 90 90 } 91 91 92 92 //CHECK#4 93 if (f.length !== 3) {94 testFailed('#4: the length property has the attribute s { DontDelete }');93 if (f.length !== 0) { 94 testFailed('#4: the length property has the attribute [[Configurable]]:true.'); 95 95 } 96 96 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.3_Function/15.3.5/S15.3.5.1_A2_T2.html
r120489 r197205 69 69 * @name: S15.3.5.1_A2_T2; 70 70 * @section: 15.3.5.1; 71 * @assertion: the length property has the attribute s { DontDelete };72 * @description: Checking if deleting the length property of Function("arg1,arg2,arg3","arg4,arg5", null) fails;71 * @assertion: the length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the length property of Function("arg1,arg2,arg3","arg4,arg5", null) succeeds; 73 73 */ 74 74 … … 83 83 84 84 //CHECK#2 85 if ( !(f.hasOwnProperty('length'))) {86 testFailed('#2: the function.length property has the attribute s DontDelete.');85 if (f.hasOwnProperty('length')) { 86 testFailed('#2: the function.length property has the attribute [[Configurable]]:true.'); 87 87 } 88 88 89 89 //CHECK#3 90 if (f.length !== 5) {91 testFailed('#3: the length property has the attribute s { DontDelete }');90 if (f.length !== 0) { 91 testFailed('#3: the length property has the attribute [[Configurable]]:true'); 92 92 } 93 93 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.3_Function/15.3.5/S15.3.5.1_A2_T3.html
r120489 r197205 69 69 * @name: S15.3.5.1_A2_T3; 70 70 * @section: 15.3.5.1; 71 * @assertion: the length property has the attribute s { DontDelete };72 * @description: Checking if deleting the length property of Function("arg1,arg2,arg3","arg1,arg2","arg3", null) fails;71 * @assertion: the length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the length property of Function("arg1,arg2,arg3","arg1,arg2","arg3", null) succeeds; 73 73 */ 74 74 … … 83 83 84 84 //CHECK#2 85 if ( !(f.hasOwnProperty('length'))) {86 testFailed('#2: the function.length property has the attribute s DontDelete.');85 if (f.hasOwnProperty('length')) { 86 testFailed('#2: the function.length property has the attribute [[Configurable]]:true.'); 87 87 } 88 88 89 89 //CHECK#3 90 if (f.length !== 6) {91 testFailed('#3: the length property has the attribute s { DontDelete }');90 if (f.length !== 0) { 91 testFailed('#3: the length property has the attribute [[Configurable]]:true'); 92 92 } 93 93 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.10_Array_prototype_slice/S15.4.4.10_A5.2.html
r120489 r197205 69 69 * @name: S15.4.4.10_A5.2; 70 70 * @section: 15.4.4.10, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of slice has the attribute DontDelete;71 * @assertion: The length property of slice has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (Array.prototype.slice.hasOwnProperty('length') !== true) {84 testFailed('#2: delete Array.prototype.slice.length; Array.prototype.slice.hasOwnProperty(\'length\') === true. Actual: ' + (Array.prototype.slice.hasOwnProperty('length')));83 if (Array.prototype.slice.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete Array.prototype.slice.length; Array.prototype.slice.hasOwnProperty(\'length\') === false. Actual: ' + (Array.prototype.slice.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (Array.prototype.slice.length === undefined) {89 testFailed('#3: delete Array.prototype.slice.length; Array.prototype.slice.length !== undefined');88 if (Array.prototype.slice.length !== 0) { 89 testFailed('#3: delete Array.prototype.slice.length; Array.prototype.slice.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.11_Array_prototype_sort/S15.4.4.11_A7.2.html
r120489 r197205 69 69 * @name: S15.4.4.11_A7.2; 70 70 * @section: 15.4.4.11, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of sort has the attribute DontDelete;71 * @assertion: The length property of sort has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (Array.prototype.sort.hasOwnProperty('length') !== true) {84 testFailed('#2: delete Array.prototype.sort.length; Array.prototype.sort.hasOwnProperty(\'length\') === true. Actual: ' + (Array.prototype.sort.hasOwnProperty('length')));83 if (Array.prototype.sort.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete Array.prototype.sort.length; Array.prototype.sort.hasOwnProperty(\'length\') === false. Actual: ' + (Array.prototype.sort.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (Array.prototype.sort.length === undefined) {89 testFailed('#3: delete Array.prototype.sort.length; Array.prototype.sort.length !== undefined');88 if (Array.prototype.sort.length !== 0) { 89 testFailed('#3: delete Array.prototype.sort.length; Array.prototype.sort.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.12_Array_prototype_splice/S15.4.4.12_A5.2.html
r120489 r197205 69 69 * @name: S15.4.4.12_A5.2; 70 70 * @section: 15.4.4.12, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of splice has the attribute DontDelete;71 * @assertion: The length property of splice has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (Array.prototype.splice.hasOwnProperty('length') !== true) {84 testFailed('#2: delete Array.prototype.splice.length; Array.prototype.splice.hasOwnProperty(\'length\') === true. Actual: ' + (Array.prototype.splice.hasOwnProperty('length')));83 if (Array.prototype.splice.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete Array.prototype.splice.length; Array.prototype.splice.hasOwnProperty(\'length\') === false. Actual: ' + (Array.prototype.splice.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (Array.prototype.splice.length === undefined) {89 testFailed('#3: delete Array.prototype.splice.length; Array.prototype.splice.length !== undefined');88 if (Array.prototype.splice.length !== 0) { 89 testFailed('#3: delete Array.prototype.splice.length; Array.prototype.splice.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.13_Array_prototype_unshift/S15.4.4.13_A5.2.html
r120489 r197205 69 69 * @name: S15.4.4.13_A5.2; 70 70 * @section: 15.4.4.13, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of unshift has the attribute DontDelete;71 * @assertion: The length property of unshift has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (Array.prototype.unshift.hasOwnProperty('length') !== true) {84 testFailed('#2: delete Array.prototype.unshift.length; Array.prototype.unshift.hasOwnProperty(\'length\') === true. Actual: ' + (Array.prototype.unshift.hasOwnProperty('length')));83 if (Array.prototype.unshift.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete Array.prototype.unshift.length; Array.prototype.unshift.hasOwnProperty(\'length\') === false. Actual: ' + (Array.prototype.unshift.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (Array.prototype.unshift.length === undefined) {89 testFailed('#3: delete Array.prototype.unshift.length; Array.prototype.unshift.length !== undefined');88 if (Array.prototype.unshift.length !== 0) { 89 testFailed('#3: delete Array.prototype.unshift.length; Array.prototype.unshift.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.2_Array_prototype_toString/S15.4.4.2_A4.2.html
r120489 r197205 69 69 * @name: S15.4.4.2_A4.2; 70 70 * @section: 15.4.4.2, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of toString has the attribute DontDelete;71 * @assertion: The length property of toString has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (Array.prototype.toString.hasOwnProperty('length') !== true) {84 testFailed('#2: delete Array.prototype.toString.length; Array.prototype.toString.hasOwnProperty(\'length\') === true. Actual: ' + (Array.prototype.toString.hasOwnProperty('length')));83 if (Array.prototype.toString.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete Array.prototype.toString.length; Array.prototype.toString.hasOwnProperty(\'length\') === false. Actual: ' + (Array.prototype.toString.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (Array.prototype.toString.length === undefined) {89 testFailed('#3: delete Array.prototype.toString.length; Array.prototype.toString.length !== undefined');88 if (Array.prototype.toString.length !== 0) { 89 testFailed('#3: delete Array.prototype.toString.length; Array.prototype.toString.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.3_Array_prototype_toLocaleString/S15.4.4.3_A4.2.html
r120489 r197205 69 69 * @name: S15.4.4.3_A4.2; 70 70 * @section: 15.4.4.3, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of toLocaleString has the attribute DontDelete;71 * @assertion: The length property of toLocaleString has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (Array.prototype.toLocaleString.hasOwnProperty('length') !== true) {84 testFailed('#2: delete Array.prototype.toLocaleString.length; Array.prototype.toLocaleString.hasOwnProperty(\'length\') === true. Actual: ' + (Array.prototype.toLocaleString.hasOwnProperty('length')));83 if (Array.prototype.toLocaleString.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete Array.prototype.toLocaleString.length; Array.prototype.toLocaleString.hasOwnProperty(\'length\') === false. Actual: ' + (Array.prototype.toLocaleString.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (Array.prototype.toLocaleString.length === undefined) {89 testFailed('#3: delete Array.prototype.toLocaleString.length; Array.prototype.toLocaleString.length !== undefined');88 if (Array.prototype.toLocaleString.length !== 0) { 89 testFailed('#3: delete Array.prototype.toLocaleString.length; Array.prototype.toLocaleString.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.4_Array_prototype_concat/S15.4.4.4_A4.2.html
r120489 r197205 69 69 * @name: S15.4.4.4_A4.2; 70 70 * @section: 15.4.4.4, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of concat has the attribute DontDelete;71 * @assertion: The length property of concat has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (Array.prototype.concat.hasOwnProperty('length') !== true) {84 testFailed('#2: delete Array.prototype.concat.length; Array.prototype.concat.hasOwnProperty(\'length\') === true. Actual: ' + (Array.prototype.concat.hasOwnProperty('length')));83 if (Array.prototype.concat.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete Array.prototype.concat.length; Array.prototype.concat.hasOwnProperty(\'length\') === false. Actual: ' + (Array.prototype.concat.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (Array.prototype.concat.length === undefined) {89 testFailed('#3: delete Array.prototype.concat.length; Array.prototype.concat.length !== undefined');88 if (Array.prototype.concat.length !== 0) { 89 testFailed('#3: delete Array.prototype.concat.length; Array.prototype.concat.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.5_Array_prototype_join/S15.4.4.5_A6.2.html
r120489 r197205 69 69 * @name: S15.4.4.5_A6.2; 70 70 * @section: 15.4.4.5, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of join has the attribute DontDelete;71 * @assertion: The length property of join has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (Array.prototype.join.hasOwnProperty('length') !== true) {84 testFailed('#2: delete Array.prototype.join.length; Array.prototype.join.hasOwnProperty(\'length\') === true. Actual: ' + (Array.prototype.join.hasOwnProperty('length')));83 if (Array.prototype.join.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete Array.prototype.join.length; Array.prototype.join.hasOwnProperty(\'length\') === false. Actual: ' + (Array.prototype.join.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (Array.prototype.join.length === undefined) {89 testFailed('#3: delete Array.prototype.join.length; Array.prototype.join.length !== undefined');88 if (Array.prototype.join.length !== 0) { 89 testFailed('#3: delete Array.prototype.join.length; Array.prototype.join.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.6_Array_prototype_pop/S15.4.4.6_A5.2.html
r120489 r197205 69 69 * @name: S15.4.4.6_A5.2; 70 70 * @section: 15.4.4.6, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of pop has the attribute DontDelete;71 * @assertion: The length property of pop has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (Array.prototype.pop.hasOwnProperty('length') !== true) {84 testFailed('#2: delete Array.prototype.pop.length; Array.prototype.pop.hasOwnProperty(\'length\') === true. Actual: ' + (Array.prototype.pop.hasOwnProperty('length')));83 if (Array.prototype.pop.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete Array.prototype.pop.length; Array.prototype.pop.hasOwnProperty(\'length\') === false. Actual: ' + (Array.prototype.pop.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (Array.prototype.pop.length === undefined) {89 testFailed('#3: delete Array.prototype.pop.length; Array.prototype.pop.length !== undefined');88 if (Array.prototype.pop.length !== 0) { 89 testFailed('#3: delete Array.prototype.pop.length; Array.prototype.pop.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.7_Array_prototype_push/S15.4.4.7_A6.2.html
r120489 r197205 69 69 * @name: S15.4.4.7_A6.2; 70 70 * @section: 15.4.4.7, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of push has the attribute DontDelete;71 * @assertion: The length property of push has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (Array.prototype.push.hasOwnProperty('length') !== true) {84 testFailed('#2: delete Array.prototype.push.length; Array.prototype.push.hasOwnProperty(\'length\') === true. Actual: ' + (Array.prototype.push.hasOwnProperty('length')));83 if (Array.prototype.push.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete Array.prototype.push.length; Array.prototype.push.hasOwnProperty(\'length\') === false. Actual: ' + (Array.prototype.push.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (Array.prototype.push.length === undefined) {89 testFailed('#3: delete Array.prototype.push.length; Array.prototype.push.length !== undefined');88 if (Array.prototype.push.length !== 0) { 89 testFailed('#3: delete Array.prototype.push.length; Array.prototype.push.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.8_Array_prototype_reverse/S15.4.4.8_A5.2.html
r120489 r197205 69 69 * @name: S15.4.4.8_A5.2; 70 70 * @section: 15.4.4.8, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of reverse has the attribute DontDelete;71 * @assertion: The length property of reverse has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (Array.prototype.reverse.hasOwnProperty('length') !== true) {84 testFailed('#2: delete Array.prototype.reverse.length; Array.prototype.reverse.hasOwnProperty(\'length\') === true. Actual: ' + (Array.prototype.reverse.hasOwnProperty('length')));83 if (Array.prototype.reverse.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete Array.prototype.reverse.length; Array.prototype.reverse.hasOwnProperty(\'length\') === false. Actual: ' + (Array.prototype.reverse.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (Array.prototype.reverse.length === undefined) {89 testFailed('#3: delete Array.prototype.reverse.length; Array.prototype.reverse.length !== undefined');88 if (Array.prototype.reverse.length !== 0) { 89 testFailed('#3: delete Array.prototype.reverse.length; Array.prototype.reverse.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.9_Array_prototype_shift/S15.4.4.9_A5.2.html
r120489 r197205 69 69 * @name: S15.4.4.9_A5.2; 70 70 * @section: 15.4.4.9, 15.2.4.5, 11.4.1; 71 * @assertion: The length property of shift has the attribute DontDelete;71 * @assertion: The length property of shift has the attribute [[Configurable]]:true; 72 72 * @description: Checking use hasOwnProperty, delete; 73 73 */ … … 81 81 82 82 //CHECK#2 83 if (Array.prototype.shift.hasOwnProperty('length') !== true) {84 testFailed('#2: delete Array.prototype.shift.length; Array.prototype.shift.hasOwnProperty(\'length\') === true. Actual: ' + (Array.prototype.shift.hasOwnProperty('length')));83 if (Array.prototype.shift.hasOwnProperty('length') !== false) { 84 testFailed('#2: delete Array.prototype.shift.length; Array.prototype.shift.hasOwnProperty(\'length\') === false. Actual: ' + (Array.prototype.shift.hasOwnProperty('length'))); 85 85 } 86 86 87 87 //CHECK#3 88 if (Array.prototype.shift.length === undefined) {89 testFailed('#3: delete Array.prototype.shift.length; Array.prototype.shift.length !== undefined');88 if (Array.prototype.shift.length !== 0) { 89 testFailed('#3: delete Array.prototype.shift.length; Array.prototype.shift.length === 0'); 90 90 } 91 91 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.10_String.prototype.match/S15.5.4.10_A9.html
r120489 r197205 69 69 * @name: S15.5.4.10_A9; 70 70 * @section: 15.5.4.10; 71 * @assertion: The String.prototype.match.length property has the attribute DontDelete;72 * @description: Checking if deleting the String.prototype.match.length property fails;71 * @assertion: The String.prototype.match.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the String.prototype.match.length property succeeds; 73 73 */ 74 74 … … 83 83 ////////////////////////////////////////////////////////////////////////////// 84 84 //CHECK#1 85 if ( delete String.prototype.match.length) {86 testFailed('#1: delete String.prototype.match.length return false');85 if (!(delete String.prototype.match.length)) { 86 testFailed('#1: delete String.prototype.match.length return true'); 87 87 } 88 88 // … … 91 91 ////////////////////////////////////////////////////////////////////////////// 92 92 //CHECK#2 93 if ( !(String.prototype.match.hasOwnProperty('length'))) {94 testFailed('#2: delete String.prototype.match.length; String.prototype.match.hasOwnProperty(\'length\') return true. Actual: '+String.prototype.match.hasOwnProperty('length'));93 if (String.prototype.match.hasOwnProperty('length')) { 94 testFailed('#2: delete String.prototype.match.length; String.prototype.match.hasOwnProperty(\'length\') return false. Actual: '+String.prototype.match.hasOwnProperty('length')); 95 95 } 96 96 // -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.11_String.prototype.replace/S15.5.4.11_A9.html
r120489 r197205 69 69 * @name: S15.5.4.11_A9; 70 70 * @section: 15.5.4.11; 71 * @assertion: The String.prototype.replace.length property has the attribute DontDelete;72 * @description: Checking if deleting the String.prototype.replace.length property fails;71 * @assertion: The String.prototype.replace.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the String.prototype.replace.length property succeeds; 73 73 */ 74 74 … … 83 83 ////////////////////////////////////////////////////////////////////////////// 84 84 //CHECK#1 85 if ( delete String.prototype.replace.length) {86 testFailed('#1: delete String.prototype.replace.length return false');85 if (!(delete String.prototype.replace.length)) { 86 testFailed('#1: delete String.prototype.replace.length return true'); 87 87 } 88 88 // … … 91 91 ////////////////////////////////////////////////////////////////////////////// 92 92 //CHECK#2 93 if ( !(String.prototype.replace.hasOwnProperty('length'))) {94 testFailed('#2: delete String.prototype.replace.length; String.prototype.replace.hasOwnProperty(\'length\') return true. Actual: '+String.prototype.replace.hasOwnProperty('length'));93 if (String.prototype.replace.hasOwnProperty('length')) { 94 testFailed('#2: delete String.prototype.replace.length; String.prototype.replace.hasOwnProperty(\'length\') return false. Actual: '+String.prototype.replace.hasOwnProperty('length')); 95 95 } 96 96 // -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.12_String.prototype.search/S15.5.4.12_A9.html
r120489 r197205 69 69 * @name: S15.5.4.12_A9; 70 70 * @section: 15.5.4.12; 71 * @assertion: The String.prototype.search.length property has the attribute DontDelete;72 * @description: Checking if deleting the String.prototype.search.length property fails;71 * @assertion: The String.prototype.search.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the String.prototype.search.length property succeeds; 73 73 */ 74 74 … … 83 83 ////////////////////////////////////////////////////////////////////////////// 84 84 //CHECK#1 85 if ( delete String.prototype.search.length) {86 testFailed('#1: delete String.prototype.search.length return false');85 if (!(delete String.prototype.search.length)) { 86 testFailed('#1: delete String.prototype.search.length return true'); 87 87 } 88 88 // … … 91 91 ////////////////////////////////////////////////////////////////////////////// 92 92 //CHECK#2 93 if ( !(String.prototype.search.hasOwnProperty('length'))) {94 testFailed('#2: delete String.prototype.search.length; String.prototype.search.hasOwnProperty(\'length\') return true. Actual: '+String.prototype.search.hasOwnProperty('length'));93 if (String.prototype.search.hasOwnProperty('length')) { 94 testFailed('#2: delete String.prototype.search.length; String.prototype.search.hasOwnProperty(\'length\') return false. Actual: '+String.prototype.search.hasOwnProperty('length')); 95 95 } 96 96 // -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.13_String.prototype.slice/S15.5.4.13_A9.html
r120489 r197205 69 69 * @name: S15.5.4.13_A9; 70 70 * @section: 15.5.4.13; 71 * @assertion: The String.prototype.slice.length property has the attribute DontDelete;72 * @description: Checking if deleting the String.prototype.slice.length property fails;71 * @assertion: The String.prototype.slice.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the String.prototype.slice.length property succeeds; 73 73 */ 74 74 … … 83 83 ////////////////////////////////////////////////////////////////////////////// 84 84 //CHECK#1 85 if ( delete String.prototype.slice.length) {86 testFailed('#1: delete String.prototype.slice.length return false');85 if (!(delete String.prototype.slice.length)) { 86 testFailed('#1: delete String.prototype.slice.length return true'); 87 87 } 88 88 // … … 91 91 ////////////////////////////////////////////////////////////////////////////// 92 92 //CHECK#2 93 if ( !(String.prototype.slice.hasOwnProperty('length'))) {94 testFailed('#2: delete String.prototype.slice.length; String.prototype.slice.hasOwnProperty(\'length\') return true. Actual: '+String.prototype.slice.hasOwnProperty('length'));93 if (String.prototype.slice.hasOwnProperty('length')) { 94 testFailed('#2: delete String.prototype.slice.length; String.prototype.slice.hasOwnProperty(\'length\') return false. Actual: '+String.prototype.slice.hasOwnProperty('length')); 95 95 } 96 96 // -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.14_String.prototype.split/S15.5.4.14_A9.html
r120489 r197205 69 69 * @name: S15.5.4.14_A9; 70 70 * @section: 15.5.4.14; 71 * @assertion: The String.prototype.split.length property has the attribute DontDelete;72 * @description: Checking if deleting the String.prototype.split.length property fails;71 * @assertion: The String.prototype.split.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the String.prototype.split.length property succeeds; 73 73 */ 74 74 … … 83 83 ////////////////////////////////////////////////////////////////////////////// 84 84 //CHECK#1 85 if ( delete String.prototype.split.length) {86 testFailed('#1: delete String.prototype.split.length return false');85 if (!(delete String.prototype.split.length)) { 86 testFailed('#1: delete String.prototype.split.length return true'); 87 87 } 88 88 // … … 91 91 ////////////////////////////////////////////////////////////////////////////// 92 92 //CHECK#2 93 if ( !(String.prototype.split.hasOwnProperty('length'))) {94 testFailed('#2: delete String.prototype.split.length; String.prototype.split.hasOwnProperty(\'length\') return true. Actual: '+String.prototype.split.hasOwnProperty('length'));93 if (String.prototype.split.hasOwnProperty('length')) { 94 testFailed('#2: delete String.prototype.split.length; String.prototype.split.hasOwnProperty(\'length\') return false. Actual: '+String.prototype.split.hasOwnProperty('length')); 95 95 } 96 96 // -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.15_String.prototype.substring/S15.5.4.15_A9.html
r120489 r197205 69 69 * @name: S15.5.4.15_A9; 70 70 * @section: 15.5.4.15; 71 * @assertion: The String.prototype.substring.length property has the attribute DontDelete;72 * @description: Checking if deleting the String.prototype.substring.length property fails;71 * @assertion: The String.prototype.substring.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the String.prototype.substring.length property succeeds; 73 73 */ 74 74 … … 83 83 ////////////////////////////////////////////////////////////////////////////// 84 84 //CHECK#1 85 if ( delete String.prototype.substring.length) {86 testFailed('#1: delete String.prototype.substring.length return false');85 if (!(delete String.prototype.substring.length)) { 86 testFailed('#1: delete String.prototype.substring.length return true'); 87 87 } 88 88 // … … 91 91 ////////////////////////////////////////////////////////////////////////////// 92 92 //CHECK#2 93 if ( !(String.prototype.substring.hasOwnProperty('length'))) {94 testFailed('#2: delete String.prototype.substring.length; String.prototype.substring.hasOwnProperty(\'length\') return true. Actual: '+String.prototype.substring.hasOwnProperty('length'));93 if (String.prototype.substring.hasOwnProperty('length')) { 94 testFailed('#2: delete String.prototype.substring.length; String.prototype.substring.hasOwnProperty(\'length\') return false. Actual: '+String.prototype.substring.hasOwnProperty('length')); 95 95 } 96 96 // -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.16_String.prototype.toLowerCase/S15.5.4.16_A9.html
r120489 r197205 69 69 * @name: S15.5.4.16_A9; 70 70 * @section: 15.5.4.16; 71 * @assertion: The String.prototype.toLowerCase.length property has the attribute DontDelete;72 * @description: Checking if deleting the String.prototype.toLowerCase.length property fails;71 * @assertion: The String.prototype.toLowerCase.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the String.prototype.toLowerCase.length property succeeds; 73 73 */ 74 74 … … 83 83 ////////////////////////////////////////////////////////////////////////////// 84 84 //CHECK#1 85 if ( delete String.prototype.toLowerCase.length) {86 testFailed('#1: delete String.prototype.toLowerCase.length return false');85 if (!(delete String.prototype.toLowerCase.length)) { 86 testFailed('#1: delete String.prototype.toLowerCase.length return true'); 87 87 } 88 88 // … … 91 91 ////////////////////////////////////////////////////////////////////////////// 92 92 //CHECK#2 93 if ( !(String.prototype.toLowerCase.hasOwnProperty('length'))) {94 testFailed('#2: delete String.prototype.toLowerCase.length; String.prototype.toLowerCase.hasOwnProperty(\'length\') return true. Actual: '+String.prototype.toLowerCase.hasOwnProperty('length'));93 if (String.prototype.toLowerCase.hasOwnProperty('length')) { 94 testFailed('#2: delete String.prototype.toLowerCase.length; String.prototype.toLowerCase.hasOwnProperty(\'length\') return false. Actual: '+String.prototype.toLowerCase.hasOwnProperty('length')); 95 95 } 96 96 // -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.17_String.prototype.toLocaleLowerCase/S15.5.4.17_A9.html
r120489 r197205 69 69 * @name: S15.5.4.17_A9; 70 70 * @section: 15.5.4.17; 71 * @assertion: The String.prototype.toLocaleLowerCase.length property has the attribute DontDelete;72 * @description: Checking if deleting the String.prototype.toLocaleLowerCase.length property fails;71 * @assertion: The String.prototype.toLocaleLowerCase.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the String.prototype.toLocaleLowerCase.length property succeeds; 73 73 */ 74 74 … … 83 83 ////////////////////////////////////////////////////////////////////////////// 84 84 //CHECK#1 85 if ( delete String.prototype.toLocaleLowerCase.length) {86 testFailed('#1: delete String.prototype.toLocaleLowerCase.length return false');85 if (!(delete String.prototype.toLocaleLowerCase.length)) { 86 testFailed('#1: delete String.prototype.toLocaleLowerCase.length return true'); 87 87 } 88 88 // … … 91 91 ////////////////////////////////////////////////////////////////////////////// 92 92 //CHECK#2 93 if ( !(String.prototype.toLocaleLowerCase.hasOwnProperty('length'))) {94 testFailed('#2: delete String.prototype.toLocaleLowerCase.length; String.prototype.toLocaleLowerCase.hasOwnProperty(\'length\') return true. Actual: '+String.prototype.toLocaleLowerCase.hasOwnProperty('length'));93 if (String.prototype.toLocaleLowerCase.hasOwnProperty('length')) { 94 testFailed('#2: delete String.prototype.toLocaleLowerCase.length; String.prototype.toLocaleLowerCase.hasOwnProperty(\'length\') return false. Actual: '+String.prototype.toLocaleLowerCase.hasOwnProperty('length')); 95 95 } 96 96 // -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.18_String.prototype.toUpperCase/S15.5.4.18_A9.html
r120489 r197205 69 69 * @name: S15.5.4.18_A9; 70 70 * @section: 15.5.4.18; 71 * @assertion: The String.prototype.toUpperCase.length property has the attribute DontDelete;72 * @description: Checking if deleting the String.prototype.toUpperCase.length property fails;71 * @assertion: The String.prototype.toUpperCase.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the String.prototype.toUpperCase.length property succeeds; 73 73 */ 74 74 … … 83 83 ////////////////////////////////////////////////////////////////////////////// 84 84 //CHECK#1 85 if ( delete String.prototype.toUpperCase.length) {86 testFailed('#1: delete String.prototype.toUpperCase.length return false');85 if (!(delete String.prototype.toUpperCase.length)) { 86 testFailed('#1: delete String.prototype.toUpperCase.length return true'); 87 87 } 88 88 // … … 91 91 ////////////////////////////////////////////////////////////////////////////// 92 92 //CHECK#2 93 if ( !(String.prototype.toUpperCase.hasOwnProperty('length'))) {94 testFailed('#2: delete String.prototype.toUpperCase.length; String.prototype.toUpperCase.hasOwnProperty(\'length\') return true. Actual: '+String.prototype.toUpperCase.hasOwnProperty('length'));93 if (String.prototype.toUpperCase.hasOwnProperty('length')) { 94 testFailed('#2: delete String.prototype.toUpperCase.length; String.prototype.toUpperCase.hasOwnProperty(\'length\') return false. Actual: '+String.prototype.toUpperCase.hasOwnProperty('length')); 95 95 } 96 96 // -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.19_String.prototype.toLocaleUpperCase/S15.5.4.19_A9.html
r120489 r197205 69 69 * @name: S15.5.4.19_A9; 70 70 * @section: 15.5.4.19; 71 * @assertion: The String.prototype.toLocaleUpperCase.length property has the attribute DontDelete;72 * @description: Checking if deleting the String.prototype.toLocaleUpperCase.length property fails;71 * @assertion: The String.prototype.toLocaleUpperCase.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the String.prototype.toLocaleUpperCase.length property succeeds; 73 73 */ 74 74 … … 83 83 ////////////////////////////////////////////////////////////////////////////// 84 84 //CHECK#1 85 if ( delete String.prototype.toLocaleUpperCase.length) {86 testFailed('#1: delete String.prototype.toLocaleUpperCase.length return false');85 if (!(delete String.prototype.toLocaleUpperCase.length)) { 86 testFailed('#1: delete String.prototype.toLocaleUpperCase.length return true'); 87 87 } 88 88 // … … 91 91 ////////////////////////////////////////////////////////////////////////////// 92 92 //CHECK#2 93 if ( !(String.prototype.toLocaleUpperCase.hasOwnProperty('length'))) {94 testFailed('#2: delete String.prototype.toLocaleUpperCase.length; String.prototype.toLocaleUpperCase.hasOwnProperty(\'length\') return true. Actual: '+String.prototype.toLocaleUpperCase.hasOwnProperty('length'));93 if (String.prototype.toLocaleUpperCase.hasOwnProperty('length')) { 94 testFailed('#2: delete String.prototype.toLocaleUpperCase.length; String.prototype.toLocaleUpperCase.hasOwnProperty(\'length\') return false. Actual: '+String.prototype.toLocaleUpperCase.hasOwnProperty('length')); 95 95 } 96 96 // -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.4_String.prototype.charAt/S15.5.4.4_A9.html
r120489 r197205 69 69 * @name: S15.5.4.4_A9; 70 70 * @section: 15.5.4.4; 71 * @assertion: The String.prototype.charAt.length property has the attribute DontDelete;72 * @description: Checking if deleting the String.prototype.charAt.length property fails;71 * @assertion: The String.prototype.charAt.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the String.prototype.charAt.length property succeeds; 73 73 */ 74 74 … … 83 83 ////////////////////////////////////////////////////////////////////////////// 84 84 //CHECK#1 85 if ( delete String.prototype.charAt.length) {86 testFailed('#1: delete String.prototype.charAt.length return false');85 if (!(delete String.prototype.charAt.length)) { 86 testFailed('#1: delete String.prototype.charAt.length return true'); 87 87 } 88 88 // … … 91 91 ////////////////////////////////////////////////////////////////////////////// 92 92 //CHECK#2 93 if ( !(String.prototype.charAt.hasOwnProperty('length'))) {94 testFailed('#2: delete String.prototype.charAt.length; String.prototype.charAt.hasOwnProperty(\'length\') return true. Actual: '+String.prototype.charAt.hasOwnProperty('length'));93 if (String.prototype.charAt.hasOwnProperty('length')) { 94 testFailed('#2: delete String.prototype.charAt.length; String.prototype.charAt.hasOwnProperty(\'length\') return false. Actual: '+String.prototype.charAt.hasOwnProperty('length')); 95 95 } 96 96 // -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A9.html
r120489 r197205 69 69 * @name: S15.5.4.5_A9; 70 70 * @section: 15.5.4.5; 71 * @assertion: The String.prototype.charCodeAt.length property has the attribute DontDelete;72 * @description: Checking if deleting the String.prototype.charCodeAt.length property fails;71 * @assertion: The String.prototype.charCodeAt.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the String.prototype.charCodeAt.length property succeeds; 73 73 */ 74 74 … … 83 83 ////////////////////////////////////////////////////////////////////////////// 84 84 //CHECK#1 85 if ( delete String.prototype.charCodeAt.length) {86 testFailed('#1: delete String.prototype.charCodeAt.length return false');85 if (!(delete String.prototype.charCodeAt.length)) { 86 testFailed('#1: delete String.prototype.charCodeAt.length return true'); 87 87 } 88 88 // … … 91 91 ////////////////////////////////////////////////////////////////////////////// 92 92 //CHECK#2 93 if ( !(String.prototype.charCodeAt.hasOwnProperty('length'))) {94 testFailed('#2: delete String.prototype.charCodeAt.length; String.prototype.charCodeAt.hasOwnProperty(\'length\') return true. Actual: '+String.prototype.charCodeAt.hasOwnProperty('length'));93 if (String.prototype.charCodeAt.hasOwnProperty('length')) { 94 testFailed('#2: delete String.prototype.charCodeAt.length; String.prototype.charCodeAt.hasOwnProperty(\'length\') return false. Actual: '+String.prototype.charCodeAt.hasOwnProperty('length')); 95 95 } 96 96 // -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.6_String.prototype.concat/S15.5.4.6_A9.html
r120489 r197205 69 69 * @name: S15.5.4.6_A9; 70 70 * @section: 15.5.4.6; 71 * @assertion: The String.prototype.concat.length property has the attribute DontDelete;72 * @description: Checking if deleting the String.prototype.concat.length property fails;71 * @assertion: The String.prototype.concat.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the String.prototype.concat.length property succeeds; 73 73 */ 74 74 … … 83 83 ////////////////////////////////////////////////////////////////////////////// 84 84 //CHECK#1 85 if ( delete String.prototype.concat.length) {86 testFailed('#1: delete String.prototype.concat.length return false');85 if (!(delete String.prototype.concat.length)) { 86 testFailed('#1: delete String.prototype.concat.length return true'); 87 87 } 88 88 // … … 91 91 ////////////////////////////////////////////////////////////////////////////// 92 92 //CHECK#2 93 if ( !(String.prototype.concat.hasOwnProperty('length'))) {94 testFailed('#2: delete String.prototype.concat.length; String.prototype.concat.hasOwnProperty(\'length\') return true. Actual: '+String.prototype.concat.hasOwnProperty('length'));93 if (String.prototype.concat.hasOwnProperty('length')) { 94 testFailed('#2: delete String.prototype.concat.length; String.prototype.concat.hasOwnProperty(\'length\') return false. Actual: '+String.prototype.concat.hasOwnProperty('length')); 95 95 } 96 96 // -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A9.html
r120489 r197205 69 69 * @name: S15.5.4.7_A9; 70 70 * @section: 15.5.4.7; 71 * @assertion: The String.prototype.indexOf.length property has the attribute DontDelete;72 * @description: Checking if deleting the String.prototype.indexOf.length property fails;71 * @assertion: The String.prototype.indexOf.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the String.prototype.indexOf.length property succeeds; 73 73 */ 74 74 … … 83 83 ////////////////////////////////////////////////////////////////////////////// 84 84 //CHECK#1 85 if ( delete String.prototype.indexOf.length) {86 testFailed('#1: delete String.prototype.indexOf.length r aturn false');85 if (!(delete String.prototype.indexOf.length)) { 86 testFailed('#1: delete String.prototype.indexOf.length return true'); 87 87 } 88 88 // … … 91 91 ////////////////////////////////////////////////////////////////////////////// 92 92 //CHECK#2 93 if ( !(String.prototype.indexOf.hasOwnProperty('length'))) {94 testFailed('#2: delete String.prototype.indexOf.length; String.prototype.indexOf.hasOwnProperty(\'length\') return true. Actual: '+String.prototype.indexOf.hasOwnProperty('length'));93 if (String.prototype.indexOf.hasOwnProperty('length')) { 94 testFailed('#2: delete String.prototype.indexOf.length; String.prototype.indexOf.hasOwnProperty(\'length\') return false. Actual: '+String.prototype.indexOf.hasOwnProperty('length')); 95 95 } 96 96 // -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A9.html
r120489 r197205 69 69 * @name: S15.5.4.8_A9; 70 70 * @section: 15.5.4.8; 71 * @assertion: The String.prototype.lastIndexOf.length property has the attribute DontDelete;72 * @description: Checking if deleting the String.prototype.lastIndexOf.length property fails;71 * @assertion: The String.prototype.lastIndexOf.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the String.prototype.lastIndexOf.length property succeeds; 73 73 */ 74 74 … … 83 83 ////////////////////////////////////////////////////////////////////////////// 84 84 //CHECK#1 85 if ( delete String.prototype.lastIndexOf.length) {86 testFailed('#1: delete String.prototype.lastIndexOf.length return false');85 if (!(delete String.prototype.lastIndexOf.length)) { 86 testFailed('#1: delete String.prototype.lastIndexOf.length return true'); 87 87 } 88 88 // … … 91 91 ////////////////////////////////////////////////////////////////////////////// 92 92 //CHECK#2 93 if ( !(String.prototype.lastIndexOf.hasOwnProperty('length'))) {94 testFailed('#2: delete String.prototype.lastIndexOf.length; String.prototype.lastIndexOf.hasOwnProperty(\'length\') return true. Actual: '+String.prototype.lastIndexOf.hasOwnProperty('length'));93 if (String.prototype.lastIndexOf.hasOwnProperty('length')) { 94 testFailed('#2: delete String.prototype.lastIndexOf.length; String.prototype.lastIndexOf.hasOwnProperty(\'length\') return false. Actual: '+String.prototype.lastIndexOf.hasOwnProperty('length')); 95 95 } 96 96 // -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.9_String.prototype.localeCompare/S15.5.4.9_A9.html
r120489 r197205 69 69 * @name: S15.5.4.9_A9; 70 70 * @section: 15.5.4.9; 71 * @assertion: The String.prototype.localeCompare.length property has the attribute DontDelete;72 * @description: Checking if deleting the String.prototype.localeCompare.length property fails;71 * @assertion: The String.prototype.localeCompare.length property has the attribute [[Configurable]]:true; 72 * @description: Checking if deleting the String.prototype.localeCompare.length property succeeds; 73 73 */ 74 74 … … 83 83 ////////////////////////////////////////////////////////////////////////////// 84 84 //CHECK#1 85 if ( delete String.prototype.localeCompare.length) {86 testFailed('#1: delete String.prototype.localeCompare.length return false');85 if (!(delete String.prototype.localeCompare.length)) { 86 testFailed('#1: delete String.prototype.localeCompare.length return true'); 87 87 } 88 88 // … … 91 91 ////////////////////////////////////////////////////////////////////////////// 92 92 //CHECK#2 93 if ( !(String.prototype.localeCompare.hasOwnProperty('length'))) {94 testFailed('#2: delete String.prototype.localeCompare.length; String.prototype.localeCompare.hasOwnProperty(\'length\') return true. Actual: '+String.prototype.localeCompare.hasOwnProperty('length'));93 if (String.prototype.localeCompare.hasOwnProperty('length')) { 94 testFailed('#2: delete String.prototype.localeCompare.length; String.prototype.localeCompare.hasOwnProperty(\'length\') return false. Actual: '+String.prototype.localeCompare.hasOwnProperty('length')); 95 95 } 96 96 // -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.4/15.9.4.2_Date.parse/S15.9.4.2_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.4.2_A3_T2; 70 70 * @section: 15.9.4.2; 71 * @assertion: The Date.parse property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.parse property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.parse.length !== false) {76 testFailed('#1: The Date.parse.length property has the attribute s DontDelete');75 if (delete Date.parse.length !== true) { 76 testFailed('#1: The Date.parse.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.parse.hasOwnProperty('length')) {80 testFailed('#2: The Date.parse.length property has the attribute s DontDelete');79 if (Date.parse.hasOwnProperty('length')) { 80 testFailed('#2: The Date.parse.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.4/15.9.4.3_Date.UTC/S15.9.4.3_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.4.3_A3_T2; 70 70 * @section: 15.9.4.3; 71 * @assertion: The Date.UTC property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.UTC property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.UTC.length !== false) {76 testFailed('#1: The Date.UTC.length property has the attribute s DontDelete');75 if (delete Date.UTC.length !== true) { 76 testFailed('#1: The Date.UTC.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.UTC.hasOwnProperty('length')) {80 testFailed('#2: The Date.UTC.length property has the attribute s DontDelete');79 if (Date.UTC.hasOwnProperty('length')) { 80 testFailed('#2: The Date.UTC.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.10_Date.prototype.getFullYear/S15.9.5.10_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.10_A3_T2; 70 70 * @section: 15.9.5.10; 71 * @assertion: The Date.prototype.getFullYear property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.getFullYear property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.getFullYear.length !== false) {76 testFailed('#1: The Date.prototype.getFullYear.length property has the attribute s DontDelete');75 if (delete Date.prototype.getFullYear.length !== true) { 76 testFailed('#1: The Date.prototype.getFullYear.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.getFullYear.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.getFullYear.length property has the attribute s DontDelete');79 if (Date.prototype.getFullYear.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.getFullYear.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.11_Date.prototype.getUTCFullYear/S15.9.5.11_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.11_A3_T2; 70 70 * @section: 15.9.5.11; 71 * @assertion: The Date.prototype.getUTCFullYear property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.getUTCFullYear property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.getUTCFullYear.length !== false) {76 testFailed('#1: The Date.prototype.getUTCFullYear.length property has the attribute s DontDelete');75 if (delete Date.prototype.getUTCFullYear.length !== true) { 76 testFailed('#1: The Date.prototype.getUTCFullYear.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.getUTCFullYear.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.getUTCFullYear.length property has the attribute s DontDelete');79 if (Date.prototype.getUTCFullYear.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.getUTCFullYear.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.12_Date.prototype.getMonth/S15.9.5.12_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.12_A3_T2; 70 70 * @section: 15.9.5.12; 71 * @assertion: The Date.prototype.getMonth property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.getMonth property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.getMonth.length !== false) {76 testFailed('#1: The Date.prototype.getMonth.length property has the attribute s DontDelete');75 if (delete Date.prototype.getMonth.length !== true) { 76 testFailed('#1: The Date.prototype.getMonth.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.getMonth.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.getMonth.length property has the attribute s DontDelete');79 if (Date.prototype.getMonth.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.getMonth.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.13_Date.prototype.getUTCMonth/S15.9.5.13_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.13_A3_T2; 70 70 * @section: 15.9.5.13; 71 * @assertion: The Date.prototype.getUTCMonth property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.getUTCMonth property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.getUTCMonth.length !== false) {76 testFailed('#1: The Date.prototype.getUTCMonth.length property has the attribute s DontDelete');75 if (delete Date.prototype.getUTCMonth.length !== true) { 76 testFailed('#1: The Date.prototype.getUTCMonth.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.getUTCMonth.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.getUTCMonth.length property has the attribute s DontDelete');79 if (Date.prototype.getUTCMonth.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.getUTCMonth.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.14_Date.prototype.getDate/S15.9.5.14_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.14_A3_T2; 70 70 * @section: 15.9.5.14; 71 * @assertion: The Date.prototype.getDate property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.getDate property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.getDate.length !== false) {76 testFailed('#1: The Date.prototype.getDate.length property has the attribute s DontDelete');75 if (delete Date.prototype.getDate.length !== true) { 76 testFailed('#1: The Date.prototype.getDate.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.getDate.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.getDate.length property has the attribute s DontDelete');79 if (Date.prototype.getDate.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.getDate.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.15_Date.prototype.getUTCDate/S15.9.5.15_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.15_A3_T2; 70 70 * @section: 15.9.5.15; 71 * @assertion: The Date.prototype.getUTCDate property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.getUTCDate property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.getUTCDate.length !== false) {76 testFailed('#1: The Date.prototype.getUTCDate.length property has the attribute s DontDelete');75 if (delete Date.prototype.getUTCDate.length !== true) { 76 testFailed('#1: The Date.prototype.getUTCDate.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.getUTCDate.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.getUTCDate.length property has the attribute s DontDelete');79 if (Date.prototype.getUTCDate.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.getUTCDate.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.16_Date.prototype.getDay/S15.9.5.16_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.16_A3_T2; 70 70 * @section: 15.9.5.16; 71 * @assertion: The Date.prototype.getDay property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.getDay property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.getDay.length !== false) {76 testFailed('#1: The Date.prototype.getDay.length property has the attribute s DontDelete');75 if (delete Date.prototype.getDay.length !== true) { 76 testFailed('#1: The Date.prototype.getDay.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.getDay.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.getDay.length property has the attribute s DontDelete');79 if (Date.prototype.getDay.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.getDay.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.17_Date.prototype.getUTCDay/S15.9.5.17_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.17_A3_T2; 70 70 * @section: 15.9.5.17; 71 * @assertion: The Date.prototype.getUTCDay property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.getUTCDay property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.getUTCDay.length !== false) {76 testFailed('#1: The Date.prototype.getUTCDay.length property has the attribute s DontDelete');75 if (delete Date.prototype.getUTCDay.length !== true) { 76 testFailed('#1: The Date.prototype.getUTCDay.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.getUTCDay.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.getUTCDay.length property has the attribute s DontDelete');79 if (Date.prototype.getUTCDay.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.getUTCDay.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.18_Date.prototype.getHours/S15.9.5.18_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.18_A3_T2; 70 70 * @section: 15.9.5.18; 71 * @assertion: The Date.prototype.getHours property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.getHours property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.getHours.length !== false) {76 testFailed('#1: The Date.prototype.getHours.length property has the attribute s DontDelete');75 if (delete Date.prototype.getHours.length !== true) { 76 testFailed('#1: The Date.prototype.getHours.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.getHours.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.getHours.length property has the attribute s DontDelete');79 if (Date.prototype.getHours.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.getHours.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.19_Date.prototype.getUTCHours/S15.9.5.19_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.19_A3_T2; 70 70 * @section: 15.9.5.19; 71 * @assertion: The Date.prototype.getUTCHours property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.getUTCHours property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.getUTCHours.length !== false) {76 testFailed('#1: The Date.prototype.getUTCHours.length property has the attribute s DontDelete');75 if (delete Date.prototype.getUTCHours.length !== true) { 76 testFailed('#1: The Date.prototype.getUTCHours.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.getUTCHours.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.getUTCHours.length property has the attribute s DontDelete');79 if (Date.prototype.getUTCHours.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.getUTCHours.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.20_Date.prototype.getMinutes/S15.9.5.20_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.20_A3_T2; 70 70 * @section: 15.9.5.20; 71 * @assertion: The Date.prototype.getMinutes property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.getMinutes property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.getMinutes.length !== false) {76 testFailed('#1: The Date.prototype.getMinutes.length property has the attribute s DontDelete');75 if (delete Date.prototype.getMinutes.length !== true) { 76 testFailed('#1: The Date.prototype.getMinutes.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.getMinutes.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.getMinutes.length property has the attribute s DontDelete');79 if (Date.prototype.getMinutes.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.getMinutes.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.21_Date.prototype.getUTCMinutes/S15.9.5.21_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.21_A3_T2; 70 70 * @section: 15.9.5.21; 71 * @assertion: The Date.prototype.getUTCMinutes property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.getUTCMinutes property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.getUTCMinutes.length !== false) {76 testFailed('#1: The Date.prototype.getUTCMinutes.length property has the attribute s DontDelete');75 if (delete Date.prototype.getUTCMinutes.length !== true) { 76 testFailed('#1: The Date.prototype.getUTCMinutes.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.getUTCMinutes.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.getUTCMinutes.length property has the attribute s DontDelete');79 if (Date.prototype.getUTCMinutes.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.getUTCMinutes.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.22_Date.prototype.getSeconds/S15.9.5.22_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.22_A3_T2; 70 70 * @section: 15.9.5.22; 71 * @assertion: The Date.prototype.getSeconds property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.getSeconds property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.getSeconds.length !== false) {76 testFailed('#1: The Date.prototype.getSeconds.length property has the attribute s DontDelete');75 if (delete Date.prototype.getSeconds.length !== true) { 76 testFailed('#1: The Date.prototype.getSeconds.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.getSeconds.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.getSeconds.length property has the attribute s DontDelete');79 if (Date.prototype.getSeconds.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.getSeconds.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.23_Date.prototype.getUTCSeconds/S15.9.5.23_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.23_A3_T2; 70 70 * @section: 15.9.5.23; 71 * @assertion: The Date.prototype.getUTCSeconds property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.getUTCSeconds property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.getUTCSeconds.length !== false) {76 testFailed('#1: The Date.prototype.getUTCSeconds.length property has the attribute s DontDelete');75 if (delete Date.prototype.getUTCSeconds.length !== true) { 76 testFailed('#1: The Date.prototype.getUTCSeconds.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.getUTCSeconds.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.getUTCSeconds.length property has the attribute s DontDelete');79 if (Date.prototype.getUTCSeconds.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.getUTCSeconds.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.24_Date.prototype.getMilliseconds/S15.9.5.24_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.24_A3_T2; 70 70 * @section: 15.9.5.24; 71 * @assertion: The Date.prototype.getMilliseconds property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.getMilliseconds property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.getMilliseconds.length !== false) {76 testFailed('#1: The Date.prototype.getMilliseconds.length property has the attribute s DontDelete');75 if (delete Date.prototype.getMilliseconds.length !== true) { 76 testFailed('#1: The Date.prototype.getMilliseconds.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.getMilliseconds.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.getMilliseconds.length property has the attribute s DontDelete');79 if (Date.prototype.getMilliseconds.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.getMilliseconds.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.25_Date.prototype.getUTCMilliseconds/S15.9.5.25_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.25_A3_T2; 70 70 * @section: 15.9.5.25; 71 * @assertion: The Date.prototype.getUTCMilliseconds property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.getUTCMilliseconds property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.getUTCMilliseconds.length !== false) {76 testFailed('#1: The Date.prototype.getUTCMilliseconds.length property has the attribute s DontDelete');75 if (delete Date.prototype.getUTCMilliseconds.length !== true) { 76 testFailed('#1: The Date.prototype.getUTCMilliseconds.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.getUTCMilliseconds.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.getUTCMilliseconds.length property has the attribute s DontDelete');79 if (Date.prototype.getUTCMilliseconds.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.getUTCMilliseconds.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.26_Date.prototype.getTimezoneOffset/S15.9.5.26_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.26_A3_T2; 70 70 * @section: 15.9.5.26; 71 * @assertion: The Date.prototype.getTimezoneOffset property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.getTimezoneOffset property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.getTimezoneOffset.length !== false) {76 testFailed('#1: The Date.prototype.getTimezoneOffset.length property has the attribute s DontDelete');75 if (delete Date.prototype.getTimezoneOffset.length !== true) { 76 testFailed('#1: The Date.prototype.getTimezoneOffset.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.getTimezoneOffset.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.getTimezoneOffset.length property has the attribute s DontDelete');79 if (Date.prototype.getTimezoneOffset.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.getTimezoneOffset.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.27_Date.prototype.setTime/S15.9.5.27_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.27_A3_T2; 70 70 * @section: 15.9.5.27; 71 * @assertion: The Date.prototype.setTime property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.setTime property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.setTime.length !== false) {76 testFailed('#1: The Date.prototype.setTime.length property has the attribute s DontDelete');75 if (delete Date.prototype.setTime.length !== true) { 76 testFailed('#1: The Date.prototype.setTime.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.setTime.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.setTime.length property has the attribute s DontDelete');79 if (Date.prototype.setTime.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.setTime.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.28_Date.prototype.setMilliseconds/S15.9.5.28_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.28_A3_T2; 70 70 * @section: 15.9.5.28; 71 * @assertion: The Date.prototype.setMilliseconds property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.setMilliseconds property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.setMilliseconds.length !== false) {76 testFailed('#1: The Date.prototype.setMilliseconds.length property has the attribute s DontDelete');75 if (delete Date.prototype.setMilliseconds.length !== true) { 76 testFailed('#1: The Date.prototype.setMilliseconds.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.setMilliseconds.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.setMilliseconds.length property has the attribute s DontDelete');79 if (Date.prototype.setMilliseconds.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.setMilliseconds.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.29_Date.prototype.setUTCMilliseconds/S15.9.5.29_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.29_A3_T2; 70 70 * @section: 15.9.5.29; 71 * @assertion: The Date.prototype.setUTCMilliseconds property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.setUTCMilliseconds property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.setUTCMilliseconds.length !== false) {76 testFailed('#1: The Date.prototype.setUTCMilliseconds.length property has the attribute s DontDelete');75 if (delete Date.prototype.setUTCMilliseconds.length !== true) { 76 testFailed('#1: The Date.prototype.setUTCMilliseconds.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.setUTCMilliseconds.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.setUTCMilliseconds.length property has the attribute s DontDelete');79 if (Date.prototype.setUTCMilliseconds.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.setUTCMilliseconds.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.2_Date.prototype.toString/S15.9.5.2_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.2_A3_T2; 70 70 * @section: 15.9.5.2; 71 * @assertion: The Date.prototype.toString property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.toString property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.toString.length !== false) {76 testFailed('#1: The Date.prototype.toString.length property has the attribute s DontDelete');75 if (delete Date.prototype.toString.length !== true) { 76 testFailed('#1: The Date.prototype.toString.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.toString.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.toString.length property has the attribute s DontDelete');79 if (Date.prototype.toString.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.toString.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.30_Date.prototype.setSeconds/S15.9.5.30_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.30_A3_T2; 70 70 * @section: 15.9.5.30; 71 * @assertion: The Date.prototype.setSeconds property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.setSeconds property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.setSeconds.length !== false) {76 testFailed('#1: The Date.prototype.setSeconds.length property has the attribute s DontDelete');75 if (delete Date.prototype.setSeconds.length !== true) { 76 testFailed('#1: The Date.prototype.setSeconds.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.setSeconds.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.setSeconds.length property has the attribute s DontDelete');79 if (Date.prototype.setSeconds.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.setSeconds.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.31_Date.prototype.setUTCSeconds/S15.9.5.31_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.31_A3_T2; 70 70 * @section: 15.9.5.31; 71 * @assertion: The Date.prototype.setUTCSeconds property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.setUTCSeconds property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.setUTCSeconds.length !== false) {76 testFailed('#1: The Date.prototype.setUTCSeconds.length property has the attribute s DontDelete');75 if (delete Date.prototype.setUTCSeconds.length !== true) { 76 testFailed('#1: The Date.prototype.setUTCSeconds.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.setUTCSeconds.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.setUTCSeconds.length property has the attribute s DontDelete');79 if (Date.prototype.setUTCSeconds.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.setUTCSeconds.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.32_Date.prototype.setMinutes/S15.9.5.32_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.32_A3_T2; 70 70 * @section: 15.9.5.32; 71 * @assertion: The Date.prototype.setMinutes property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.setMinutes property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.setMinutes.length !== false) {76 testFailed('#1: The Date.prototype.setMinutes.length property has the attribute s DontDelete');75 if (delete Date.prototype.setMinutes.length !== true) { 76 testFailed('#1: The Date.prototype.setMinutes.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.setMinutes.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.setMinutes.length property has the attribute s DontDelete');79 if (Date.prototype.setMinutes.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.setMinutes.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.33_Date.prototype.setUTCMinutes/S15.9.5.33_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.33_A3_T2; 70 70 * @section: 15.9.5.33; 71 * @assertion: The Date.prototype.setUTCMinutes property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.setUTCMinutes property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.setUTCMinutes.length !== false) {76 testFailed('#1: The Date.prototype.setUTCMinutes.length property has the attribute s DontDelete');75 if (delete Date.prototype.setUTCMinutes.length !== true) { 76 testFailed('#1: The Date.prototype.setUTCMinutes.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.setUTCMinutes.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.setUTCMinutes.length property has the attribute s DontDelete');79 if (Date.prototype.setUTCMinutes.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.setUTCMinutes.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.34_Date.prototype.setHours/S15.9.5.34_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.34_A3_T2; 70 70 * @section: 15.9.5.34; 71 * @assertion: The Date.prototype.setHours property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.setHours property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.setHours.length !== false) {76 testFailed('#1: The Date.prototype.setHours.length property has the attribute s DontDelete');75 if (delete Date.prototype.setHours.length !== true) { 76 testFailed('#1: The Date.prototype.setHours.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.setHours.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.setHours.length property has the attribute s DontDelete');79 if (Date.prototype.setHours.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.setHours.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.35_Date.prototype.setUTCHours/S15.9.5.35_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.35_A3_T2; 70 70 * @section: 15.9.5.35; 71 * @assertion: The Date.prototype.setUTCHours property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.setUTCHours property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.setUTCHours.length !== false) {76 testFailed('#1: The Date.prototype.setUTCHours.length property has the attribute s DontDelete');75 if (delete Date.prototype.setUTCHours.length !== true) { 76 testFailed('#1: The Date.prototype.setUTCHours.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.setUTCHours.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.setUTCHours.length property has the attribute s DontDelete');79 if (Date.prototype.setUTCHours.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.setUTCHours.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.36_Date.prototype.setDate/S15.9.5.36_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.36_A3_T2; 70 70 * @section: 15.9.5.36; 71 * @assertion: The Date.prototype.setDate property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.setDate property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.setDate.length !== false) {76 testFailed('#1: The Date.prototype.setDate.length property has the attribute s DontDelete');75 if (delete Date.prototype.setDate.length !== true) { 76 testFailed('#1: The Date.prototype.setDate.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.setDate.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.setDate.length property has the attribute s DontDelete');79 if (Date.prototype.setDate.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.setDate.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.37_Date.prototype.setUTCDate/S15.9.5.37_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.37_A3_T2; 70 70 * @section: 15.9.5.37; 71 * @assertion: The Date.prototype.setUTCDate property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.setUTCDate property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.setUTCDate.length !== false) {76 testFailed('#1: The Date.prototype.setUTCDate.length property has the attribute s DontDelete');75 if (delete Date.prototype.setUTCDate.length !== true) { 76 testFailed('#1: The Date.prototype.setUTCDate.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.setUTCDate.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.setUTCDate.length property has the attribute s DontDelete');79 if (Date.prototype.setUTCDate.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.setUTCDate.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.38_Date.prototype.setMonth/S15.9.5.38_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.38_A3_T2; 70 70 * @section: 15.9.5.38; 71 * @assertion: The Date.prototype.setMonth property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.setMonth property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.setMonth.length !== false) {76 testFailed('#1: The Date.prototype.setMonth.length property has the attribute s DontDelete');75 if (delete Date.prototype.setMonth.length !== true) { 76 testFailed('#1: The Date.prototype.setMonth.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.setMonth.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.setMonth.length property has the attribute s DontDelete');79 if (Date.prototype.setMonth.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.setMonth.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.39_Date.prototype.setUTCMonth/S15.9.5.39_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.39_A3_T2; 70 70 * @section: 15.9.5.39; 71 * @assertion: The Date.prototype.setUTCMonth property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.setUTCMonth property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.setUTCMonth.length !== false) {76 testFailed('#1: The Date.prototype.setUTCMonth.length property has the attribute s DontDelete');75 if (delete Date.prototype.setUTCMonth.length !== true) { 76 testFailed('#1: The Date.prototype.setUTCMonth.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.setUTCMonth.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.setUTCMonth.length property has the attribute s DontDelete');79 if (Date.prototype.setUTCMonth.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.setUTCMonth.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.3_Date.prototype.toDateString/S15.9.5.3_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.3_A3_T2; 70 70 * @section: 15.9.5.3; 71 * @assertion: The Date.prototype.toDateString property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.toDateString property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.toDateString.length !== false) {76 testFailed('#1: The Date.prototype.toDateString.length property has the attribute s DontDelete');75 if (delete Date.prototype.toDateString.length !== true) { 76 testFailed('#1: The Date.prototype.toDateString.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.toDateString.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.toDateString.length property has the attribute s DontDelete');79 if (Date.prototype.toDateString.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.toDateString.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.40_Date.prototype.setFullYear/S15.9.5.40_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.40_A3_T2; 70 70 * @section: 15.9.5.40; 71 * @assertion: The Date.prototype.setFullYear property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.setFullYear property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.setFullYear.length !== false) {76 testFailed('#1: The Date.prototype.setFullYear.length property has the attribute s DontDelete');75 if (delete Date.prototype.setFullYear.length !== true) { 76 testFailed('#1: The Date.prototype.setFullYear.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.setFullYear.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.setFullYear.length property has the attribute s DontDelete');79 if (Date.prototype.setFullYear.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.setFullYear.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.41_Date.prototype.setUTCFullYear/S15.9.5.41_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.41_A3_T2; 70 70 * @section: 15.9.5.41; 71 * @assertion: The Date.prototype.setUTCFullYear property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.setUTCFullYear property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.setUTCFullYear.length !== false) {76 testFailed('#1: The Date.prototype.setUTCFullYear.length property has the attribute s DontDelete');75 if (delete Date.prototype.setUTCFullYear.length !== true) { 76 testFailed('#1: The Date.prototype.setUTCFullYear.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.setUTCFullYear.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.setUTCFullYear.length property has the attribute s DontDelete');79 if (Date.prototype.setUTCFullYear.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.setUTCFullYear.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.42_Date.prototype.toUTCString/S15.9.5.42_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.42_A3_T2; 70 70 * @section: 15.9.5.42; 71 * @assertion: The Date.prototype.toUTCString property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.toUTCString property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.toUTCString.length !== false) {76 testFailed('#1: The Date.prototype.toUTCString.length property has the attribute s DontDelete');75 if (delete Date.prototype.toUTCString.length !== true) { 76 testFailed('#1: The Date.prototype.toUTCString.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.toUTCString.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.toUTCString.length property has the attribute s DontDelete');79 if (Date.prototype.toUTCString.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.toUTCString.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.4_Date.prototype.toTimeString/S15.9.5.4_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.4_A3_T2; 70 70 * @section: 15.9.5.4; 71 * @assertion: The Date.prototype.toTimeString property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.toTimeString property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.toTimeString.length !== false) {76 testFailed('#1: The Date.prototype.toTimeString.length property has the attribute s DontDelete');75 if (delete Date.prototype.toTimeString.length !== true) { 76 testFailed('#1: The Date.prototype.toTimeString.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.toTimeString.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.toTimeString.length property has the attribute s DontDelete');79 if (Date.prototype.toTimeString.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.toTimeString.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.5_Date.prototype.toLocaleString/S15.9.5.5_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.5_A3_T2; 70 70 * @section: 15.9.5.5; 71 * @assertion: The Date.prototype.toLocaleString property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.toLocaleString property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.toLocaleString.length !== false) {76 testFailed('#1: The Date.prototype.toLocaleString.length property has the attribute s DontDelete');75 if (delete Date.prototype.toLocaleString.length !== true) { 76 testFailed('#1: The Date.prototype.toLocaleString.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.toLocaleString.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.toLocaleString.length property has the attribute s DontDelete');79 if (Date.prototype.toLocaleString.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.toLocaleString.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.6_Date.prototype.toLocaleDateString/S15.9.5.6_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.6_A3_T2; 70 70 * @section: 15.9.5.6; 71 * @assertion: The Date.prototype.toLocaleDateString property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.toLocaleDateString property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.toLocaleDateString.length !== false) {76 testFailed('#1: The Date.prototype.toLocaleDateString.length property has the attribute s DontDelete');75 if (delete Date.prototype.toLocaleDateString.length !== true) { 76 testFailed('#1: The Date.prototype.toLocaleDateString.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.toLocaleDateString.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.toLocaleDateString.length property has the attribute s DontDelete');79 if (Date.prototype.toLocaleDateString.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.toLocaleDateString.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.7_Date.prototype.toLocaleTimeString/S15.9.5.7_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.7_A3_T2; 70 70 * @section: 15.9.5.7; 71 * @assertion: The Date.prototype.toLocaleTimeString property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.toLocaleTimeString property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.toLocaleTimeString.length !== false) {76 testFailed('#1: The Date.prototype.toLocaleTimeString.length property has the attribute s DontDelete');75 if (delete Date.prototype.toLocaleTimeString.length !== true) { 76 testFailed('#1: The Date.prototype.toLocaleTimeString.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.toLocaleTimeString.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.toLocaleTimeString.length property has the attribute s DontDelete');79 if (Date.prototype.toLocaleTimeString.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.toLocaleTimeString.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.8_Date.prototype.valueOf/S15.9.5.8_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.8_A3_T2; 70 70 * @section: 15.9.5.8; 71 * @assertion: The Date.prototype.valueOf property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.valueOf property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.valueOf.length !== false) {76 testFailed('#1: The Date.prototype.valueOf.length property has the attribute s DontDelete');75 if (delete Date.prototype.valueOf.length !== true) { 76 testFailed('#1: The Date.prototype.valueOf.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.valueOf.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.valueOf.length property has the attribute s DontDelete');79 if (Date.prototype.valueOf.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.valueOf.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/LayoutTests/sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.5/15.9.5.9_Date.prototype.getTime/S15.9.5.9_A3_T2.html
r120489 r197205 69 69 * @name: S15.9.5.9_A3_T2; 70 70 * @section: 15.9.5.9; 71 * @assertion: The Date.prototype.getTime property "length" has { ReadOnly, DontDelete, DontEnum} attributes;72 * @description: Checking DontDeleteattribute;71 * @assertion: The Date.prototype.getTime property "length" has { [[Writable]]:false, [[Enumerable]]:false, [[Configurable]]:true } attributes; 72 * @description: Checking [[Configurable]] attribute; 73 73 */ 74 74 75 if (delete Date.prototype.getTime.length !== false) {76 testFailed('#1: The Date.prototype.getTime.length property has the attribute s DontDelete');75 if (delete Date.prototype.getTime.length !== true) { 76 testFailed('#1: The Date.prototype.getTime.length property has the attribute [[Configurable]]:true'); 77 77 } 78 78 79 if ( !Date.prototype.getTime.hasOwnProperty('length')) {80 testFailed('#2: The Date.prototype.getTime.length property has the attribute s DontDelete');79 if (Date.prototype.getTime.hasOwnProperty('length')) { 80 testFailed('#2: The Date.prototype.getTime.length property has the attribute [[Configurable]]:true'); 81 81 } 82 82 -
trunk/Source/JavaScriptCore/ChangeLog
r197196 r197205 1 2016-02-26 Mark Lam <mark.lam@apple.com> 2 3 Function.name and Function.length should be configurable. 4 https://bugs.webkit.org/show_bug.cgi?id=154604 5 6 Reviewed by Saam Barati. 7 8 According to https://tc39.github.io/ecma262/#sec-ecmascript-language-functions-and-classes, 9 "Unless otherwise specified, the name property of a built-in Function object, 10 if it exists, has the attributes { [[Writable]]: false, [[Enumerable]]: false, 11 [[Configurable]]: true }." 12 13 Similarly, "the length property of a built-in Function object has the attributes 14 { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }." 15 16 This patch makes Function.name and Function.length configurable. 17 18 We do this by lazily reifying the JSFunction name and length properties on first 19 access. We track whether each of these properties have been reified using flags 20 in the FunctionRareData. On first access, if not already reified, we will put 21 the property into the object with its default value and attributes and set the 22 reified flag. Thereafter, we rely on the base JSObject to handle access to the 23 property. 24 25 Also, lots of test results have to be re-baselined because the old Function.length 26 has attribute DontDelete, which is in conflict with the ES6 requirement that it 27 is configurable. 28 29 * runtime/FunctionRareData.h: 30 (JSC::FunctionRareData::hasReifiedLength): 31 (JSC::FunctionRareData::setHasReifiedLength): 32 (JSC::FunctionRareData::hasReifiedName): 33 (JSC::FunctionRareData::setHasReifiedName): 34 - Flags for tracking whether each property has been reified. 35 36 * runtime/JSFunction.cpp: 37 (JSC::JSFunction::finishCreation): 38 (JSC::JSFunction::createBuiltinFunction): 39 - Host and builtin functions currently always reify their name and length 40 properties. Currently, for builtins, the default names that are used may 41 differ from the executable name. For now, we'll stay with keeping this 42 alternate approach to getting the name and length properties for host and 43 builtin functions. 44 However, we need their default attribute to be configurable as well. 45 46 (JSC::JSFunction::getOwnPropertySlot): 47 (JSC::JSFunction::getOwnNonIndexPropertyNames): 48 (JSC::JSFunction::put): 49 (JSC::JSFunction::deleteProperty): 50 (JSC::JSFunction::defineOwnProperty): 51 (JSC::JSFunction::reifyLength): 52 (JSC::JSFunction::reifyName): 53 (JSC::JSFunction::reifyLazyPropertyIfNeeded): 54 (JSC::JSFunction::lengthGetter): Deleted. 55 (JSC::JSFunction::nameGetter): Deleted. 56 * runtime/JSFunction.h: 57 * runtime/JSFunctionInlines.h: 58 (JSC::JSFunction::hasReifiedLength): 59 (JSC::JSFunction::hasReifiedName): 60 61 * tests/es6.yaml: 62 - 4 new passing tests. 63 64 * tests/mozilla/ecma/Array/15.4.4.3-1.js: 65 * tests/mozilla/ecma/Array/15.4.4.4-1.js: 66 * tests/mozilla/ecma/Array/15.4.4.4-2.js: 67 * tests/mozilla/ecma/GlobalObject/15.1.2.1-1.js: 68 * tests/mozilla/ecma/GlobalObject/15.1.2.2-1.js: 69 * tests/mozilla/ecma/GlobalObject/15.1.2.3-1.js: 70 * tests/mozilla/ecma/GlobalObject/15.1.2.4.js: 71 * tests/mozilla/ecma/GlobalObject/15.1.2.5-1.js: 72 * tests/mozilla/ecma/GlobalObject/15.1.2.6.js: 73 * tests/mozilla/ecma/GlobalObject/15.1.2.7.js: 74 * tests/mozilla/ecma/String/15.5.4.10-1.js: 75 * tests/mozilla/ecma/String/15.5.4.11-1.js: 76 * tests/mozilla/ecma/String/15.5.4.11-5.js: 77 * tests/mozilla/ecma/String/15.5.4.12-1.js: 78 * tests/mozilla/ecma/String/15.5.4.6-2.js: 79 * tests/mozilla/ecma/String/15.5.4.7-2.js: 80 * tests/mozilla/ecma/String/15.5.4.8-1.js: 81 * tests/mozilla/ecma/String/15.5.4.9-1.js: 82 - Rebase expected test results. 83 84 * tests/stress/function-configurable-properties.js: Added. 85 1 86 2016-02-26 Keith Miller <keith_miller@apple.com> 2 87 -
trunk/Source/JavaScriptCore/runtime/FunctionRareData.h
r196956 r197205 94 94 void setBoundFunctionStructure(VM& vm, Structure* structure) { m_boundFunctionStructure.set(vm, this, structure); } 95 95 96 bool hasReifiedLength() const { return m_hasReifiedLength; } 97 void setHasReifiedLength() { m_hasReifiedLength = true; } 98 bool hasReifiedName() const { return m_hasReifiedName; } 99 void setHasReifiedName() { m_hasReifiedName = true; } 100 96 101 protected: 97 102 FunctionRareData(VM&); … … 119 124 InternalFunctionAllocationProfile m_internalFunctionAllocationProfile; 120 125 WriteBarrier<Structure> m_boundFunctionStructure; 126 bool m_hasReifiedLength { false }; 127 bool m_hasReifiedName { false }; 121 128 }; 122 129 -
trunk/Source/JavaScriptCore/runtime/JSFunction.cpp
r196722 r197205 117 117 ASSERT(inherits(info())); 118 118 m_executable.set(vm, this, executable); 119 putDirect(vm, vm.propertyNames->name, jsString(&vm, name), DontDelete |ReadOnly | DontEnum);120 putDirect(vm, vm.propertyNames->length, jsNumber(length), DontDelete |ReadOnly | DontEnum);119 putDirect(vm, vm.propertyNames->name, jsString(&vm, name), ReadOnly | DontEnum); 120 putDirect(vm, vm.propertyNames->length, jsNumber(length), ReadOnly | DontEnum); 121 121 } 122 122 … … 124 124 { 125 125 JSFunction* function = create(vm, executable, globalObject); 126 function->putDirect(vm, vm.propertyNames->name, jsString(&vm, executable->name().string()), DontDelete |ReadOnly | DontEnum);127 function->putDirect(vm, vm.propertyNames->length, jsNumber(executable->parameterCount()), DontDelete |ReadOnly | DontEnum);126 function->putDirect(vm, vm.propertyNames->name, jsString(&vm, executable->name().string()), ReadOnly | DontEnum); 127 function->putDirect(vm, vm.propertyNames->length, jsNumber(executable->parameterCount()), ReadOnly | DontEnum); 128 128 return function; 129 129 } … … 132 132 { 133 133 JSFunction* function = create(vm, executable, globalObject); 134 function->putDirect(vm, vm.propertyNames->name, jsString(&vm, name), DontDelete |ReadOnly | DontEnum);135 function->putDirect(vm, vm.propertyNames->length, jsNumber(executable->parameterCount()), DontDelete |ReadOnly | DontEnum);134 function->putDirect(vm, vm.propertyNames->name, jsString(&vm, name), ReadOnly | DontEnum); 135 function->putDirect(vm, vm.propertyNames->length, jsNumber(executable->parameterCount()), ReadOnly | DontEnum); 136 136 return function; 137 137 } … … 342 342 return JSValue::encode(caller); 343 343 return JSValue::encode(throwTypeError(exec, ASCIILiteral("Function.caller used to retrieve strict caller"))); 344 }345 346 EncodedJSValue JSFunction::lengthGetter(ExecState*, EncodedJSValue thisValue, PropertyName)347 {348 JSFunction* thisObj = jsCast<JSFunction*>(JSValue::decode(thisValue));349 ASSERT(!thisObj->isHostFunction());350 return JSValue::encode(jsNumber(thisObj->jsExecutable()->parameterCount()));351 }352 353 EncodedJSValue JSFunction::nameGetter(ExecState*, EncodedJSValue thisValue, PropertyName)354 {355 JSFunction* thisObj = jsCast<JSFunction*>(JSValue::decode(thisValue));356 ASSERT(!thisObj->isHostFunction());357 return JSValue::encode(thisObj->jsExecutable()->nameValue());358 344 } 359 345 … … 398 384 } 399 385 400 if (propertyName == exec->propertyNames().length) {401 slot.setCacheableCustom(thisObject, ReadOnly | DontEnum | DontDelete, lengthGetter);402 return true;403 }404 405 if (propertyName == exec->propertyNames().name) {406 slot.setCacheableCustom(thisObject, ReadOnly | DontEnum | DontDelete, nameGetter);407 return true;408 }409 410 386 if (propertyName == exec->propertyNames().caller) { 411 387 if (thisObject->jsExecutable()->isStrictMode()) { … … 422 398 } 423 399 400 thisObject->reifyLazyPropertyIfNeeded(exec, propertyName); 401 424 402 return Base::getOwnPropertySlot(thisObject, exec, propertyName, slot); 425 403 } … … 436 414 propertyNames.add(vm.propertyNames->arguments); 437 415 propertyNames.add(vm.propertyNames->caller); 438 propertyNames.add(vm.propertyNames->length); 439 propertyNames.add(vm.propertyNames->name); 416 if (!thisObject->hasReifiedLength()) 417 propertyNames.add(vm.propertyNames->length); 418 if (!thisObject->hasReifiedName()) 419 propertyNames.add(vm.propertyNames->name); 440 420 } 441 421 Base::getOwnNonIndexPropertyNames(thisObject, exec, propertyNames, mode); … … 468 448 return; 469 449 } 470 if (propertyName == exec->propertyNames().arguments || propertyName == exec->propertyNames(). length || propertyName == exec->propertyNames().name || propertyName == exec->propertyNames().caller) {450 if (propertyName == exec->propertyNames().arguments || propertyName == exec->propertyNames().caller) { 471 451 if (slot.isStrictMode()) 472 452 throwTypeError(exec, StrictModeReadonlyPropertyWriteError); 473 453 return; 474 454 } 455 thisObject->reifyLazyPropertyIfNeeded(exec, propertyName); 475 456 Base::put(thisObject, exec, propertyName, value, slot); 476 457 } … … 483 464 FunctionExecutable* executable = thisObject->jsExecutable(); 484 465 if (propertyName == exec->propertyNames().arguments 485 || propertyName == exec->propertyNames().length486 || propertyName == exec->propertyNames().name487 466 || (propertyName == exec->propertyNames().prototype && !executable->isArrowFunction()) 488 467 || propertyName == exec->propertyNames().caller) 489 return false; 468 return false; 469 470 thisObject->reifyLazyPropertyIfNeeded(exec, propertyName); 490 471 } 491 472 … … 526 507 } 527 508 valueCheck = !descriptor.value() || sameValue(exec, descriptor.value(), retrieveCallerFunction(exec, thisObject)); 528 } else if (propertyName == exec->propertyNames().length) 529 valueCheck = !descriptor.value() || sameValue(exec, descriptor.value(), jsNumber(thisObject->jsExecutable()->parameterCount())); 530 else if (propertyName == exec->propertyNames().name) 531 valueCheck = !descriptor.value() || sameValue(exec, descriptor.value(), thisObject->jsExecutable()->nameValue()); 532 else 509 } else { 510 thisObject->reifyLazyPropertyIfNeeded(exec, propertyName); 533 511 return Base::defineOwnProperty(object, exec, propertyName, descriptor, throwException); 512 } 534 513 535 514 if (descriptor.configurablePresent() && descriptor.configurable()) { … … 589 568 } 590 569 570 void JSFunction::reifyLength(ExecState* exec) 571 { 572 VM& vm = exec->vm(); 573 FunctionRareData* rareData = this->rareData(vm); 574 575 ASSERT(!hasReifiedLength()); 576 ASSERT(!isHostFunction()); 577 JSValue initialValue = jsNumber(jsExecutable()->parameterCount()); 578 unsigned initialAttributes = DontEnum | ReadOnly; 579 const Identifier& identifier = exec->propertyNames().length; 580 putDirect(vm, identifier, initialValue, initialAttributes); 581 582 rareData->setHasReifiedLength(); 583 } 584 585 void JSFunction::reifyName(ExecState* exec) 586 { 587 VM& vm = exec->vm(); 588 FunctionRareData* rareData = this->rareData(vm); 589 590 ASSERT(!hasReifiedName()); 591 ASSERT(!isHostFunction()); 592 JSValue initialValue = jsExecutable()->nameValue(); 593 unsigned initialAttributes = DontEnum | ReadOnly; 594 const Identifier& identifier = exec->propertyNames().name; 595 putDirect(vm, identifier, initialValue, initialAttributes); 596 597 rareData->setHasReifiedName(); 598 } 599 600 void JSFunction::reifyLazyPropertyIfNeeded(ExecState* exec, PropertyName propertyName) 601 { 602 if (propertyName == exec->propertyNames().length) { 603 if (!hasReifiedLength()) 604 reifyLength(exec); 605 } else if (propertyName == exec->propertyNames().name) { 606 if (!hasReifiedName()) 607 reifyName(exec); 608 } 609 } 610 591 611 } // namespace JSC -
trunk/Source/JavaScriptCore/runtime/JSFunction.h
r196331 r197205 187 187 return function; 188 188 } 189 189 190 bool hasReifiedLength() const; 191 bool hasReifiedName() const; 192 void reifyLength(ExecState*); 193 void reifyName(ExecState*); 194 void reifyLazyPropertyIfNeeded(ExecState*, PropertyName propertyName); 195 190 196 friend class LLIntOffsetsExtractor; 191 197 -
trunk/Source/JavaScriptCore/runtime/JSFunctionInlines.h
r195070 r197205 1 1 /* 2 * Copyright (C) 2013, 2015 Apple Inc. All rights reserved.2 * Copyright (C) 2013, 2015-2016 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 111 111 } 112 112 113 inline bool JSFunction::hasReifiedLength() const 114 { 115 return m_rareData ? m_rareData->hasReifiedLength() : false; 116 } 117 118 inline bool JSFunction::hasReifiedName() const 119 { 120 return m_rareData ? m_rareData->hasReifiedName() : false; 121 } 122 113 123 } // namespace JSC 114 124 -
trunk/Source/JavaScriptCore/tests/es6.yaml
r197136 r197205 796 796 cmd: runES6 :normal 797 797 - path: es6/function_name_property_class_expressions.js 798 cmd: runES6 : fail798 cmd: runES6 :normal 799 799 - path: es6/function_name_property_class_statements.js 800 cmd: runES6 : fail800 cmd: runES6 :normal 801 801 - path: es6/function_name_property_isnt_writable_is_configurable.js 802 cmd: runES6 : fail802 cmd: runES6 :normal 803 803 - path: es6/function_name_property_object_methods_class.js 804 804 cmd: runES6 :fail … … 870 870 cmd: runES6 :fail 871 871 - path: es6/miscellaneous_function_length_is_configurable.js 872 cmd: runES6 : fail872 cmd: runES6 :normal 873 873 - path: es6/miscellaneous_no_assignments_allowed_in_for-in_head.js 874 874 cmd: runES6 :fail -
trunk/Source/JavaScriptCore/tests/mozilla/ecma/Array/15.4.4.3-1.js
r11995 r197205 53 53 54 54 array[item++] = new TestCase( SECTION, "Array.prototype.join.length", 1, Array.prototype.join.length ); 55 array[item++] = new TestCase( SECTION, "delete Array.prototype.join.length", false,delete Array.prototype.join.length );56 array[item++] = new TestCase( SECTION, " delete Array.prototype.join.length; Array.prototype.join.length", 1, eval("delete Array.prototype.join.length; Array.prototype.join.length"));55 array[item++] = new TestCase( SECTION, "delete Array.prototype.join.length", true, delete Array.prototype.join.length ); 56 array[item++] = new TestCase( SECTION, "Array.prototype.join.length", 0, Array.prototype.join.length ); 57 57 58 58 // case where array length is 0 -
trunk/Source/JavaScriptCore/tests/mozilla/ecma/Array/15.4.4.4-1.js
r11995 r197205 85 85 86 86 testcases[testcases.length] = new TestCase( SECTION, "Array.prototype.reverse.length", 0, Array.prototype.reverse.length ); 87 testcases[testcases.length] = new TestCase( SECTION, "delete Array.prototype.reverse.length", false,delete Array.prototype.reverse.length );88 testcases[testcases.length] = new TestCase( SECTION, " delete Array.prototype.reverse.length; Array.prototype.reverse.length", 0, eval("delete Array.prototype.reverse.length; Array.prototype.reverse.length"));87 testcases[testcases.length] = new TestCase( SECTION, "delete Array.prototype.reverse.length", true, delete Array.prototype.reverse.length ); 88 testcases[testcases.length] = new TestCase( SECTION, "Array.prototype.reverse.length", 0, Array.prototype.reverse.length ); 89 89 90 90 // length of array is 0 -
trunk/Source/JavaScriptCore/tests/mozilla/ecma/Array/15.4.4.4-2.js
r11995 r197205 85 85 86 86 testcases[testcases.length] = new TestCase( SECTION, "Array.prototype.reverse.length", 0, Array.prototype.reverse.length ); 87 testcases[testcases.length] = new TestCase( SECTION, "delete Array.prototype.reverse.length", false,delete Array.prototype.reverse.length );88 testcases[testcases.length] = new TestCase( SECTION, " delete Array.prototype.reverse.length; Array.prototype.reverse.length", 0, eval("delete Array.prototype.reverse.length; Array.prototype.reverse.length"));87 testcases[testcases.length] = new TestCase( SECTION, "delete Array.prototype.reverse.length", true, delete Array.prototype.reverse.length ); 88 testcases[testcases.length] = new TestCase( SECTION, "Array.prototype.reverse.length", 0, Array.prototype.reverse.length ); 89 89 90 90 // length of array is 0 -
trunk/Source/JavaScriptCore/tests/mozilla/ecma/GlobalObject/15.1.2.1-1.js
r11995 r197205 47 47 48 48 array[item++] = new TestCase( SECTION, "eval.length", 1, eval.length ); 49 array[item++] = new TestCase( SECTION, "delete eval.length", false, delete eval.length ); 49 array[item++] = new TestCase( SECTION, "delete eval.length", true, delete eval.length ); 50 array[item++] = new TestCase( SECTION, "eval.length", 0, eval.length ); 50 51 array[item++] = new TestCase( SECTION, "var PROPS = ''; for ( p in eval ) { PROPS += p }; PROPS", "", eval("var PROPS = ''; for ( p in eval ) { PROPS += p }; PROPS") ); 51 array[item++] = new TestCase( SECTION, "eval.length = null; eval.length", 1, eval( "eval.length = null; eval.length") );52 array[item++] = new TestCase( SECTION, "eval.length = null; eval.length", 0, eval( "eval.length = null; eval.length") ); 52 53 // array[item++] = new TestCase( SECTION, "eval.__proto__", Function.prototype, eval.__proto__ ); 53 54 -
trunk/Source/JavaScriptCore/tests/mozilla/ecma/GlobalObject/15.1.2.2-1.js
r103926 r197205 111 111 array[item++] = new TestCase( SECTION, "parseInt.length = 0; parseInt.length", 2, eval("parseInt.length = 0; parseInt.length") ); 112 112 array[item++] = new TestCase( SECTION, "var PROPS=''; for ( var p in parseInt ) { PROPS += p; }; PROPS", "", eval("var PROPS=''; for ( var p in parseInt ) { PROPS += p; }; PROPS") ); 113 array[item++] = new TestCase( SECTION, "delete parseInt.length", false, delete parseInt.length );114 array[item++] = new TestCase( SECTION, " delete parseInt.length; parseInt.length", 2, eval("delete parseInt.length; parseInt.length"));115 array[item++] = new TestCase( SECTION, "parseInt.length = null; parseInt.length", 2, eval("parseInt.length = null; parseInt.length") );113 array[item++] = new TestCase( SECTION, "delete parseInt.length", true, delete parseInt.length ); 114 array[item++] = new TestCase( SECTION, "parseInt.length", 0, parseInt.length ); 115 array[item++] = new TestCase( SECTION, "parseInt.length = null; parseInt.length", 0, eval("parseInt.length = null; parseInt.length") ); 116 116 117 117 array[item++] = new TestCase( SECTION, "parseInt()", NaN, parseInt() ); -
trunk/Source/JavaScriptCore/tests/mozilla/ecma/GlobalObject/15.1.2.3-1.js
r11995 r197205 79 79 80 80 array[item++] = new TestCase( SECTION, "parseFloat.length = null; parseFloat.length", 1, eval("parseFloat.length = null; parseFloat.length") ); 81 array[item++] = new TestCase( SECTION, "delete parseFloat.length", false,delete parseFloat.length );82 array[item++] = new TestCase( SECTION, " delete parseFloat.length; parseFloat.length", 1, eval("delete parseFloat.length; parseFloat.length"));81 array[item++] = new TestCase( SECTION, "delete parseFloat.length", true, delete parseFloat.length ); 82 array[item++] = new TestCase( SECTION, "parseFloat.length", 0, parseFloat.length ); 83 83 array[item++] = new TestCase( SECTION, "var MYPROPS=''; for ( var p in parseFloat ) { MYPROPS += p }; MYPROPS", "", eval("var MYPROPS=''; for ( var p in parseFloat ) { MYPROPS += p }; MYPROPS") ); 84 84 -
trunk/Source/JavaScriptCore/tests/mozilla/ecma/GlobalObject/15.1.2.4.js
r11995 r197205 84 84 array[item++] = new TestCase( SECTION, "escape.length", 1, escape.length ); 85 85 array[item++] = new TestCase( SECTION, "escape.length = null; escape.length", 1, eval("escape.length = null; escape.length") ); 86 array[item++] = new TestCase( SECTION, "delete escape.length", false, delete escape.length );87 array[item++] = new TestCase( SECTION, " delete escape.length; escape.length", 1, eval("delete escape.length; escape.length"));86 array[item++] = new TestCase( SECTION, "delete escape.length", true, delete escape.length ); 87 array[item++] = new TestCase( SECTION, "escape.length", 0, escape.length ); 88 88 array[item++] = new TestCase( SECTION, "var MYPROPS=''; for ( var p in escape ) { MYPROPS+= p}; MYPROPS", "", eval("var MYPROPS=''; for ( var p in escape ) { MYPROPS+= p}; MYPROPS") ); 89 89 -
trunk/Source/JavaScriptCore/tests/mozilla/ecma/GlobalObject/15.1.2.5-1.js
r11995 r197205 82 82 array[item++] = new TestCase( SECTION, "unescape.length", 1, unescape.length ); 83 83 array[item++] = new TestCase( SECTION, "unescape.length = null; unescape.length", 1, eval("unescape.length=null; unescape.length") ); 84 array[item++] = new TestCase( SECTION, "delete unescape.length", false, delete unescape.length );85 array[item++] = new TestCase( SECTION, " delete unescape.length; unescape.length", 1, eval("delete unescape.length; unescape.length"));84 array[item++] = new TestCase( SECTION, "delete unescape.length", true, delete unescape.length ); 85 array[item++] = new TestCase( SECTION, "unescape.length", 0, unescape.length ); 86 86 array[item++] = new TestCase( SECTION, "var MYPROPS=''; for ( var p in unescape ) { MYPROPS+= p }; MYPROPS", "", eval("var MYPROPS=''; for ( var p in unescape ) { MYPROPS+= p }; MYPROPS") ); 87 87 -
trunk/Source/JavaScriptCore/tests/mozilla/ecma/GlobalObject/15.1.2.6.js
r11995 r197205 52 52 array[item++] = new TestCase( SECTION, "var MYPROPS=''; for ( var p in isNaN ) { MYPROPS+= p }; MYPROPS", "", eval("var MYPROPS=''; for ( var p in isNaN ) { MYPROPS+= p }; MYPROPS") ); 53 53 array[item++] = new TestCase( SECTION, "isNaN.length = null; isNaN.length", 1, eval("isNaN.length=null; isNaN.length") ); 54 array[item++] = new TestCase( SECTION, "delete isNaN.length", false,delete isNaN.length );55 array[item++] = new TestCase( SECTION, " delete isNaN.length; isNaN.length", 1, eval("delete isNaN.length; isNaN.length"));54 array[item++] = new TestCase( SECTION, "delete isNaN.length", true, delete isNaN.length ); 55 array[item++] = new TestCase( SECTION, "isNaN.length", 0, isNaN.length ); 56 56 57 57 // array[item++] = new TestCase( SECTION, "isNaN.__proto__", Function.prototype, isNaN.__proto__ ); -
trunk/Source/JavaScriptCore/tests/mozilla/ecma/GlobalObject/15.1.2.7.js
r11995 r197205 51 51 array[item++] = new TestCase( SECTION, "isFinite.length", 1, isFinite.length ); 52 52 array[item++] = new TestCase( SECTION, "isFinite.length = null; isFinite.length", 1, eval("isFinite.length=null; isFinite.length") ); 53 array[item++] = new TestCase( SECTION, "delete isFinite.length", false,delete isFinite.length );54 array[item++] = new TestCase( SECTION, " delete isFinite.length; isFinite.length", 1, eval("delete isFinite.length; isFinite.length"));53 array[item++] = new TestCase( SECTION, "delete isFinite.length", true, delete isFinite.length ); 54 array[item++] = new TestCase( SECTION, "isFinite.length", 0, isFinite.length ); 55 55 array[item++] = new TestCase( SECTION, "var MYPROPS=''; for ( p in isFinite ) { MYPROPS+= p }; MYPROPS", "", eval("var MYPROPS=''; for ( p in isFinite ) { MYPROPS += p }; MYPROPS") ); 56 56 -
trunk/Source/JavaScriptCore/tests/mozilla/ecma/String/15.5.4.10-1.js
r11995 r197205 75 75 76 76 array[item++] = new TestCase( SECTION, "String.prototype.substring.length", 2, String.prototype.substring.length ); 77 array[item++] = new TestCase( SECTION, "delete String.prototype.substring.length", false,delete String.prototype.substring.length );78 array[item++] = new TestCase( SECTION, " delete String.prototype.substring.length; String.prototype.substring.length", 2, eval("delete String.prototype.substring.length; String.prototype.substring.length"));77 array[item++] = new TestCase( SECTION, "delete String.prototype.substring.length", true, delete String.prototype.substring.length ); 78 array[item++] = new TestCase( SECTION, "String.prototype.substring.length", 0, String.prototype.substring.length ); 79 79 80 80 // test cases for when substring is called with no arguments. -
trunk/Source/JavaScriptCore/tests/mozilla/ecma/String/15.5.4.11-1.js
r11995 r197205 56 56 57 57 array[item++] = new TestCase( SECTION, "String.prototype.toLowerCase.length", 0, String.prototype.toLowerCase.length ); 58 array[item++] = new TestCase( SECTION, "delete String.prototype.toLowerCase.length", false,delete String.prototype.toLowerCase.length );59 array[item++] = new TestCase( SECTION, " delete String.prototype.toLowerCase.length; String.prototype.toLowerCase.length", 0, eval("delete String.prototype.toLowerCase.length; String.prototype.toLowerCase.length"));58 array[item++] = new TestCase( SECTION, "delete String.prototype.toLowerCase.length", true, delete String.prototype.toLowerCase.length ); 59 array[item++] = new TestCase( SECTION, "String.prototype.toLowerCase.length", 0, String.prototype.toLowerCase.length ); 60 60 61 61 // Basic Latin, Latin-1 Supplement, Latin Extended A -
trunk/Source/JavaScriptCore/tests/mozilla/ecma/String/15.5.4.11-5.js
r11995 r197205 56 56 57 57 array[item++] = new TestCase( SECTION, "String.prototype.toLowerCase.length", 0, String.prototype.toLowerCase.length ); 58 array[item++] = new TestCase( SECTION, "delete String.prototype.toLowerCase.length", false,delete String.prototype.toLowerCase.length );59 array[item++] = new TestCase( SECTION, " delete String.prototype.toLowerCase.length; String.prototype.toLowerCase.length", 0, eval("delete String.prototype.toLowerCase.length; String.prototype.toLowerCase.length"));58 array[item++] = new TestCase( SECTION, "delete String.prototype.toLowerCase.length", true, delete String.prototype.toLowerCase.length ); 59 array[item++] = new TestCase( SECTION, "String.prototype.toLowerCase.length", 0, String.prototype.toLowerCase.length ); 60 60 61 61 // Cyrillic (part) -
trunk/Source/JavaScriptCore/tests/mozilla/ecma/String/15.5.4.12-1.js
r13740 r197205 56 56 57 57 array[item++] = new TestCase( SECTION, "String.prototype.toUpperCase.length", 0, String.prototype.toUpperCase.length ); 58 array[item++] = new TestCase( SECTION, "delete String.prototype.toUpperCase.length", false,delete String.prototype.toUpperCase.length );59 array[item++] = new TestCase( SECTION, " delete String.prototype.toupperCase.length; String.prototype.toupperCase.length", 0, eval("delete String.prototype.toUpperCase.length; String.prototype.toUpperCase.length"));58 array[item++] = new TestCase( SECTION, "delete String.prototype.toUpperCase.length", true, delete String.prototype.toUpperCase.length ); 59 array[item++] = new TestCase( SECTION, "String.prototype.toUpperCase.length", 0, String.prototype.toUpperCase.length ); 60 60 61 61 // Basic Latin, Latin-1 Supplement, Latin Extended A -
trunk/Source/JavaScriptCore/tests/mozilla/ecma/String/15.5.4.6-2.js
r91095 r197205 104 104 array[item++] = new TestCase( SECTION, "String.prototype.indexOf.length", 1, String.prototype.indexOf.length ); 105 105 array[item++] = new TestCase( SECTION, "String.prototype.indexOf.length = null; String.prototype.indexOf.length", 1, eval("String.prototype.indexOf.length = null; String.prototype.indexOf.length") ); 106 array[item++] = new TestCase( SECTION, "delete String.prototype.indexOf.length", false, delete String.prototype.indexOf.length );107 array[item++] = new TestCase( SECTION, " delete String.prototype.indexOf.length; String.prototype.indexOf.length", 1, eval("delete String.prototype.indexOf.length; String.prototype.indexOf.length"));106 array[item++] = new TestCase( SECTION, "delete String.prototype.indexOf.length", true, delete String.prototype.indexOf.length ); 107 array[item++] = new TestCase( SECTION, "String.prototype.indexOf.length", 0, String.prototype.indexOf.length ); 108 108 109 109 array[item++] = new TestCase( SECTION, "var s = new String(); s.indexOf()", -1, eval("var s = new String(); s.indexOf()") ); -
trunk/Source/JavaScriptCore/tests/mozilla/ecma/String/15.5.4.7-2.js
r11995 r197205 76 76 77 77 array[item++] = new TestCase( SECTION, "String.prototype.lastIndexOf.length", 1, String.prototype.lastIndexOf.length ); 78 array[item++] = new TestCase( SECTION, "delete String.prototype.lastIndexOf.length", false,delete String.prototype.lastIndexOf.length );79 array[item++] = new TestCase( SECTION, " delete String.prototype.lastIndexOf.length; String.prototype.lastIndexOf.length", 1, eval("delete String.prototype.lastIndexOf.length; String.prototype.lastIndexOf.length" ));78 array[item++] = new TestCase( SECTION, "delete String.prototype.lastIndexOf.length", true, delete String.prototype.lastIndexOf.length ); 79 array[item++] = new TestCase( SECTION, "String.prototype.lastIndexOf.length", 0, String.prototype.lastIndexOf.length ); 80 80 81 81 array[item++] = new TestCase( SECTION, "var s = new String(''); s.lastIndexOf('', 0)", LastIndexOf("","",0), eval("var s = new String(''); s.lastIndexOf('', 0)") ); -
trunk/Source/JavaScriptCore/tests/mozilla/ecma/String/15.5.4.8-1.js
r11995 r197205 62 62 63 63 array[item++] = new TestCase( SECTION, "String.prototype.split.length", 2, String.prototype.split.length ); 64 array[item++] = new TestCase( SECTION, "delete String.prototype.split.length", false,delete String.prototype.split.length );65 array[item++] = new TestCase( SECTION, " delete String.prototype.split.length; String.prototype.split.length", 2, eval("delete String.prototype.split.length; String.prototype.split.length"));64 array[item++] = new TestCase( SECTION, "delete String.prototype.split.length", true, delete String.prototype.split.length ); 65 array[item++] = new TestCase( SECTION, "String.prototype.split.length", 0, String.prototype.split.length ); 66 66 67 67 // test cases for when split is called with no arguments. -
trunk/Source/JavaScriptCore/tests/mozilla/ecma/String/15.5.4.9-1.js
r11995 r197205 65 65 66 66 array[item++] = new TestCase( SECTION, "String.prototype.substring.length", 2, String.prototype.substring.length ); 67 array[item++] = new TestCase( SECTION, "delete String.prototype.substring.length", false,delete String.prototype.substring.length );68 array[item++] = new TestCase( SECTION, " delete String.prototype.substring.length; String.prototype.substring.length", 2, eval("delete String.prototype.substring.length; String.prototype.substring.length"));67 array[item++] = new TestCase( SECTION, "delete String.prototype.substring.length", true, delete String.prototype.substring.length ); 68 array[item++] = new TestCase( SECTION, "String.prototype.substring.length", 0, String.prototype.substring.length ); 69 69 70 70 // test cases for when substring is called with no arguments.
Note: See TracChangeset
for help on using the changeset viewer.