diff --git a/test/language/expressions/addition/S11.6.1_A2.4_T3.js b/test/language/expressions/addition/S11.6.1_A2.4_T3.js index 186edf81c9ce780c5037fff2d9248bf3b6023bd5..3354e28b6f5fa22b68839d640bbc76525d7b00bc 100644 --- a/test/language/expressions/addition/S11.6.1_A2.4_T3.js +++ b/test/language/expressions/addition/S11.6.1_A2.4_T3.js @@ -17,8 +17,3 @@ catch (e) { $ERROR('#1.2: x + (x = 1) throw ReferenceError. Actual: ' + (e)); } } - -//CHECK#2 -if ((y = 1) + y !== 2) { - $ERROR('#2: (y = 1) + y === 2. Actual: ' + ((y = 1) + y)); -} diff --git a/test/language/expressions/addition/S11.6.1_A2.4_T4.js b/test/language/expressions/addition/S11.6.1_A2.4_T4.js new file mode 100644 index 0000000000000000000000000000000000000000..9e67f2cad40b3438a6d9e7345f828c6719733ab4 --- /dev/null +++ b/test/language/expressions/addition/S11.6.1_A2.4_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: First expression is evaluated first, and then second expression +es5id: 11.6.1_A2.4_T4 +description: Checking with undeclarated variables +flags: [noStrict] +---*/ + +//CHECK#1 +if ((y = 1) + y !== 2) { + $ERROR('#1: (y = 1) + y === 2. Actual: ' + ((y = 1) + y)); +} diff --git a/test/language/expressions/assignment/11.13.1-4-1.js b/test/language/expressions/assignment/11.13.1-4-1.js index 6880dcf5470632adad542886b799e60be3253353..11288101f044600664e9ad19d9697f05992faad6 100644 --- a/test/language/expressions/assignment/11.13.1-4-1.js +++ b/test/language/expressions/assignment/11.13.1-4-1.js @@ -10,6 +10,7 @@ es5id: 11.13.1-4-1 description: > simple assignment creates property on the global object if LeftHandSide is an unresolvable reference +flags: [noStrict] includes: - runTestCase.js - fnGlobalObject.js diff --git a/test/language/expressions/assignment/8.14.4-8-b_1.js b/test/language/expressions/assignment/8.14.4-8-b_1.js index 68466814a4a5fc8b43447aacfff880ec70903b2e..04b5e94d4b8624bc77b3ca97272b3fc4db005a26 100644 --- a/test/language/expressions/assignment/8.14.4-8-b_1.js +++ b/test/language/expressions/assignment/8.14.4-8-b_1.js @@ -7,6 +7,7 @@ /*--- es5id: 8.14.4-8-b_1 description: Non-writable property on a prototype written to. +flags: [noStrict] includes: [runTestCase.js] ---*/ diff --git a/test/language/expressions/assignment/S11.13.1_A3.1.js b/test/language/expressions/assignment/S11.13.1_A3.1.js index 99f36c01f53b6e8bb0caa4bf39436709ca92444e..5ac63875af9033356cae383a93b5c8f8f200b340 100644 --- a/test/language/expressions/assignment/S11.13.1_A3.1.js +++ b/test/language/expressions/assignment/S11.13.1_A3.1.js @@ -14,7 +14,7 @@ if (x !== 1) { } //CHECK#2 -y = 1; -if (y !== 1) { - $ERROR('#2: y = 1; y === 1. Actual: ' + (y)); +x = 1; +if (x !== 1) { + $ERROR('#2: x = 1; x === 1. Actual: ' + (x)); } diff --git a/test/language/expressions/assignment/S11.13.1_A4_T1.js b/test/language/expressions/assignment/S11.13.1_A4_T1.js index 6bb3846c1c538500ea22030d56eeaf568c3495b1..2ca8e54b8c86d68d94f738f4639ea9f5caa837bc 100644 --- a/test/language/expressions/assignment/S11.13.1_A4_T1.js +++ b/test/language/expressions/assignment/S11.13.1_A4_T1.js @@ -8,6 +8,7 @@ description: Syntax check ---*/ //CHECK#1 +var x; x = x = 1; if (x !== 1) { $ERROR('#1: The expression x = x = 1 is the same x = (x = 1), not (x = x) = 1. Actual: ' + (x)); diff --git a/test/language/expressions/call/11.2.3-3_1.js b/test/language/expressions/call/11.2.3-3_1.js index 25b66f4580ecd6eb1548bb44931a28d818b1736f..c1495dba644f25e9b518e60c4ff61d3d57ca0182 100644 --- a/test/language/expressions/call/11.2.3-3_1.js +++ b/test/language/expressions/call/11.2.3-3_1.js @@ -19,7 +19,7 @@ function testcase() { var o = { }; try { o.bar( foo() ); - throw new Exception("o.bar does not exist!"); + $ERROR("o.bar does not exist!"); } catch(e) { return (e instanceof TypeError) && (fooCalled===true); } diff --git a/test/language/expressions/call/11.2.3-3_2.js b/test/language/expressions/call/11.2.3-3_2.js index 43e58d5d2de8a0787ab6d2f0a6dcb830a426542f..92987c081e1cd145df24fb18504acf85183200f7 100644 --- a/test/language/expressions/call/11.2.3-3_2.js +++ b/test/language/expressions/call/11.2.3-3_2.js @@ -19,7 +19,7 @@ function testcase() { var o = { }; try { o.bar( foo() ); - throw new Exception("o.bar does not exist!"); + $ERROR("o.bar does not exist!"); } catch(e) { return (e instanceof TypeError) && (fooCalled===true); } diff --git a/test/language/expressions/call/11.2.3-3_3.js b/test/language/expressions/call/11.2.3-3_3.js index 2f3445f773bbbb3e50553ab078a72fb277af1b6e..51c43dd39964a1e228b245da309fd9a87b60eced 100644 --- a/test/language/expressions/call/11.2.3-3_3.js +++ b/test/language/expressions/call/11.2.3-3_3.js @@ -19,7 +19,7 @@ function testcase() { var o = { }; try { o.bar.gar( foo() ); - throw new Exception("o.bar does not exist!"); + $ERROR("o.bar does not exist!"); } catch(e) { return (e instanceof TypeError) && (fooCalled===false); } diff --git a/test/language/expressions/call/11.2.3-3_4.js b/test/language/expressions/call/11.2.3-3_4.js index 4b725d1855220b8fdf17993a9c2ca9673bb8d87e..328aac8ea041a95ccb62eac79fedf9f239ac5a4a 100644 --- a/test/language/expressions/call/11.2.3-3_4.js +++ b/test/language/expressions/call/11.2.3-3_4.js @@ -21,7 +21,7 @@ function testcase() { set: function(x) {this.barSetter = true; }}); try { o.bar( foo() ); - throw new Exception("o.bar does not exist!"); + $ERROR("o.bar does not exist!"); } catch(e) { return (e instanceof TypeError) && (fooCalled===true) && (o.barGetter===true) && (o.barSetter===undefined); } diff --git a/test/language/expressions/call/11.2.3-3_5.js b/test/language/expressions/call/11.2.3-3_5.js index 6bc71138bf0623a9292e8d3fdfb9019da126e225..93bc8709103be7a7b3b17a764b22d34961621e6d 100644 --- a/test/language/expressions/call/11.2.3-3_5.js +++ b/test/language/expressions/call/11.2.3-3_5.js @@ -19,7 +19,7 @@ function testcase() { var o = { }; try { eval("o.bar( foo() );"); - throw new Exception("o.bar does not exist!"); + $ERROR("o.bar does not exist!"); } catch(e) { return (e instanceof TypeError) && (fooCalled===true); } diff --git a/test/language/expressions/call/11.2.3-3_6.js b/test/language/expressions/call/11.2.3-3_6.js index e484b615e701e20697d1295b969beffb95ea4466..798e7bcdf3b1f79543dd1b46fff287773407a8b0 100644 --- a/test/language/expressions/call/11.2.3-3_6.js +++ b/test/language/expressions/call/11.2.3-3_6.js @@ -18,7 +18,7 @@ function testcase() { set: function(x) {this.barSetter = true; }}); try { o.foo( o.bar ); - throw new Exception("o.foo does not exist!"); + $ERROR("o.foo does not exist!"); } catch(e) { return (e instanceof TypeError) && (o.barGetter===true) && (o.barSetter===undefined); } diff --git a/test/language/expressions/call/11.2.3-3_7.js b/test/language/expressions/call/11.2.3-3_7.js index 8d5bc30abd8d8495c0444d962a0c9f2f0d851313..ad6743f51ce43382d6e7e5becf15cd252eb0d055 100644 --- a/test/language/expressions/call/11.2.3-3_7.js +++ b/test/language/expressions/call/11.2.3-3_7.js @@ -18,7 +18,7 @@ function testcase() { set: function(x) {this.barSetter = true; }}); try { o.foo( o["bar"] ); - throw new Exception("o.foo does not exist!"); + $ERROR("o.foo does not exist!"); } catch(e) { return (e instanceof TypeError) && (o.barGetter===true) && (o.barSetter===undefined); } diff --git a/test/language/expressions/call/11.2.3-3_8.js b/test/language/expressions/call/11.2.3-3_8.js index fd264aa859e196212e484026a02403fc1e402b1a..78d463a25a58f7e25a14110ad702249a0c3b1486 100644 --- a/test/language/expressions/call/11.2.3-3_8.js +++ b/test/language/expressions/call/11.2.3-3_8.js @@ -9,22 +9,18 @@ es5id: 11.2.3-3_8 description: > Call arguments are evaluated before the check is made to see if the object is actually callable (global object) +flags: [noStrict] includes: - runTestCase.js - - fnGlobalObject.js ---*/ function testcase() { - if (this!==fnGlobalObject()) { - return; - } - var fooCalled = false; function foo(){ fooCalled = true; } try { this.bar( foo() ); - throw new Exception("this.bar does not exist!"); + $ERROR("this.bar does not exist!"); } catch(e) { return (e instanceof TypeError) && (fooCalled===true); } diff --git a/test/language/expressions/call/S11.2.4_A1.4_T1.js b/test/language/expressions/call/S11.2.4_A1.4_T1.js index a4eb249e2c2ed01e01a4caceeb5b80b813c3005d..56b2ec3086944bd9c3319f88983c8e89e478c9dd 100644 --- a/test/language/expressions/call/S11.2.4_A1.4_T1.js +++ b/test/language/expressions/call/S11.2.4_A1.4_T1.js @@ -10,6 +10,7 @@ description: > ArgumentList, in order, followed at the end by GetValue(AssignmentExpression), which is the last item of the new list +flags: [noStrict] ---*/ function f_arg() { diff --git a/test/language/expressions/call/S11.2.4_A1.4_T3.js b/test/language/expressions/call/S11.2.4_A1.4_T3.js index 72bf97a6407699978fc6673df6d377833e2b4c07..4559c344e15cbaff6d22c20f07fa9d636b681522 100644 --- a/test/language/expressions/call/S11.2.4_A1.4_T3.js +++ b/test/language/expressions/call/S11.2.4_A1.4_T3.js @@ -10,6 +10,7 @@ description: > ArgumentList, in order, followed at the end by GetValue(AssignmentExpression), which is the last item of the new list +flags: [noStrict] ---*/ function f_arg(x,y,z) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T1.js b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T1.js index 8eabda129519dcb83c8c9c843b83d4d5d33c3914..e28f9082a0e2ecdeec36275461661209b60a98b8 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T1.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T1.js @@ -15,6 +15,7 @@ if (x !== -1) { } //CHECK#2 +var y; y = 1; y *= -1; if (y !== -1) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T10.js b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T10.js index c0797660681078d49da7538dce70d781e0a2c9db..450a7a92b9a738d30ae81fcc2249e5649619e16d 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T10.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T10.js @@ -15,6 +15,7 @@ if (x !== 1) { } //CHECK#2 +var y; y = 1; y ^= 0; if (y !== 1) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T11.js b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T11.js index f1ff9dc3846b6d80942056aa61d9a6432ca9e195..c4eaee24b188ee1e5196eab921ec9cabb1e3936e 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T11.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T11.js @@ -15,6 +15,7 @@ if (x !== 1) { } //CHECK#2 +var y; y = 1; y |= 0; if (y !== 1) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T2.js b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T2.js index 1dadbb26470078cc61ecc6c01fb10f56ef66d27f..950ff818a0452d57efcb23bbcc286a50eee5413e 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T2.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T2.js @@ -15,6 +15,7 @@ if (x !== -1) { } //CHECK#2 +var y; y = 1; y /= -1; if (y !== -1) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T3.js b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T3.js index 6bd03a441d5ee96bf0d6587f5464e0b02afedf7c..028c7ad40b72efbe3392a85b62abe76d0eb979e6 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T3.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T3.js @@ -15,6 +15,7 @@ if (x !== -1) { } //CHECK#2 +var y; y = -1; y %= 2; if (y !== -1) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T4.js b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T4.js index e9cb914939077a451db257b0a292ae6f81cf3066..6bbbcccfa85dac6b861e94809f1b5cb38561f3dd 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T4.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T4.js @@ -15,6 +15,7 @@ if (x !== 2) { } //CHECK#2 +var y; y = 1; y += 1; if (y !== 2) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T5.js b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T5.js index 43f30546bae0f13f63a5daa654089a40a1b24f9b..1ee5d6c0d59a271c8c45f3d523598120fe2c3c0f 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T5.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T5.js @@ -15,6 +15,7 @@ if (x !== -2) { } //CHECK#2 +var y; y = -1; y -= 1; if (y !== -2) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T6.js b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T6.js index e935cdfd7825533a25d4cc19b0c750f0c47250f6..bd13b51ed632bdacb5fb71c8ad1484662e278e38 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T6.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T6.js @@ -15,6 +15,7 @@ if (x !== 2) { } //CHECK#2 +var y; y = 1; y <<= 1; if (y !== 2) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T7.js b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T7.js index c29b2d04bd5d0c167cd780dc4d55dc6bbf556fce..c63dab71ca9ad47a7e2ca8439e816d7796d62a9c 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T7.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T7.js @@ -15,6 +15,7 @@ if (x !== 2) { } //CHECK#2 +var y; y = 4; y >>= 1; if (y !== 2) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T8.js b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T8.js index dd27c8fc5d6620c01a7687e0f7b460565599fe5a..ecdea09107f0fef67104b9891757a96d470334a4 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T8.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T8.js @@ -15,6 +15,7 @@ if (x !== 2) { } //CHECK#2 +var y; y = 4; y >>>= 1; if (y !== 2) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T9.js b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T9.js index f268113c0b31cc40a543505e206b3e367add4a87..f137347487c30f6d8866664e1311e15a012d5cbc 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.1_T9.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.1_T9.js @@ -15,6 +15,7 @@ if (x !== 1) { } //CHECK#2 +var y; y = 1; y &= 1; if (y !== 1) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T1.js b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T1.js index 8829ba1de188da6eb4ae1c1fde159ac10d5618ab..2eee2021bcef1595e377186dcb3c9f66601cd907 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T1.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T1.js @@ -15,6 +15,8 @@ if (x1 !== -1) { } //CHECK#2 +var y; +var y1; y = 1; y1 = (y *= -1); if (y1 !== -1) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T10.js b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T10.js index 04c77c809955bb9941e5603c9fc21215919189b1..2a0232c6663abc87091aa6f41160d735e601c367 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T10.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T10.js @@ -15,6 +15,8 @@ if (x1 !== 1) { } //CHECK#2 +var y; +var y1; y = 1; y1 = (y ^= 0); if (y1 !== 1) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T11.js b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T11.js index 23a326b01b35419397f37d784dec405c64cc005f..5fc85731a4d7834b2d0f399fda414cbff7b5b93f 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T11.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T11.js @@ -15,6 +15,8 @@ if (x1 !== 1) { } //CHECK#2 +var y; +var y1; y = 1; y1 = (y |= 0); if (y1 !== 1) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T2.js b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T2.js index bae64b71d3ef84f2b9b4391505fae71785ffba55..81eed82481363d913770f9e31f03c068e1cf1950 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T2.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T2.js @@ -15,6 +15,8 @@ if (x1 !== -1) { } //CHECK#2 +var y; +var y1; y = 1; y1 = (y /= -1); if (y1 !== -1) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T3.js b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T3.js index 081264d7fa0a82406b15cacb16f55907b7058995..a7fd78678eefa0eb119aa2c76b7b358febcd678f 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T3.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T3.js @@ -15,6 +15,8 @@ if (x1 !== -1) { } //CHECK#2 +var y; +var y1; y = -1; y1 = (y %= 2); if (y1 !== -1) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T4.js b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T4.js index e1ff3715ceb863ab224ae69643a5d01efb43f95a..b671506286c00f6832e8441b5030425e08214c32 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T4.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T4.js @@ -15,6 +15,8 @@ if (x1 !== 2) { } //CHECK#2 +var y; +var y1; y = 1; y1 = (y += 1); if (y1 !== 2) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T5.js b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T5.js index de2cce7f585868ab232bcb9a81bf55fceaf6ec8c..2275b5a0c0c3cb2794f3b04e456df214d45346a9 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T5.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T5.js @@ -15,6 +15,8 @@ if (x1 !== -2) { } //CHECK#2 +var y; +var y1; y = -1; y1 = (y -= 1); if (y1 !== -2) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T6.js b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T6.js index 9406b51ec4e577981af6af2d7fb7339ad86d4f58..8214229331f75f2cee6c3cd85f39ef7a65cbd6de 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T6.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T6.js @@ -15,6 +15,8 @@ if (x1 !== 2) { } //CHECK#2 +var y; +var y1; y = 1; y1 = (y <<= 1); if (y1 !== 2) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T7.js b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T7.js index 85c0691db6d4864e94cad1423d5b4a6c6e0feaea..a48fdfb6b79a45837073917782c1112d776b597c 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T7.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T7.js @@ -15,6 +15,8 @@ if (x1 !== 2) { } //CHECK#2 +var y; +var y1; y = 4; y1 = (y >>= 1); if (y1 !== 2) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T8.js b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T8.js index 1ce1911c0ea6f5f417db602b34e2b51f16c23736..66356af16c1b1eaeb688a69489e04afa21648b3c 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T8.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T8.js @@ -15,6 +15,8 @@ if (x1 !== 2) { } //CHECK#2 +var y; +var y1; y = 4; y1 = (y >>>= 1); if (y1 !== 2) { diff --git a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T9.js b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T9.js index db8362f239414ae996cb64ea24638cbebf640137..9b5f3fbc1bd93912285eaaa3f06e067020a5b4a9 100644 --- a/test/language/expressions/compound-assignment/S11.13.2_A3.2_T9.js +++ b/test/language/expressions/compound-assignment/S11.13.2_A3.2_T9.js @@ -15,6 +15,8 @@ if (x1 !== 1) { } //CHECK#2 +var y; +var y1; y = 1; y1 = (y &= 1); if (y1 !== 1) { diff --git a/test/language/expressions/delete/11.4.1-0-1.js b/test/language/expressions/delete/11.4.1-0-1.js index b1e924387c2ae7cde8f3dcc3db97ebbe43a31de9..7bcf99a86e36837f5de7b3627ebb94b57c576211 100644 --- a/test/language/expressions/delete/11.4.1-0-1.js +++ b/test/language/expressions/delete/11.4.1-0-1.js @@ -10,6 +10,7 @@ info: > language provides no way to directly exercise [[Delete]], the tests are placed here. es5id: 11.4.1-0-1 description: delete operator as UnaryExpression +flags: [noStrict] includes: [runTestCase.js] ---*/ diff --git a/test/language/expressions/delete/11.4.1-3-1.js b/test/language/expressions/delete/11.4.1-3-1.js index 1da46b3767448038b47e3cde9e83a732d95a1c49..aac7f0af7da81a78edec5b2615a4249abadbcf78 100644 --- a/test/language/expressions/delete/11.4.1-3-1.js +++ b/test/language/expressions/delete/11.4.1-3-1.js @@ -9,6 +9,7 @@ es5id: 11.4.1-3-1 description: > delete operator returns true when deleting an unresolvable reference +flags: [noStrict] includes: [runTestCase.js] ---*/ diff --git a/test/language/expressions/delete/11.4.1-4.a-11.js b/test/language/expressions/delete/11.4.1-4.a-11.js index 0cc425d62997fe1541f7b6d675ae4596e9b61df7..a4f4b01a3f96369b4a8dc62075162a7c3f838ded 100644 --- a/test/language/expressions/delete/11.4.1-4.a-11.js +++ b/test/language/expressions/delete/11.4.1-4.a-11.js @@ -12,6 +12,7 @@ es5id: 11.4.1-4.a-11 description: > delete operator returns true on deleting arguments propterties(arguments.callee) +flags: [noStrict] includes: [runTestCase.js] ---*/ diff --git a/test/language/expressions/delete/11.4.1-4.a-12.js b/test/language/expressions/delete/11.4.1-4.a-12.js index b1b1e2ac43f9167da92af51e3658694b34decf50..cf708f893808b06cd441b8c4f0508419e20aa817 100644 --- a/test/language/expressions/delete/11.4.1-4.a-12.js +++ b/test/language/expressions/delete/11.4.1-4.a-12.js @@ -10,6 +10,7 @@ info: > language provides no way to directly exercise [[Delete]], the tests are placed here. es5id: 11.4.1-4.a-12 description: delete operator returns false when deleting a property(length) +flags: [noStrict] includes: [runTestCase.js] ---*/ diff --git a/test/language/expressions/delete/11.4.1-4.a-13.js b/test/language/expressions/delete/11.4.1-4.a-13.js index 680341179f0b3459ff0433d598ac7c19f8736b69..69966f3cf88c0e57cb542cb40edf81eb24bd5055 100644 --- a/test/language/expressions/delete/11.4.1-4.a-13.js +++ b/test/language/expressions/delete/11.4.1-4.a-13.js @@ -10,6 +10,7 @@ info: > language provides no way to directly exercise [[Delete]], the tests are placed here. es5id: 11.4.1-4.a-13 description: delete operator returns false when deleting Array object +flags: [noStrict] includes: [runTestCase.js] ---*/ diff --git a/test/language/expressions/delete/11.4.1-4.a-16.js b/test/language/expressions/delete/11.4.1-4.a-16.js index 0b716d7cadbe6bc7e1bd2ad50bc4eca04cedb833..bb324b7aaad37143ee58dbb178312b21be3be889 100644 --- a/test/language/expressions/delete/11.4.1-4.a-16.js +++ b/test/language/expressions/delete/11.4.1-4.a-16.js @@ -10,6 +10,7 @@ info: > language provides no way to directly exercise [[Delete]], the tests are placed here. es5id: 11.4.1-4.a-16 description: delete operator returns false on deleting arguments object +flags: [noStrict] includes: [runTestCase.js] ---*/ diff --git a/test/language/expressions/delete/11.4.1-4.a-3.js b/test/language/expressions/delete/11.4.1-4.a-3.js index eea4bd84eceba73317b7876a72aabe54b89be388..1fc6659b6fda9355dc520c7c098837694a4dadbf 100644 --- a/test/language/expressions/delete/11.4.1-4.a-3.js +++ b/test/language/expressions/delete/11.4.1-4.a-3.js @@ -12,6 +12,7 @@ es5id: 11.4.1-4.a-3 description: > delete operator returns false when deleting a non-configurable data property +flags: [noStrict] includes: [runTestCase.js] ---*/ diff --git a/test/language/expressions/delete/11.4.1-4.a-4.js b/test/language/expressions/delete/11.4.1-4.a-4.js index 736e70f44110b31fe75bee907a9669862f6a107d..d5bc35d08af18a860e861c0564781eee159d914a 100644 --- a/test/language/expressions/delete/11.4.1-4.a-4.js +++ b/test/language/expressions/delete/11.4.1-4.a-4.js @@ -12,6 +12,7 @@ es5id: 11.4.1-4.a-4 description: > delete operator returns false when deleting a non-configurable data property (NaN) +flags: [noStrict] includes: [runTestCase.js] ---*/ diff --git a/test/language/expressions/delete/11.4.1-4.a-5.js b/test/language/expressions/delete/11.4.1-4.a-5.js index 723f10dce0b9da69ef9d0a1f16cc506a1da1ddd3..c53aa0a006c11771926c6ebdaa056bb114c379c2 100644 --- a/test/language/expressions/delete/11.4.1-4.a-5.js +++ b/test/language/expressions/delete/11.4.1-4.a-5.js @@ -12,6 +12,7 @@ es5id: 11.4.1-4.a-5 description: > delete operator returns false when deleting the environment object inside 'with' +flags: [noStrict] includes: [runTestCase.js] ---*/ diff --git a/test/language/expressions/delete/11.4.1-4.a-6.js b/test/language/expressions/delete/11.4.1-4.a-6.js index c940630fdd8c695ba50845a7f36d5154fad8fa41..f49044f573a7477bf3ede0b9ad0fc68cda38c23e 100644 --- a/test/language/expressions/delete/11.4.1-4.a-6.js +++ b/test/language/expressions/delete/11.4.1-4.a-6.js @@ -10,6 +10,7 @@ info: > language provides no way to directly exercise [[Delete]], the tests are placed here. es5id: 11.4.1-4.a-6 description: delete operator returns true when deleting a property inside 'with' +flags: [noStrict] includes: [runTestCase.js] ---*/ diff --git a/test/language/expressions/delete/11.4.1-4.a-7.js b/test/language/expressions/delete/11.4.1-4.a-7.js index 3379e544e35014135322e9bb0ced1137f9b3d619..e41da2ed49b633db4aff709e8706483dd8c50860 100644 --- a/test/language/expressions/delete/11.4.1-4.a-7.js +++ b/test/language/expressions/delete/11.4.1-4.a-7.js @@ -10,6 +10,7 @@ info: > language provides no way to directly exercise [[Delete]], the tests are placed here. es5id: 11.4.1-4.a-7 description: delete operator inside 'eval' +flags: [noStrict] includes: [runTestCase.js] ---*/ diff --git a/test/language/expressions/delete/11.4.1-4.a-8.js b/test/language/expressions/delete/11.4.1-4.a-8.js index 4b28f9c84d9c19c0bc93e2ad0431e9e2434548d9..3492b07623deb9ce67caf3aa8f2e64159e8f18ed 100644 --- a/test/language/expressions/delete/11.4.1-4.a-8.js +++ b/test/language/expressions/delete/11.4.1-4.a-8.js @@ -10,6 +10,7 @@ info: > language provides no way to directly exercise [[Delete]], the tests are placed here. es5id: 11.4.1-4.a-8 description: delete operator returns true for built-in objects (JSON) +flags: [noStrict] includes: [runTestCase.js] ---*/ diff --git a/test/language/expressions/delete/11.4.1-4.a-9.js b/test/language/expressions/delete/11.4.1-4.a-9.js index e690954c7473a6189af9c2b8a1432bfbf27322f9..0b6b234909531255108594317231873d67b55c96 100644 --- a/test/language/expressions/delete/11.4.1-4.a-9.js +++ b/test/language/expressions/delete/11.4.1-4.a-9.js @@ -12,6 +12,7 @@ es5id: 11.4.1-4.a-9 description: > delete operator returns false when deleting a non-configurable data property (Math.LN2) +flags: [noStrict] includes: [runTestCase.js] ---*/ diff --git a/test/language/expressions/delete/11.4.1-5-1.js b/test/language/expressions/delete/11.4.1-5-1.js index cde7ae1ced0c6967ee540fba86a34b134d1aa53f..cdd7d2f1c29837cb147c6260573c656afcc7e327 100644 --- a/test/language/expressions/delete/11.4.1-5-1.js +++ b/test/language/expressions/delete/11.4.1-5-1.js @@ -9,6 +9,7 @@ es5id: 11.4.1-5-1 description: > delete operator returns false when deleting a direct reference to a var +flags: [noStrict] includes: [runTestCase.js] ---*/ diff --git a/test/language/expressions/delete/11.4.1-5-2.js b/test/language/expressions/delete/11.4.1-5-2.js index bdfc64b396d3f1796d18f9f70320a97f0a209e43..fa560adc9fd1975061b9b994257284970f4fd2fb 100644 --- a/test/language/expressions/delete/11.4.1-5-2.js +++ b/test/language/expressions/delete/11.4.1-5-2.js @@ -9,6 +9,7 @@ es5id: 11.4.1-5-2 description: > delete operator returns false when deleting a direct reference to a function argument +flags: [noStrict] includes: [runTestCase.js] ---*/ diff --git a/test/language/expressions/delete/11.4.1-5-3.js b/test/language/expressions/delete/11.4.1-5-3.js index bff19aad089ec6a0f536133c3c6b3a9296891988..1ded93765704f953ddbd0b8c6ef48319e74c77c8 100644 --- a/test/language/expressions/delete/11.4.1-5-3.js +++ b/test/language/expressions/delete/11.4.1-5-3.js @@ -9,6 +9,7 @@ es5id: 11.4.1-5-3 description: > delete operator returns false when deleting a direct reference to a function name +flags: [noStrict] includes: - runTestCase.js - fnExists.js diff --git a/test/language/expressions/delete/S11.4.1_A2.2_T1.js b/test/language/expressions/delete/S11.4.1_A2.2_T1.js index 333d1e05020362c0b6be58608e7c2c0094cc7609..17eb9cf20a4bfb977218991516ee33f5397a0b38 100644 --- a/test/language/expressions/delete/S11.4.1_A2.2_T1.js +++ b/test/language/expressions/delete/S11.4.1_A2.2_T1.js @@ -5,14 +5,10 @@ info: If GetBase(x) doesn't have a property GetPropertyName(x), return true es5id: 11.4.1_A2.2_T1 description: Checking undeclared variable case +flags: [noStrict] ---*/ //CHECK#1 if (delete x !== true) { $ERROR('#1: delete x === true'); } - -//CHECK#2 -if (delete this.x !== true) { - $ERROR('#2: delete this.x === true'); -} diff --git a/test/language/expressions/delete/S11.4.1_A2.2_T3.js b/test/language/expressions/delete/S11.4.1_A2.2_T3.js new file mode 100755 index 0000000000000000000000000000000000000000..cf63124c6645481e80f5e492422303d3ab3aae6b --- /dev/null +++ b/test/language/expressions/delete/S11.4.1_A2.2_T3.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: If GetBase(x) doesn't have a property GetPropertyName(x), return true +es5id: 11.4.1_A2.2_T3 +description: Checking undeclared variable case +---*/ + +//CHECK#1 +if (delete this.x !== true) { + $ERROR('#1: delete this.x === true'); +} diff --git a/test/language/expressions/delete/S11.4.1_A3.1.js b/test/language/expressions/delete/S11.4.1_A3.1.js index d60cb66e21c0218e73e19ceb54a7dcc373032f8e..8a5fd33e89c1614538dc331f7a7e7fe9a19c42be 100644 --- a/test/language/expressions/delete/S11.4.1_A3.1.js +++ b/test/language/expressions/delete/S11.4.1_A3.1.js @@ -5,6 +5,7 @@ info: If the property has the DontDelete attribute, return false es5id: 11.4.1_A3.1 description: Checking declared variable +flags: [noStrict] ---*/ //CHECK#1 diff --git a/test/language/expressions/delete/S11.4.1_A3.2_T1.js b/test/language/expressions/delete/S11.4.1_A3.2_T1.js new file mode 100755 index 0000000000000000000000000000000000000000..8953c007b2336b5daf6a163f3665e0b5294fa56c --- /dev/null +++ b/test/language/expressions/delete/S11.4.1_A3.2_T1.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: If the property doesn't have the DontDelete attribute, return true +es5id: 11.4.1_A3.2_T1 +description: Checking declared variable +flags: [noStrict] +---*/ + +//CHECK#1 +x = 1; +if (delete x !== true) { + $ERROR('#1: x = 1; delete x === true'); +} diff --git a/test/language/expressions/delete/S11.4.1_A3.2_T2.js b/test/language/expressions/delete/S11.4.1_A3.2_T2.js new file mode 100755 index 0000000000000000000000000000000000000000..5a4771d6e17ebcf9ca3645402258e3ceb7764db1 --- /dev/null +++ b/test/language/expressions/delete/S11.4.1_A3.2_T2.js @@ -0,0 +1,15 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: If the property doesn't have the DontDelete attribute, return true +es5id: 11.4.1_A3.2_T2 +description: Checking declared variable +---*/ + +//CHECK#1 +function MyFunction(){}; +MyFunction.prop = 1; +if (delete MyFunction.prop !== true) { + $ERROR('#1: function MyFunction(){}; MyFunction.prop = 1; delete MyFunction.prop === true'); +} diff --git a/test/language/expressions/delete/S11.4.1_A3.2.js b/test/language/expressions/delete/S11.4.1_A3.2_T3.js similarity index 55% rename from test/language/expressions/delete/S11.4.1_A3.2.js rename to test/language/expressions/delete/S11.4.1_A3.2_T3.js index d912b3d1a345b209798b8b15ba28db42b366f8a2..799354e5fa1b7a9018934e0d4f75497d4fe4710e 100644 --- a/test/language/expressions/delete/S11.4.1_A3.2.js +++ b/test/language/expressions/delete/S11.4.1_A3.2_T3.js @@ -3,27 +3,14 @@ /*--- info: If the property doesn't have the DontDelete attribute, return true -es5id: 11.4.1_A3.2 +es5id: 11.4.1_A3.2_T3 description: Checking declared variable ---*/ //CHECK#1 -x = 1; -if (delete x !== true) { - $ERROR('#1: x = 1; delete x === true'); -} - -//CHECK#2 -function MyFunction(){}; -MyFunction.prop = 1; -if (delete MyFunction.prop !== true) { - $ERROR('#2: function MyFunction(){}; MyFunction.prop = 1; delete MyFunction.prop === true'); -} - -//CHECK#3 function MyFunction(){}; var MyObject = new MyFunction(); MyObject.prop = 1; if (delete MyObject.prop !== true) { - $ERROR('#3: function MyFunction(){}; var MyObject = new MyFunction(); MyFunction.prop = 1; delete MyObject.prop === true'); + $ERROR('#1: function MyFunction(){}; var MyObject = new MyFunction(); MyFunction.prop = 1; delete MyObject.prop === true'); } diff --git a/test/language/expressions/delete/S11.4.1_A3.3.js b/test/language/expressions/delete/S11.4.1_A3.3.js deleted file mode 100644 index 913e346834a0c32e08cc0c3c40a00d79aa43a096..0000000000000000000000000000000000000000 --- a/test/language/expressions/delete/S11.4.1_A3.3.js +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright 2009 the Sputnik authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -info: If the property doesn't have the DontDelete attribute, remove the property -es5id: 11.4.1_A3.3 -description: Checking declared variable ----*/ - -//CHECK#1 -try { - x = 1; - delete x; - x; - $ERROR('#1: x = 1; delete x; x is not exist'); -} catch (e) { - if (e instanceof ReferenceError !== true) { - $ERROR('#1: x = 1; delete x; x is not exist'); - } -} - - -//CHECK#2 -function MyFunction(){}; -MyFunction.prop = 1; -delete MyFunction.prop; -if (MyFunction.prop !== undefined) { - $ERROR('#2: function MyFunction(){}; MyFunction.prop = 1; delete MyFunction.prop; MyFunction.prop === undefined. Actual: ' + (MyFunction.prop)); - -} - -//CHECK#3 -function MyFunction(){}; -var MyObjectVar = new MyFunction(); -MyObjectVar.prop = 1; -delete MyObjectVar.prop; -if (MyObjectVar.prop !== undefined) { - $ERROR('#3: function MyFunction(){}; var MyObjectVar = new MyFunction(); MyFunction.prop = 1; delete MyObjectVar.prop; MyObjectVar.prop === undefined. Actual: ' + (MyObjectVar.prop)); -} - -//CHECK#4 -if (delete MyObjectVar !== false) { - $ERROR('#4: function MyFunction(){}; var MyObjectVar = new MyFunction(); delete MyObjectVar === false'); -} - -//CHECK#5 -function MyFunction(){}; -MyObjectNotVar = new MyFunction(); -MyObjectNotVar.prop = 1; -delete MyObjectNotVar.prop; -if (MyObjectNotVar.prop !== undefined) { - $ERROR('#5: function MyFunction(){}; MyObjectNotVar = new MyFunction(); MyFunction.prop = 1; delete MyObjectNotVar.prop; MyObjectNotVar.prop === undefined. Actual: ' + (MyObjectNotVar.prop)); -} - -//CHECK#6 -if (delete MyObjectNotVar !== true) { - $ERROR('#6: function MyFunction(){}; var MyObjectNotVar = new MyFunction(); delete MyObjectNotVar === true'); -} diff --git a/test/language/expressions/delete/S11.4.1_A3.3_T1.js b/test/language/expressions/delete/S11.4.1_A3.3_T1.js new file mode 100644 index 0000000000000000000000000000000000000000..99e06448566f046ce16d57f0ffe42eded18362e0 --- /dev/null +++ b/test/language/expressions/delete/S11.4.1_A3.3_T1.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: If the property doesn't have the DontDelete attribute, remove the property +es5id: 11.4.1_A3.3_T1 +description: Checking declared variable +flags: [noStrict] +---*/ + +//CHECK#1 +try { + x = 1; + delete x; + x; + $ERROR('#1: x = 1; delete x; x is not exist'); +} catch (e) { + if (e instanceof ReferenceError !== true) { + $ERROR('#1: x = 1; delete x; x is not exist'); + } +} diff --git a/test/language/expressions/delete/S11.4.1_A3.3_T2.js b/test/language/expressions/delete/S11.4.1_A3.3_T2.js new file mode 100755 index 0000000000000000000000000000000000000000..fa66d738f1c1b5293fcb3e56fc05b25ea02c4c34 --- /dev/null +++ b/test/language/expressions/delete/S11.4.1_A3.3_T2.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: If the property doesn't have the DontDelete attribute, remove the property +es5id: 11.4.1_A3.3_T2 +description: Checking declared variable +---*/ + +//CHECK#1 +function MyFunction(){}; +MyFunction.prop = 1; +delete MyFunction.prop; +if (MyFunction.prop !== undefined) { + $ERROR('#1: function MyFunction(){}; MyFunction.prop = 1; delete MyFunction.prop; MyFunction.prop === undefined. Actual: ' + (MyFunction.prop)); + +} diff --git a/test/language/expressions/delete/S11.4.1_A3.3_T3.js b/test/language/expressions/delete/S11.4.1_A3.3_T3.js new file mode 100755 index 0000000000000000000000000000000000000000..23b019b356984fa1cb988bebaf238c7f71e93431 --- /dev/null +++ b/test/language/expressions/delete/S11.4.1_A3.3_T3.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: If the property doesn't have the DontDelete attribute, remove the property +es5id: 11.4.1_A3.3_T3 +description: Checking declared variable +---*/ + +//CHECK#1 +function MyFunction(){}; +var MyObjectVar = new MyFunction(); +MyObjectVar.prop = 1; +delete MyObjectVar.prop; +if (MyObjectVar.prop !== undefined) { + $ERROR('#1: function MyFunction(){}; var MyObjectVar = new MyFunction(); MyFunction.prop = 1; delete MyObjectVar.prop; MyObjectVar.prop === undefined. Actual: ' + (MyObjectVar.prop)); +} diff --git a/test/language/expressions/delete/S11.4.1_A3.3_T4.js b/test/language/expressions/delete/S11.4.1_A3.3_T4.js new file mode 100755 index 0000000000000000000000000000000000000000..2eaf5fb53083a038d39c982b4ac7575a64155873 --- /dev/null +++ b/test/language/expressions/delete/S11.4.1_A3.3_T4.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: If the property doesn't have the DontDelete attribute, remove the property +es5id: 11.4.1_A3.3_T4 +description: Checking declared variable +flags: [noStrict] +---*/ + +//CHECK#1 +function MyFunction(){}; +var MyObjectVar = new MyFunction(); +if (delete MyObjectVar !== false) { + $ERROR('#1: function MyFunction(){}; var MyObjectVar = new MyFunction(); delete MyObjectVar === false'); +} diff --git a/test/language/expressions/delete/S11.4.1_A3.3_T5.js b/test/language/expressions/delete/S11.4.1_A3.3_T5.js new file mode 100755 index 0000000000000000000000000000000000000000..fc537b309faa400350402834f086f0ef7280f4a4 --- /dev/null +++ b/test/language/expressions/delete/S11.4.1_A3.3_T5.js @@ -0,0 +1,18 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: If the property doesn't have the DontDelete attribute, remove the property +es5id: 11.4.1_A3.3_T5 +description: Checking declared variable +flags: [noStrict] +---*/ + +//CHECK#1 +function MyFunction(){}; +MyObjectNotVar = new MyFunction(); +MyObjectNotVar.prop = 1; +delete MyObjectNotVar.prop; +if (MyObjectNotVar.prop !== undefined) { + $ERROR('#1: function MyFunction(){}; MyObjectNotVar = new MyFunction(); MyFunction.prop = 1; delete MyObjectNotVar.prop; MyObjectNotVar.prop === undefined. Actual: ' + (MyObjectNotVar.prop)); +} diff --git a/test/language/expressions/delete/S11.4.1_A3.3_T6.js b/test/language/expressions/delete/S11.4.1_A3.3_T6.js new file mode 100755 index 0000000000000000000000000000000000000000..119a8670785829a521aa6aa7aa126c8b6e77f911 --- /dev/null +++ b/test/language/expressions/delete/S11.4.1_A3.3_T6.js @@ -0,0 +1,16 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: If the property doesn't have the DontDelete attribute, remove the property +es5id: 11.4.1_A3.3_T6 +description: Checking declared variable +flags: [noStrict] +---*/ + +//CHECK#1 +function MyFunction(){}; +var MyObjectVar = new MyFunction(); +if (delete MyObjectNotVar !== true) { + $ERROR('#1: function MyFunction(){}; var MyObjectNotVar = new MyFunction(); delete MyObjectNotVar === true'); +} diff --git a/test/language/expressions/delete/S11.4.1_A4.js b/test/language/expressions/delete/S11.4.1_A4.js index cb2ee1a7a880baf95a5224bed770ef6ff10ddcfb..674fe6b86606697b1a4daf9cd23e053501f82aa9 100644 --- a/test/language/expressions/delete/S11.4.1_A4.js +++ b/test/language/expressions/delete/S11.4.1_A4.js @@ -7,6 +7,7 @@ info: > the object es5id: 11.4.1_A4 description: Checking two reference by one object +flags: [noStrict] ---*/ //CHECK#1 diff --git a/test/language/expressions/division/S11.5.2_A2.4_T3.js b/test/language/expressions/division/S11.5.2_A2.4_T3.js index 65f9e436f9fb9f880cd65552767e99d4bb8821e6..e03ab67521d45105d6233987ea34e6b44708e37f 100644 --- a/test/language/expressions/division/S11.5.2_A2.4_T3.js +++ b/test/language/expressions/division/S11.5.2_A2.4_T3.js @@ -17,8 +17,3 @@ catch (e) { $ERROR('#1.2: x / (x = 1) throw ReferenceError. Actual: ' + (e)); } } - -//CHECK#2 -if ((y = 1) / y !== 1) { - $ERROR('#2: (y = 1) / y === 1. Actual: ' + ((y = 1) / y)); -} diff --git a/test/language/expressions/division/S11.5.2_A2.4_T4.js b/test/language/expressions/division/S11.5.2_A2.4_T4.js new file mode 100755 index 0000000000000000000000000000000000000000..ea0aa897ee51ffab9095cc2808f549b5a107755b --- /dev/null +++ b/test/language/expressions/division/S11.5.2_A2.4_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: First expression is evaluated first, and then second expression +es5id: 11.5.2_A2.4_T4 +description: Checking with undeclarated variables +flags: [noStrict] +---*/ + +//CHECK#1 +if ((y = 1) / y !== 1) { + $ERROR('#1: (y = 1) / y === 1. Actual: ' + ((y = 1) / y)); +} diff --git a/test/language/expressions/does-not-equals/S11.9.2_A2.4_T3.js b/test/language/expressions/does-not-equals/S11.9.2_A2.4_T3.js index 39496dd98eb3605d9f96b6cb4dc1b96669139229..464c3074d4b12e13a67c6fccb77f5a9a613ad5b3 100644 --- a/test/language/expressions/does-not-equals/S11.9.2_A2.4_T3.js +++ b/test/language/expressions/does-not-equals/S11.9.2_A2.4_T3.js @@ -17,8 +17,3 @@ catch (e) { $ERROR('#1.2: x != (x = 1) throw ReferenceError. Actual: ' + (e)); } } - -//CHECK#2 -if (((y = 1) != y) !== false) { - $ERROR('#2: ((y = 1) != y) === false'); -} diff --git a/test/language/expressions/does-not-equals/S11.9.2_A2.4_T4.js b/test/language/expressions/does-not-equals/S11.9.2_A2.4_T4.js new file mode 100755 index 0000000000000000000000000000000000000000..b3625e66f0d94866c3492a1c0687e273820b6839 --- /dev/null +++ b/test/language/expressions/does-not-equals/S11.9.2_A2.4_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: First expression is evaluated first, and then second expression +es5id: 11.9.2_A2.4_T4 +description: Checking with undeclarated variables +flags: [noStrict] +---*/ + +//CHECK#1 +if (((y = 1) != y) !== false) { + $ERROR('#1: ((y = 1) != y) === false'); +} diff --git a/test/language/expressions/equals/S11.9.1_A2.4_T3.js b/test/language/expressions/equals/S11.9.1_A2.4_T3.js index 799ef11899542dfbeb0d9d1cdd4d0685248436ce..6cb93317eae0be315c98065caf1fe28ad6076fd5 100644 --- a/test/language/expressions/equals/S11.9.1_A2.4_T3.js +++ b/test/language/expressions/equals/S11.9.1_A2.4_T3.js @@ -17,8 +17,3 @@ catch (e) { $ERROR('#1.2: x == (x = 1) throw ReferenceError. Actual: ' + (e)); } } - -//CHECK#2 -if (((y = 1) == y) !== true) { - $ERROR('#2: ((y = 1) == y) === true'); -} diff --git a/test/language/expressions/equals/S11.9.1_A2.4_T4.js b/test/language/expressions/equals/S11.9.1_A2.4_T4.js new file mode 100755 index 0000000000000000000000000000000000000000..2629103b9e9232d12290d1ba33947d42a0bc457a --- /dev/null +++ b/test/language/expressions/equals/S11.9.1_A2.4_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: First expression is evaluated first, and then second expression +es5id: 11.9.1_A2.4_T4 +description: Checking with undeclarated variables +flags: [noStrict] +---*/ + +//CHECK#1 +if (((y = 1) == y) !== true) { + $ERROR('#1: ((y = 1) == y) === true'); +} diff --git a/test/language/expressions/greater-than-or-equal/S11.8.4_A2.4_T3.js b/test/language/expressions/greater-than-or-equal/S11.8.4_A2.4_T3.js index c3dac2a02c16c9230f966ec9e0398e0eb4f026ff..2f747de988af8a2d5534fcb38c8bbeba14efab25 100644 --- a/test/language/expressions/greater-than-or-equal/S11.8.4_A2.4_T3.js +++ b/test/language/expressions/greater-than-or-equal/S11.8.4_A2.4_T3.js @@ -17,8 +17,3 @@ catch (e) { $ERROR('#1.2: x >= (x = 1) throw ReferenceError. Actual: ' + (e)); } } - -//CHECK#2 -if ((y = 1) >= y !== true) { - $ERROR('#2: (y = 1) >= y === true'); -} diff --git a/test/language/expressions/greater-than-or-equal/S11.8.4_A2.4_T4.js b/test/language/expressions/greater-than-or-equal/S11.8.4_A2.4_T4.js new file mode 100755 index 0000000000000000000000000000000000000000..b153180fb6b68cde98423158f68a7ba551ed6227 --- /dev/null +++ b/test/language/expressions/greater-than-or-equal/S11.8.4_A2.4_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: First expression is evaluated first, and then second expression +es5id: 11.8.4_A2.4_T4 +description: Checking with undeclarated variables +flags: [noStrict] +---*/ + +//CHECK#1 +if ((y = 1) >= y !== true) { + $ERROR('#1: (y = 1) >= y === true'); +} diff --git a/test/language/expressions/greater-than/S11.8.2_A2.4_T3.js b/test/language/expressions/greater-than/S11.8.2_A2.4_T3.js index 76bac70103ae42e37058c23c8c6f158e2ae8d3d7..146b858db2995852186893ae4fc53b5e7b5aff2e 100644 --- a/test/language/expressions/greater-than/S11.8.2_A2.4_T3.js +++ b/test/language/expressions/greater-than/S11.8.2_A2.4_T3.js @@ -17,8 +17,3 @@ catch (e) { $ERROR('#1.2: x > (x = 1) throw ReferenceError. Actual: ' + (e)); } } - -//CHECK#2 -if ((y = 1) > y !== false) { - $ERROR('#2: (y = 1) > y === false'); -} diff --git a/test/language/expressions/greater-than/S11.8.2_A2.4_T4.js b/test/language/expressions/greater-than/S11.8.2_A2.4_T4.js new file mode 100755 index 0000000000000000000000000000000000000000..d3b5fafab5ea4ce36f5e00cdc7ea504b038be4d4 --- /dev/null +++ b/test/language/expressions/greater-than/S11.8.2_A2.4_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: First expression is evaluated first, and then second expression +es5id: 11.8.2_A2.4_T4 +description: Checking with undeclarated variables +flags: [noStrict] +---*/ + +//CHECK#1 +if ((y = 1) > y !== false) { + $ERROR('#1: (y = 1) > y === false'); +} diff --git a/test/language/expressions/grouping/S11.1.6_A2.js b/test/language/expressions/grouping/S11.1.6_A2_T1.js old mode 100644 new mode 100755 similarity index 68% rename from test/language/expressions/grouping/S11.1.6_A2.js rename to test/language/expressions/grouping/S11.1.6_A2_T1.js index eb6bd364ffffcdd94abe40c808943d16907e6f4a..4d70a0b2e8613a1b085d43e4c8028fd54d0321b5 --- a/test/language/expressions/grouping/S11.1.6_A2.js +++ b/test/language/expressions/grouping/S11.1.6_A2_T1.js @@ -5,29 +5,24 @@ info: > "This" operator doesn't use GetValue. The operators "delete" and "typeof" can be applied to parenthesised expressions -es5id: 11.1.6_A2 +es5id: 11.1.6_A2_T1 description: > Applying "delete" and "typeof" operators to an undefined variable and a property of an object ---*/ //CHECK#1 -if (delete (x) !== true) { - $ERROR('#1: delete (x) === true'); -} - -//CHECK#2 if (typeof (x) !== "undefined") { - $ERROR('#2: typeof (x) === "undefined". Actual: ' + (typeof (x))); + $ERROR('#1: typeof (x) === "undefined". Actual: ' + (typeof (x))); } var object = {}; -//CHECK#3 +//CHECK#2 if (delete (object.prop) !== true) { - $ERROR('#3: var object = {}; delete (object.prop) === true'); + $ERROR('#2: var object = {}; delete (object.prop) === true'); } -//CHECK#4 +//CHECK#3 if (typeof (object.prop) !== "undefined") { - $ERROR('#4: var object = {}; typeof (object.prop) === "undefined". Actual: ' + (typeof (object.prop))); + $ERROR('#3: var object = {}; typeof (object.prop) === "undefined". Actual: ' + (typeof (object.prop))); } diff --git a/test/language/expressions/grouping/S11.1.6_A2_T2.js b/test/language/expressions/grouping/S11.1.6_A2_T2.js new file mode 100644 index 0000000000000000000000000000000000000000..d8b06c859dc068a88a2777a28827152bcf696322 --- /dev/null +++ b/test/language/expressions/grouping/S11.1.6_A2_T2.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: > + "This" operator doesn't use GetValue. The operators "delete" and "typeof" + can be applied to parenthesised expressions +es5id: 11.1.6_A2_T2 +description: > + Applying "delete" operator to an undefined variable +flags: [noStrict] +---*/ + +//CHECK#1 +if (delete (x) !== true) { + $ERROR('#1: delete (x) === true'); +} diff --git a/test/language/expressions/grouping/S11.1.6_A3_T5.js b/test/language/expressions/grouping/S11.1.6_A3_T5.js index 8090be52e2169beb8f298f09d1b9117c9aa9fb11..9f0e0ada1dec3c4ef8d5d2b7221218744ffcdf6c 100644 --- a/test/language/expressions/grouping/S11.1.6_A3_T5.js +++ b/test/language/expressions/grouping/S11.1.6_A3_T5.js @@ -8,6 +8,7 @@ description: Using grouping operator in declaration of variables ---*/ //CHECK#1 +var x; (x) = 1; if (x !== 1) { $ERROR('#1: (x) = 1; x === 1. Actual: ' + (x)); diff --git a/test/language/expressions/grouping/S11.1.6_A3_T6.js b/test/language/expressions/grouping/S11.1.6_A3_T6.js index d8c0f41ed8297f6157522c4bb95e764397026683..9aac19ada546ea05f49f173ce09921a4b6ce134c 100644 --- a/test/language/expressions/grouping/S11.1.6_A3_T6.js +++ b/test/language/expressions/grouping/S11.1.6_A3_T6.js @@ -4,15 +4,11 @@ /*--- info: "\"This\" operator only evaluates Expression" es5id: 11.1.6_A3_T6 -description: Applying grouping operator to delete and typeof operators +description: Applying grouping operator to delete operator +flags: [noStrict] ---*/ //CHECK#1 if (delete (x) !== true) { $ERROR('#1: delete (x) === true'); } - -//CHECK#2 -if (typeof (x) !== "undefined") { - $ERROR('#2: typeof (x) === "undefined". Actual: ' + (typeof (x))); -} diff --git a/test/language/expressions/grouping/S11.1.6_A3_T7.js b/test/language/expressions/grouping/S11.1.6_A3_T7.js new file mode 100755 index 0000000000000000000000000000000000000000..509cc267ccfb93aca9f183b93dc852559ac686eb --- /dev/null +++ b/test/language/expressions/grouping/S11.1.6_A3_T7.js @@ -0,0 +1,13 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: "\"This\" operator only evaluates Expression" +es5id: 11.1.6_A3_T7 +description: Applying grouping operator to typeof operator +---*/ + +//CHECK#1 +if (typeof (x) !== "undefined") { + $ERROR('#1: typeof (x) === "undefined". Actual: ' + (typeof (x))); +} diff --git a/test/language/expressions/in/S11.8.7_A2.4_T3.js b/test/language/expressions/in/S11.8.7_A2.4_T3.js index 497a9d32be527c7b8ed09e5bae8865350148a871..cfae8d8956c7f2e373cd09ef6e04eead88c2d076 100644 --- a/test/language/expressions/in/S11.8.7_A2.4_T3.js +++ b/test/language/expressions/in/S11.8.7_A2.4_T3.js @@ -17,8 +17,3 @@ catch (e) { $ERROR('#1.2: max_value in (max_value = "MAX_VALUE", Number) throw ReferenceError. Actual: ' + (e)); } } - -//CHECK#2 -if ((NUMBER = Number, "MAX_VALUE") in NUMBER !== true) { - $ERROR('#2: (NUMBER = Number, "MAX_VALUE") in NUMBER !== true'); -} diff --git a/test/language/expressions/in/S11.8.7_A2.4_T4.js b/test/language/expressions/in/S11.8.7_A2.4_T4.js new file mode 100755 index 0000000000000000000000000000000000000000..524a8c6938b7e1450f7fcf2f2361e7fa7c63ecfd --- /dev/null +++ b/test/language/expressions/in/S11.8.7_A2.4_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: First expression is evaluated first, and then second expression +es5id: 11.8.7_A2.4_T4 +description: Checking with undeclarated variables +flags: [noStrict] +---*/ + +//CHECK#1 +if ((NUMBER = Number, "MAX_VALUE") in NUMBER !== true) { + $ERROR('#1: (NUMBER = Number, "MAX_VALUE") in NUMBER !== true'); +} diff --git a/test/language/expressions/instanceof/S11.8.6_A2.4_T3.js b/test/language/expressions/instanceof/S11.8.6_A2.4_T3.js index 00d741a02074c2c298a981e6b68e57654d59023d..2775cf15017f168ec4e3125964be88793c632bbe 100644 --- a/test/language/expressions/instanceof/S11.8.6_A2.4_T3.js +++ b/test/language/expressions/instanceof/S11.8.6_A2.4_T3.js @@ -17,8 +17,3 @@ catch (e) { $ERROR('#1.2: object instanceof (object = {}, Object) throw ReferenceError. Actual: ' + (e)); } } - -//CHECK#2 -if ((OBJECT = Object, {}) instanceof OBJECT !== true) { - $ERROR('#2: (OBJECT = Object, {}) instanceof OBJECT !== true'); -} diff --git a/test/language/expressions/instanceof/S11.8.6_A2.4_T4.js b/test/language/expressions/instanceof/S11.8.6_A2.4_T4.js new file mode 100755 index 0000000000000000000000000000000000000000..3be8567903a399b8c0439462171a599ba6d170be --- /dev/null +++ b/test/language/expressions/instanceof/S11.8.6_A2.4_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: First expression is evaluated first, and then second expression +es5id: 11.8.6_A2.4_T4 +description: Checking with undeclarated variables +flags: [noStrict] +---*/ + +//CHECK#1 +if ((OBJECT = Object, {}) instanceof OBJECT !== true) { + $ERROR('#1: (OBJECT = Object, {}) instanceof OBJECT !== true'); +} diff --git a/test/language/expressions/instanceof/S15.3.5.3_A1_T1.js b/test/language/expressions/instanceof/S15.3.5.3_A1_T1.js index 4b817a2160ae36766831687067b6fe5810d1b030..f24108b6f17b1753a1c5d8387291be6e782328b7 100644 --- a/test/language/expressions/instanceof/S15.3.5.3_A1_T1.js +++ b/test/language/expressions/instanceof/S15.3.5.3_A1_T1.js @@ -10,6 +10,7 @@ es5id: 15.3.5.3_A1_T1 description: V is number ---*/ +var FACTORY; FACTORY = Function("name","this.name=name;"); //CHECK#1 diff --git a/test/language/expressions/instanceof/S15.3.5.3_A1_T2.js b/test/language/expressions/instanceof/S15.3.5.3_A1_T2.js index cf93a6dc11a4a1ee13c9e40b5a9fde2e536a2ffd..8ab2ef47805b988a4d1dbf88a21de70f662e0254 100644 --- a/test/language/expressions/instanceof/S15.3.5.3_A1_T2.js +++ b/test/language/expressions/instanceof/S15.3.5.3_A1_T2.js @@ -10,6 +10,7 @@ es5id: 15.3.5.3_A1_T2 description: V is string ---*/ +var FACTORY; FACTORY = Function("name","this.name=name;"); //CHECK#1 diff --git a/test/language/expressions/instanceof/S15.3.5.3_A1_T3.js b/test/language/expressions/instanceof/S15.3.5.3_A1_T3.js index ce515e42524be338cb0499309bebaa1070a0047a..3093b99aa98a925603ab1821549cb82a56860e37 100644 --- a/test/language/expressions/instanceof/S15.3.5.3_A1_T3.js +++ b/test/language/expressions/instanceof/S15.3.5.3_A1_T3.js @@ -10,6 +10,7 @@ es5id: 15.3.5.3_A1_T3 description: V is boolean true ---*/ +var FACTORY; FACTORY = Function("name","this.name=name;"); //CHECK#1 diff --git a/test/language/expressions/instanceof/S15.3.5.3_A1_T4.js b/test/language/expressions/instanceof/S15.3.5.3_A1_T4.js index 287877b3b95b441b546daec65add758389b43d68..e2eaead7389251fccbb2aac4cea5b776d5c0898d 100644 --- a/test/language/expressions/instanceof/S15.3.5.3_A1_T4.js +++ b/test/language/expressions/instanceof/S15.3.5.3_A1_T4.js @@ -10,6 +10,7 @@ es5id: 15.3.5.3_A1_T4 description: V is boolean false ---*/ +var FACTORY; FACTORY = Function("name","this.name=name;"); //CHECK#1 diff --git a/test/language/expressions/instanceof/S15.3.5.3_A1_T5.js b/test/language/expressions/instanceof/S15.3.5.3_A1_T5.js index ba9d71d03026eb46dbca9cc72c5532ac32143c11..91c8a9cd5a91e7a21e006a76d72315302bfea25e 100644 --- a/test/language/expressions/instanceof/S15.3.5.3_A1_T5.js +++ b/test/language/expressions/instanceof/S15.3.5.3_A1_T5.js @@ -10,6 +10,7 @@ es5id: 15.3.5.3_A1_T5 description: V is void 0 ---*/ +var FACTORY; FACTORY = Function("name","this.name=name;"); //CHECK#1 diff --git a/test/language/expressions/instanceof/S15.3.5.3_A1_T6.js b/test/language/expressions/instanceof/S15.3.5.3_A1_T6.js index 6124c4c575ef4cd40e20e19e66ef1af296fafd10..ab6a80d432562e4953c36d2abf008115c7c878ac 100644 --- a/test/language/expressions/instanceof/S15.3.5.3_A1_T6.js +++ b/test/language/expressions/instanceof/S15.3.5.3_A1_T6.js @@ -10,6 +10,7 @@ es5id: 15.3.5.3_A1_T6 description: V is null ---*/ +var FACTORY; FACTORY = Function("name","this.name=name;"); //CHECK#1 diff --git a/test/language/expressions/instanceof/S15.3.5.3_A1_T7.js b/test/language/expressions/instanceof/S15.3.5.3_A1_T7.js index 89962be67949271ba7d743855a60ab440e589ff5..a6c1f7b2c5798df73afce52ce9c3873f7141b30e 100644 --- a/test/language/expressions/instanceof/S15.3.5.3_A1_T7.js +++ b/test/language/expressions/instanceof/S15.3.5.3_A1_T7.js @@ -10,6 +10,7 @@ es5id: 15.3.5.3_A1_T7 description: V is undefined ---*/ +var FACTORY; FACTORY = Function("name","this.name=name;"); //CHECK#1 diff --git a/test/language/expressions/instanceof/S15.3.5.3_A1_T8.js b/test/language/expressions/instanceof/S15.3.5.3_A1_T8.js index 0727b3f0c11f6117193d557dc8d8989eb97f74e6..6efb538d8d3950325abe5824909328de3412d6ae 100644 --- a/test/language/expressions/instanceof/S15.3.5.3_A1_T8.js +++ b/test/language/expressions/instanceof/S15.3.5.3_A1_T8.js @@ -10,6 +10,7 @@ es5id: 15.3.5.3_A1_T8 description: V is undefined variable ---*/ +var FACTORY; FACTORY = Function("name","this.name=name;"); //CHECK#1 diff --git a/test/language/expressions/instanceof/S15.3.5.3_A2_T2.js b/test/language/expressions/instanceof/S15.3.5.3_A2_T2.js index 1bfc025c55c911c128747588d5b86356f339004f..bd99332602488a767ea8d36ec1282655132f5dae 100644 --- a/test/language/expressions/instanceof/S15.3.5.3_A2_T2.js +++ b/test/language/expressions/instanceof/S15.3.5.3_A2_T2.js @@ -12,10 +12,12 @@ description: F.prototype is undefined, and V is empty object includes: [$FAIL.js] ---*/ +var FACTORY; FACTORY = new Function; FACTORY.prototype = undefined; +var obj; obj={}; //CHECK#1 diff --git a/test/language/expressions/instanceof/S15.3.5.3_A2_T5.js b/test/language/expressions/instanceof/S15.3.5.3_A2_T5.js index 045a9b3ab4ae35507dc95bbf41f6106f1ad89310..a615e68e5fb24415e555cf82bdd74ad958846384 100644 --- a/test/language/expressions/instanceof/S15.3.5.3_A2_T5.js +++ b/test/language/expressions/instanceof/S15.3.5.3_A2_T5.js @@ -13,10 +13,12 @@ description: F.prototype is void 0, and V is new F includes: [$FAIL.js] ---*/ +var FACTORY; FACTORY = Function("this.prop=1;"); FACTORY.prototype.name = "fairy"; +var instance; instance = new FACTORY; FACTORY.prototype = void 0; diff --git a/test/language/expressions/instanceof/S15.3.5.3_A2_T6.js b/test/language/expressions/instanceof/S15.3.5.3_A2_T6.js index 3e08d966008a1aa96a5db21cd26b7b32f289d0f0..7330927599e082c1b0e3b337765f74c7f5a0b42d 100644 --- a/test/language/expressions/instanceof/S15.3.5.3_A2_T6.js +++ b/test/language/expressions/instanceof/S15.3.5.3_A2_T6.js @@ -13,6 +13,7 @@ description: F.prototype is string, and V is function includes: [$FAIL.js] ---*/ +var FACTORY; FACTORY = new Function; FACTORY.prototype = "error"; diff --git a/test/language/expressions/instanceof/S15.3.5.3_A3_T1.js b/test/language/expressions/instanceof/S15.3.5.3_A3_T1.js index b560659f26696ad6adde6afc0065af3e4d4a3d8a..c7fd63afa28598314d54e4a1fafe2952cabbd8c7 100644 --- a/test/language/expressions/instanceof/S15.3.5.3_A3_T1.js +++ b/test/language/expressions/instanceof/S15.3.5.3_A3_T1.js @@ -14,10 +14,12 @@ es5id: 15.3.5.3_A3_T1 description: F.prototype.type is 1, and V is new F ---*/ +var FACTORY; FACTORY = Function("this.name=\"root\""); FACTORY.prototype.type=1; +var instance; instance = new FACTORY; //CHECK#1 diff --git a/test/language/expressions/instanceof/S15.3.5.3_A3_T2.js b/test/language/expressions/instanceof/S15.3.5.3_A3_T2.js index c6dc601d0421a7bbcee402a8a32d522e16027fa7..713a6d56f910231b6fff5054d54396450c62c1be 100644 --- a/test/language/expressions/instanceof/S15.3.5.3_A3_T2.js +++ b/test/language/expressions/instanceof/S15.3.5.3_A3_T2.js @@ -14,8 +14,10 @@ es5id: 15.3.5.3_A3_T2 description: F.prototype is Object.prototype, and V is empty object ---*/ +var FAKEFACTORY; FAKEFACTORY = Function(); +var fakeinstance; fakeinstance = {}; //CHECK#1 diff --git a/test/language/expressions/left-shift/S11.7.1_A2.4_T3.js b/test/language/expressions/left-shift/S11.7.1_A2.4_T3.js index c5b1a19733899c93da2d0ef0e71abb5876b3ecb4..017af2101f7a3964daa5abf08d1bd84e63d050bf 100644 --- a/test/language/expressions/left-shift/S11.7.1_A2.4_T3.js +++ b/test/language/expressions/left-shift/S11.7.1_A2.4_T3.js @@ -17,8 +17,3 @@ catch (e) { $ERROR('#1.2: x << (x = 1) throw ReferenceError. Actual: ' + (e)); } } - -//CHECK#2 -if ((y = 1) << y !== 2) { - $ERROR('#2: (y = 1) << y === 2. Actual: ' + ((y = 1) << y)); -} diff --git a/test/language/expressions/left-shift/S11.7.1_A2.4_T4.js b/test/language/expressions/left-shift/S11.7.1_A2.4_T4.js new file mode 100755 index 0000000000000000000000000000000000000000..885b8e2d91b0cfebc7793be25d078e0a57150a2f --- /dev/null +++ b/test/language/expressions/left-shift/S11.7.1_A2.4_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: First expression is evaluated first, and then second expression +es5id: 11.7.1_A2.4_T4 +description: Checking with undeclarated variables +flags: [noStrict] +---*/ + +//CHECK#1 +if ((y = 1) << y !== 2) { + $ERROR('#1: (y = 1) << y === 2. Actual: ' + ((y = 1) << y)); +} diff --git a/test/language/expressions/less-than-or-equal/S11.8.3_A2.4_T3.js b/test/language/expressions/less-than-or-equal/S11.8.3_A2.4_T3.js index 848a590cdf45503035bfa29f396b5c5f768cef9d..b07c1dcd37879ee01460dfc940b32f7ab54f25bb 100644 --- a/test/language/expressions/less-than-or-equal/S11.8.3_A2.4_T3.js +++ b/test/language/expressions/less-than-or-equal/S11.8.3_A2.4_T3.js @@ -17,8 +17,3 @@ catch (e) { $ERROR('#1.2: x <= (x = 1) throw ReferenceError. Actual: ' + (e)); } } - -//CHECK#2 -if ((y = 1) <= y !== true) { - $ERROR('#2: (y = 1) <= y === true'); -} diff --git a/test/language/expressions/less-than-or-equal/S11.8.3_A2.4_T4.js b/test/language/expressions/less-than-or-equal/S11.8.3_A2.4_T4.js new file mode 100755 index 0000000000000000000000000000000000000000..9deaa72d6e9b97612056bba7cbe1e903d8d5a466 --- /dev/null +++ b/test/language/expressions/less-than-or-equal/S11.8.3_A2.4_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: First expression is evaluated first, and then second expression +es5id: 11.8.3_A2.4_T4 +description: Checking with undeclarated variables +flags: [noStrict] +---*/ + +//CHECK#1 +if ((y = 1) <= y !== true) { + $ERROR('#1: (y = 1) <= y === true'); +} diff --git a/test/language/expressions/less-than/S11.8.1_A2.4_T3.js b/test/language/expressions/less-than/S11.8.1_A2.4_T3.js index 1aafa984f7f5e65bd0a7ec01ac13445874ee4ea2..e976549708fbbc2dd8b6ac8b108b36dc36471972 100644 --- a/test/language/expressions/less-than/S11.8.1_A2.4_T3.js +++ b/test/language/expressions/less-than/S11.8.1_A2.4_T3.js @@ -17,8 +17,3 @@ catch (e) { $ERROR('#1.2: x < (x = 1) throw ReferenceError. Actual: ' + (e)); } } - -//CHECK#2 -if ((y = 1) < y !== false) { - $ERROR('#2: (y = 1) < y === false'); -} diff --git a/test/language/expressions/less-than/S11.8.1_A2.4_T4.js b/test/language/expressions/less-than/S11.8.1_A2.4_T4.js new file mode 100755 index 0000000000000000000000000000000000000000..0e16895bf34c175c12e9bddcccefe6d275e1d13b --- /dev/null +++ b/test/language/expressions/less-than/S11.8.1_A2.4_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: First expression is evaluated first, and then second expression +es5id: 11.8.1_A2.4_T4 +description: Checking with undeclarated variables +flags: [noStrict] +---*/ + +//CHECK#1 +if ((y = 1) < y !== false) { + $ERROR('#1: (y = 1) < y === false'); +} diff --git a/test/language/expressions/modulus/S11.5.3_A2.4_T3.js b/test/language/expressions/modulus/S11.5.3_A2.4_T3.js index 3675bf82c702b97a0ba13a40b59d80e9953ad8f4..08b905382cf6b5c251095c2a81732bf62937ad31 100644 --- a/test/language/expressions/modulus/S11.5.3_A2.4_T3.js +++ b/test/language/expressions/modulus/S11.5.3_A2.4_T3.js @@ -17,8 +17,3 @@ catch (e) { $ERROR('#1.2: x % (x = 1) throw ReferenceError. Actual: ' + (e)); } } - -//CHECK#2 -if ((y = 1) % y !== 0) { - $ERROR('#2: (y = 1) % y === 0. Actual: ' + ((y = 1) % y)); -} diff --git a/test/language/expressions/modulus/S11.5.3_A2.4_T4.js b/test/language/expressions/modulus/S11.5.3_A2.4_T4.js new file mode 100755 index 0000000000000000000000000000000000000000..8e16de1d9ee0c533a828fcfb91b4d4456dab5900 --- /dev/null +++ b/test/language/expressions/modulus/S11.5.3_A2.4_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: First expression is evaluated first, and then second expression +es5id: 11.5.3_A2.4_T4 +description: Checking with undeclarated variables +flags: [noStrict] +---*/ + +//CHECK#1 +if ((y = 1) % y !== 0) { + $ERROR('#1: (y = 1) % y === 0. Actual: ' + ((y = 1) % y)); +} diff --git a/test/language/expressions/multiplication/S11.5.1_A2.4_T3.js b/test/language/expressions/multiplication/S11.5.1_A2.4_T3.js index 9c971e050cff217bdeb2486e0895bbeee7eb8f4a..1d9817d2acab2f44fc9078b5be627f7534deef55 100644 --- a/test/language/expressions/multiplication/S11.5.1_A2.4_T3.js +++ b/test/language/expressions/multiplication/S11.5.1_A2.4_T3.js @@ -17,8 +17,3 @@ catch (e) { $ERROR('#1.2: x * (x = 1) throw ReferenceError. Actual: ' + (e)); } } - -//CHECK#2 -if ((y = 1) * y !== 1) { - $ERROR('#2: (y = 1) * y === 1. Actual: ' + ((y = 1) * y)); -} diff --git a/test/language/expressions/multiplication/S11.5.1_A2.4_T4.js b/test/language/expressions/multiplication/S11.5.1_A2.4_T4.js new file mode 100755 index 0000000000000000000000000000000000000000..526728a7ff10f14c0bc0234983004a6cc009770c --- /dev/null +++ b/test/language/expressions/multiplication/S11.5.1_A2.4_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: First expression is evaluated first, and then second expression +es5id: 11.5.1_A2.4_T4 +description: Checking with undeclarated variables +flags: [noStrict] +---*/ + +//CHECK#1 +if ((y = 1) * y !== 1) { + $ERROR('#1: (y = 1) * y === 1. Actual: ' + ((y = 1) * y)); +} diff --git a/test/language/expressions/right-shift/S11.7.2_A2.4_T3.js b/test/language/expressions/right-shift/S11.7.2_A2.4_T3.js index f1489904ad7b9211573ffb5e2fd57090c6739757..b16b2e3b6607a35f296feafe679e825c278da596 100644 --- a/test/language/expressions/right-shift/S11.7.2_A2.4_T3.js +++ b/test/language/expressions/right-shift/S11.7.2_A2.4_T3.js @@ -17,8 +17,3 @@ catch (e) { $ERROR('#1.2: x >> (x = 1) throw ReferenceError. Actual: ' + (e)); } } - -//CHECK#2 -if ((y = 1) >> y !== 0) { - $ERROR('#2: (y = 1) >> y === 0. Actual: ' + ((y = 1) >> y)); -} diff --git a/test/language/expressions/right-shift/S11.7.2_A2.4_T4.js b/test/language/expressions/right-shift/S11.7.2_A2.4_T4.js new file mode 100755 index 0000000000000000000000000000000000000000..e01f1d61414ca1f70b681405fb816a4abb2b93db --- /dev/null +++ b/test/language/expressions/right-shift/S11.7.2_A2.4_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: First expression is evaluated first, and then second expression +es5id: 11.7.2_A2.4_T4 +description: Checking with undeclarated variables +flags: [noStrict] +---*/ + +//CHECK#1 +if ((y = 1) >> y !== 0) { + $ERROR('#1: (y = 1) >> y === 0. Actual: ' + ((y = 1) >> y)); +} diff --git a/test/language/expressions/strict-does-not-equals/S11.9.5_A2.4_T3.js b/test/language/expressions/strict-does-not-equals/S11.9.5_A2.4_T3.js index bdefcb3281faa528727ed299c3e4c91f3e0071c0..e5a8433a68e1495d8f5761a3c9da397e6c3e044f 100644 --- a/test/language/expressions/strict-does-not-equals/S11.9.5_A2.4_T3.js +++ b/test/language/expressions/strict-does-not-equals/S11.9.5_A2.4_T3.js @@ -17,8 +17,3 @@ catch (e) { $ERROR('#1.2: x !== (x = 1) throw ReferenceError. Actual: ' + (e)); } } - -//CHECK#2 -if ((y = 1) !== y) { - $ERROR('#2: (y = 1) === y'); -} diff --git a/test/language/expressions/strict-does-not-equals/S11.9.5_A2.4_T4.js b/test/language/expressions/strict-does-not-equals/S11.9.5_A2.4_T4.js new file mode 100755 index 0000000000000000000000000000000000000000..ae76fb3df62f94f5ee040f61f2ab1e0cd0c729e7 --- /dev/null +++ b/test/language/expressions/strict-does-not-equals/S11.9.5_A2.4_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: First expression is evaluated first, and then second expression +es5id: 11.9.5_A2.4_T4 +description: Checking undeclarated variables +flags: [noStrict] +---*/ + +//CHECK#1 +if ((y = 1) !== y) { + $ERROR('#1: (y = 1) === y'); +} diff --git a/test/language/expressions/strict-equals/S11.9.4_A2.4_T3.js b/test/language/expressions/strict-equals/S11.9.4_A2.4_T3.js index 2a1cc2e395b788073b6a7323242ab85e05d4f80b..485fbb826b45cf1ad8000e846fb66b31263c9e3e 100644 --- a/test/language/expressions/strict-equals/S11.9.4_A2.4_T3.js +++ b/test/language/expressions/strict-equals/S11.9.4_A2.4_T3.js @@ -17,8 +17,3 @@ catch (e) { $ERROR('#1.2: x === (x = 1) throw ReferenceError. Actual: ' + (e)); } } - -//CHECK#2 -if (!((y = 1) === y)) { - $ERROR('#2: (y = 1) === y'); -} diff --git a/test/language/expressions/strict-equals/S11.9.4_A2.4_T4.js b/test/language/expressions/strict-equals/S11.9.4_A2.4_T4.js new file mode 100755 index 0000000000000000000000000000000000000000..b0bbe487a78edb66c0aca38eda91af099184ba64 --- /dev/null +++ b/test/language/expressions/strict-equals/S11.9.4_A2.4_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: First expression is evaluated first, and then second expression +es5id: 11.9.4_A2.4_T4 +description: Checking with undeclarated variables +flags: [noStrict] +---*/ + +//CHECK#1 +if (!((y = 1) === y)) { + $ERROR('#1: (y = 1) === y'); +} diff --git a/test/language/expressions/subtraction/S11.6.2_A2.4_T3.js b/test/language/expressions/subtraction/S11.6.2_A2.4_T3.js index d6aa5fb0e6fe79fea20c8ec942456bd1ba3d210a..772701029c05428f7b01a9ee77f0befc62ccd0d6 100644 --- a/test/language/expressions/subtraction/S11.6.2_A2.4_T3.js +++ b/test/language/expressions/subtraction/S11.6.2_A2.4_T3.js @@ -17,8 +17,3 @@ catch (e) { $ERROR('#1.2: x - (x = 1) throw ReferenceError. Actual: ' + (e)); } } - -//CHECK#2 -if ((y = 1) - y !== 0) { - $ERROR('#2: (y = 1) - y === 0. Actual: ' + ((y = 1) - y)); -} diff --git a/test/language/expressions/subtraction/S11.6.2_A2.4_T4.js b/test/language/expressions/subtraction/S11.6.2_A2.4_T4.js new file mode 100755 index 0000000000000000000000000000000000000000..3b9a8bb60f4402da9c8464f0aa6ed34010b35e3e --- /dev/null +++ b/test/language/expressions/subtraction/S11.6.2_A2.4_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: First expression is evaluated first, and then second expression +es5id: 11.6.2_A2.4_T4 +description: Checking with undeclarated variables +flags: [noStrict] +---*/ + +//CHECK#1 +if ((y = 1) - y !== 0) { + $ERROR('#1: (y = 1) - y === 0. Actual: ' + ((y = 1) - y)); +} diff --git a/test/language/expressions/unsigned-right-shift/S11.7.3_A2.4_T3.js b/test/language/expressions/unsigned-right-shift/S11.7.3_A2.4_T3.js index d44c785df5cce045f21ee999ce309904a413e2b1..2ed045c77b73ba5307cfaae986db90d67920c5a8 100644 --- a/test/language/expressions/unsigned-right-shift/S11.7.3_A2.4_T3.js +++ b/test/language/expressions/unsigned-right-shift/S11.7.3_A2.4_T3.js @@ -17,8 +17,3 @@ catch (e) { $ERROR('#1.2: x >>> (x = 1) throw ReferenceError. Actual: ' + (e)); } } - -//CHECK#2 -if ((y = 1) >>> y !== 0) { - $ERROR('#2: (y = 1) >>> y === 0. Actual: ' + ((y = 1) >>> y)); -} diff --git a/test/language/expressions/unsigned-right-shift/S11.7.3_A2.4_T4.js b/test/language/expressions/unsigned-right-shift/S11.7.3_A2.4_T4.js new file mode 100755 index 0000000000000000000000000000000000000000..4debe6c909a599533d95d7a177534d07cdfd0778 --- /dev/null +++ b/test/language/expressions/unsigned-right-shift/S11.7.3_A2.4_T4.js @@ -0,0 +1,14 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: First expression is evaluated first, and then second expression +es5id: 11.7.3_A2.4_T4 +description: Checking with undeclarated variables +flags: [noStrict] +---*/ + +//CHECK#1 +if ((y = 1) >>> y !== 0) { + $ERROR('#1: (y = 1) >>> y === 0. Actual: ' + ((y = 1) >>> y)); +}