diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /js/src/tests/test262/ch11/11.9/11.9.2 | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'js/src/tests/test262/ch11/11.9/11.9.2')
31 files changed, 1098 insertions, 0 deletions
diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A1.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A1.js new file mode 100644 index 000000000..5478e2d8c --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A1.js @@ -0,0 +1,60 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * White Space and Line Terminator between EqualityExpression and "!=" or between "!=" and RelationalExpression are allowed + * + * @path ch11/11.9/11.9.2/S11.9.2_A1.js + * @description Checking by using eval + */ + +//CHECK#1 +if (eval("true\u0009!=\u00091") !== false) { + $ERROR('#1: (true\\u0009!=\\u00091) === false'); +} + +//CHECK#2 +if (eval("true\u000B!=\u000B1") !== false) { + $ERROR('#2: (true\\u000B!=\\u000B1) === false'); +} + +//CHECK#3 +if (eval("true\u000C!=\u000C1") !== false) { + $ERROR('#3: (true\\u000C!=\\u000C1) === false'); +} + +//CHECK#4 +if (eval("true\u0020!=\u00201") !== false) { + $ERROR('#4: (true\\u0020!=\\u00201) === false'); +} + +//CHECK#5 +if (eval("true\u00A0!=\u00A01") !== false) { + $ERROR('#5: (true\\u00A0!=\\u00A01) === false'); +} + +//CHECK#6 +if (eval("true\u000A!=\u000A1") !== false) { + $ERROR('#6: (true\\u000A!=\\u000A1) === false'); +} + +//CHECK#7 +if (eval("true\u000D!=\u000D1") !== false) { + $ERROR('#7: (true\\u000D!=\\u000D1) === false'); +} + +//CHECK#8 +if (eval("true\u2028!=\u20281") !== false) { + $ERROR('#8: (true\\u2028!=\\u20281) === false'); +} + +//CHECK#9 +if (eval("true\u2029!=\u20291") !== false) { + $ERROR('#9: (true\\u2029!=\\u20291) === false'); +} + +//CHECK#10 +if (eval("true\u0009\u000B\u000C\u0020\u00A0\u000A\u000D\u2028\u2029!=\u0009\u000B\u000C\u0020\u00A0\u000A\u000D\u2028\u20291") !== false) { + $ERROR('#10: (true\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029!=\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u20291) === false'); +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A2.1_T1.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A2.1_T1.js new file mode 100644 index 000000000..12b5bbe42 --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A2.1_T1.js @@ -0,0 +1,43 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x != y uses GetValue + * + * @path ch11/11.9/11.9.2/S11.9.2_A2.1_T1.js + * @description Either Type is not Reference or GetBase is not null + */ + +//CHECK#1 +if ((1 != 1) !== false) { + $ERROR('#1: (1 != 1) === false'); +} + +//CHECK#2 +var x = 1; +if ((x != 1) !== false) { + $ERROR('#2: var x = 1; (x != 1) === false'); +} + +//CHECK#3 +var y = 1; +if ((1 != y) !== false) { + $ERROR('#3: var y = 1; (1 != y) === false'); +} + +//CHECK#4 +var x = 1; +var y = 1; +if ((x != y) !== false) { + $ERROR('#4: var x = 1; var y = 1; (x != y) === false'); +} + +//CHECK#5 +var objectx = new Object(); +var objecty = new Object(); +objectx.prop = 1; +objecty.prop = 1; +if ((objectx.prop != objecty.prop) !== false) { + $ERROR('#5: var objectx = new Object(); var objecty = new Object(); objectx.prop = 1; objecty.prop = 1; (objectx.prop != objecty.prop) === false'); +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A2.1_T2.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A2.1_T2.js new file mode 100644 index 000000000..aaf6f6a8c --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A2.1_T2.js @@ -0,0 +1,22 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x != y uses GetValue + * + * @path ch11/11.9/11.9.2/S11.9.2_A2.1_T2.js + * @description If GetBase(x) is null, throw ReferenceError + */ + +//CHECK#1 +try { + x != 1; + $ERROR('#1.1: x != 1 throw ReferenceError. Actual: ' + (x != 1)); +} +catch (e) { + if ((e instanceof ReferenceError) !== true) { + $ERROR('#1.2: x != 1 throw ReferenceError. Actual: ' + (e)); + } +} + + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A2.1_T3.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A2.1_T3.js new file mode 100644 index 000000000..f8e65a173 --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A2.1_T3.js @@ -0,0 +1,22 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator x != y uses GetValue + * + * @path ch11/11.9/11.9.2/S11.9.2_A2.1_T3.js + * @description If GetBase(y) is null, throw ReferenceError + */ + +//CHECK#1 +try { + 1 != y; + $ERROR('#1: 1 != y throw ReferenceError'); +} +catch (e) { + if ((e instanceof ReferenceError) !== true) { + $ERROR('#1.2: 1 != y throw ReferenceError. Actual: ' + (e)); + } +} + + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A2.4_T1.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A2.4_T1.js new file mode 100644 index 000000000..5cb029e4f --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A2.4_T1.js @@ -0,0 +1,23 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * First expression is evaluated first, and then second expression + * + * @path ch11/11.9/11.9.2/S11.9.2_A2.4_T1.js + * @description Checking with "=" + */ + +//CHECK#1 +var x = 0; +if (((x = 1) != x) !== false) { + $ERROR('#1: var x = 0; ((x = 1) != x) === false'); +} + +//CHECK#2 +var x = 0; +if ((x != (x = 1)) !== true) { + $ERROR('#2: var x = 0; (x != (x = 1)) === true'); +} + + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A2.4_T2.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A2.4_T2.js new file mode 100644 index 000000000..6570ee33b --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A2.4_T2.js @@ -0,0 +1,26 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * First expression is evaluated first, and then second expression + * + * @path ch11/11.9/11.9.2/S11.9.2_A2.4_T2.js + * @description Checking with "throw" + */ + +//CHECK#1 +var x = function () { throw "x"; }; +var y = function () { throw "y"; }; +try { + x() != y(); + $ERROR('#1.1: var x = function () { throw "x"; }; var y = function () { throw "y"; }; x() != y() throw "x". Actual: ' + (x() != y())); +} catch (e) { + if (e === "y") { + $ERROR('#1.2: First expression is evaluated first, and then second expression'); + } else { + if (e !== "x") { + $ERROR('#1.3: var x = function () { throw "x"; }; var y = function () { throw "y"; }; x() != y() throw "x". Actual: ' + (e)); + } + } +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A2.4_T3.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A2.4_T3.js new file mode 100644 index 000000000..93cde317e --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A2.4_T3.js @@ -0,0 +1,27 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * First expression is evaluated first, and then second expression + * + * @path ch11/11.9/11.9.2/S11.9.2_A2.4_T3.js + * @description Checking with undeclarated variables + */ + +//CHECK#1 +try { + x != (x = 1); + $ERROR('#1.1: x != (x = 1) throw ReferenceError. Actual: ' + (x != (x = 1))); +} +catch (e) { + if ((e instanceof ReferenceError) !== true) { + $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/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A3.1.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A3.1.js new file mode 100644 index 000000000..79921a295 --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A3.1.js @@ -0,0 +1,30 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Return false, if x and y are both true or both false; otherwise, return true + * + * @path ch11/11.9/11.9.2/S11.9.2_A3.1.js + * @description x and y are boolean primitives + */ + +//CHECK#1 +if ((true != true) !== false) { + $ERROR('#1: (true != true) === false'); +} + +//CHECK#2 +if ((false != false) !== false) { + $ERROR('#2: (false != false) === false'); +} + +//CHECK#3 +if ((true != false) !== true) { + $ERROR('#3: (true != false) === true'); +} + +//CHECK#4 +if ((false != true) !== true) { + $ERROR('#4: (false != true) === true'); +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A3.2.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A3.2.js new file mode 100644 index 000000000..ff0f9c832 --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A3.2.js @@ -0,0 +1,32 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If Type(x) is Boolean and Type(y) is Number, + * return the result of comparison ToNumber(x) != y + * + * @path ch11/11.9/11.9.2/S11.9.2_A3.2.js + * @description x is primitive boolean, y is primitive number + */ + +//CHECK#1 +if ((true != 1) !== false) { + $ERROR('#1: (true != 1) === false'); +} + +//CHECK#2 +if ((false != "0") !== false) { + $ERROR('#2: (false != "0") === false'); +} + +//CHECK#3 +if ((true != new Boolean(true)) !== false) { + $ERROR('#3: (true != new Boolean(true)) === false'); +} + +//CHECK#4 +if ((true != {valueOf: function () {return 1}}) !== false) { + $ERROR('#4: (true != {valueOf: function () {return 1}}) === false'); +} + + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A3.3.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A3.3.js new file mode 100644 index 000000000..b32bf7fbd --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A3.3.js @@ -0,0 +1,31 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If Type(y) is Number and Type(y) is Boolean, + * return the result of comparison x != ToNumber(y) + * + * @path ch11/11.9/11.9.2/S11.9.2_A3.3.js + * @description x is primitive number, y is primitive boolean + */ + +//CHECK#1 +if ((0 != false) !== false) { + $ERROR('#1: (0 != false) === false'); +} + +//CHECK#2 +if (("1" != true) !== false) { + $ERROR('#2: ("1" != true) === false'); +} + +//CHECK#3 +if ((new Boolean(false) != false) !== false) { + $ERROR('#3: (new Boolean(false) != false) === false'); +} + +//CHECK#4 +if (({valueOf: function () {return "0"}} != false) !== false) { + $ERROR('#4: ({valueOf: function () {return "0"}} != false) === false'); +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A4.1_T1.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A4.1_T1.js new file mode 100644 index 000000000..98b9d074b --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A4.1_T1.js @@ -0,0 +1,56 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If x or y is NaN, return true + * + * @path ch11/11.9/11.9.2/S11.9.2_A4.1_T1.js + * @description x is NaN + */ + +//CHECK#1 +if ((Number.NaN != true) !== true) { + $ERROR('#1: (NaN != true) === true'); +} + +//CHECK#2 +if ((Number.NaN != 1) !== true) { + $ERROR('#2: (NaN != 1) === true'); +} + +//CHECK#3 +if ((Number.NaN != Number.NaN) !== true) { + $ERROR('#3: (NaN != NaN) === true'); +} + +//CHECK#4 +if ((Number.NaN != Number.POSITIVE_INFINITY) !== true) { + $ERROR('#4: (NaN != +Infinity) === true'); +} + +//CHECK#5 +if ((Number.NaN != Number.NEGATIVE_INFINITY) !== true) { + $ERROR('#5: (NaN != -Infinity) === true'); +} + +//CHECK#6 +if ((Number.NaN != Number.MAX_VALUE) !== true) { + $ERROR('#6: (NaN != Number.MAX_VALUE) === true'); +} + +//CHECK#7 +if ((Number.NaN != Number.MIN_VALUE) !== true) { + $ERROR('#7: (NaN != Number.MIN_VALUE) === true'); +} + +//CHECK#8 +if ((Number.NaN != "string") !== true) { + $ERROR('#8: (NaN != "string") === true'); +} + +//CHECK#9 +if ((Number.NaN != new Object()) !== true) { + $ERROR('#9: (NaN != new Object()) === true'); +} + + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A4.1_T2.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A4.1_T2.js new file mode 100644 index 000000000..471bcb6f6 --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A4.1_T2.js @@ -0,0 +1,55 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If x or y is NaN, return true + * + * @path ch11/11.9/11.9.2/S11.9.2_A4.1_T2.js + * @description y is NaN + */ + +//CHECK#1 +if ((true != Number.NaN) !== true) { + $ERROR('#1: (true != NaN) === true'); +} + +//CHECK#2 +if ((-1 != Number.NaN) !== true) { + $ERROR('#2: (-1 != NaN) === true'); +} + +//CHECK#3 +if ((Number.NaN != Number.NaN) !== true) { + $ERROR('#3: (NaN != NaN) === true'); +} + +//CHECK#4 +if ((Number.POSITIVE_INFINITY != Number.NaN) !== true) { + $ERROR('#4: (+Infinity != NaN) === true'); +} + +//CHECK#5 +if ((Number.NEGATIVE_INFINITY != Number.NaN) !== true) { + $ERROR('#5: (-Infinity != NaN) === true'); +} + +//CHECK#6 +if ((Number.MAX_VALUE != Number.NaN) !== true) { + $ERROR('#6: (Number.MAX_VALUE != NaN) === true'); +} + +//CHECK#7 +if ((Number.MIN_VALUE != Number.NaN) !== true) { + $ERROR('#7: (Number.MIN_VALUE != NaN) === true'); +} + +//CHECK#8 +if (("string" != Number.NaN) !== true) { + $ERROR('#8: ("string" != NaN) === true'); +} + +//CHECK#9 +if ((new Object() != Number.NaN) !== true) { + $ERROR('#9: (new Object() != NaN) === true'); +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A4.2.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A4.2.js new file mode 100644 index 000000000..b8045a6a0 --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A4.2.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If x is +0(-0) and y is -0(+0), return false + * + * @path ch11/11.9/11.9.2/S11.9.2_A4.2.js + * @description Checking all combinations + */ + +//CHECK#1 +if ((+0 != -0) !== false) { + $ERROR('#1: (+0 != -0) === false'); +} + +//CHECK#2 +if ((-0 != +0) !== false) { + $ERROR('#2: (-0 != +0) === false'); +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A4.3.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A4.3.js new file mode 100644 index 000000000..21cc16ee1 --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A4.3.js @@ -0,0 +1,36 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Type(x) and Type(y) are Number-s minus NaN, +0, -0. + * Return false, if x is the same number value as y; otherwise, return true + * + * @path ch11/11.9/11.9.2/S11.9.2_A4.3.js + * @description x and y are primitive numbers + */ + +//CHECK#1 +if ((Number.POSITIVE_INFINITY != Number.POSITIVE_INFINITY) !== false) { + $ERROR('#1: (+Infinity != +Infinity) === false'); +} + +//CHECK#2 +if ((Number.NEGATIVE_INFINITY != Number.NEGATIVE_INFINITY) !== false) { + $ERROR('#2: (-Infinity != -Infinity) === false'); +} + +//CHECK#3 +if ((Number.POSITIVE_INFINITY != -Number.NEGATIVE_INFINITY) !== false) { + $ERROR('#3: (+Infinity != -(-Infinity)) === false'); +} + +//CHECK#4 +if ((1 != 0.999999999999) !== true) { + $ERROR('#4: (1 != 0.999999999999) === true'); +} + +//CHECK#5 +if ((1.0 != 1) !== false) { + $ERROR('#5: (1.0 != 1) === false'); +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A5.1.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A5.1.js new file mode 100644 index 000000000..9476d907a --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A5.1.js @@ -0,0 +1,46 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Type(x) and Type(y) are String-s. + * Return true, if x and y are exactly the same sequence of characters; otherwise, return false + * + * @path ch11/11.9/11.9.2/S11.9.2_A5.1.js + * @description x and y are primitive strings + */ + +//CHECK#1 +if (("" != "") !== false) { + $ERROR('#1: ("" != "") === false'); +} + +//CHECK#2 +if ((" " != " ") !== false) { + $ERROR('#2: " (" != " ") === false'); +} + +//CHECK#3 +if ((" " != "") !== true) { + $ERROR('#3: " (" != "") === true'); +} + +//CHECK#4 +if (("string" != "string") !== false) { + $ERROR('#4: ("string" != "string") === false'); +} + +//CHECK#5 +if ((" string" != "string ") !== true) { + $ERROR('#5: (" string" != "string ") === true'); +} + +//CHECK#6 +if (("1.0" != "1") !== true) { + $ERROR('#6: ("1.0" != "1") === true'); +} + +//CHECK#7 +if (("0xff" != "255") !== true) { + $ERROR('#7: ("0xff" != "255") === true'); +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A5.2.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A5.2.js new file mode 100644 index 000000000..f63ffc17d --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A5.2.js @@ -0,0 +1,36 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If Type(x) is Number and Type(y) is String, + * return the result of comparison x != ToNumber(y) + * + * @path ch11/11.9/11.9.2/S11.9.2_A5.2.js + * @description x is primitive number, y is primitive string + */ + +//CHECK#1 +if ((1 != "1") !== false) { + $ERROR('#1: (1 != "1") === false'); +} + +//CHECK#2 +if ((1.100 != "+1.10") !== false) { + $ERROR('#2: (1.100 != "+1.10") === false'); +} + +//CHECK#3 +if ((1 != "true") !== true) { + $ERROR('#3: (1 != "true") === true'); +} + +//CHECK#4 +if ((255 != "0xff") !== false) { + $ERROR('#4: (255 != "0xff") === false'); +} + +//CHECK#5 +if ((0 != "") !== false) { + $ERROR('#5: (0 != "") === false'); +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A5.3.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A5.3.js new file mode 100644 index 000000000..dedd18ce0 --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A5.3.js @@ -0,0 +1,32 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If Type(x) is String and Type(y) is Number, + * return the result of comparison ToNumber(x) != y + * + * @path ch11/11.9/11.9.2/S11.9.2_A5.3.js + * @description x is primitive string, y is primitive number + */ + +//CHECK#1 +if (("-1" != -1) !== false) { + $ERROR('#1: ("-1" != -1) === false'); +} + +//CHECK#2 +if (("-1.100" != -1.10) !== false) { + $ERROR('#2: ("-1.100" != -1.10) === false'); +} + +//CHECK#3 +if (("false" != 0) !== true) { + $ERROR('#3: ("false" != 0) === true'); +} + +//CHECK#4 +if (("5e-324" != 5e-324) !== false) { + $ERROR('#4: ("5e-324" != 5e-324) === false'); +} + + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A6.1.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A6.1.js new file mode 100644 index 000000000..8d0cfcd35 --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A6.1.js @@ -0,0 +1,40 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If Type(x) as well as Type(y) is Undefined or Null, return true + * + * @path ch11/11.9/11.9.2/S11.9.2_A6.1.js + * @description Checking all combinations + */ + +//CHECK#1 +if ((undefined != undefined) !== false) { + $ERROR('#1: (undefined != undefined) === false'); +} + +//CHECK#2 +if ((void 0 != undefined) !== false) { + $ERROR('#2: (void 0 != undefined) === false'); +} + +//CHECK#3 +if ((undefined != eval("var x")) !== false) { + $ERROR('#3: (undefined != eval("var x")) === false'); +} + +//CHECK#4 +if ((undefined != null) !== false) { + $ERROR('#4: (undefined != null) === false'); +} + +//CHECK#5 +if ((null != void 0) !== false) { + $ERROR('#5: (null != void 0) === false'); +} + +//CHECK#6 +if ((null != null) !== false) { + $ERROR('#6: (null != null) === false'); +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A6.2_T1.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A6.2_T1.js new file mode 100644 index 000000000..e9a60e124 --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A6.2_T1.js @@ -0,0 +1,50 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If one expression is undefined or null and another is not, return false + * + * @path ch11/11.9/11.9.2/S11.9.2_A6.2_T1.js + * @description x is null or undefined, y is not + */ + +//CHECK#1 +if ((undefined != true) !== true) { + $ERROR('#1: (undefined != true) === true'); +} + +//CHECK#2 +if ((undefined != 0) !== true) { + $ERROR('#2: (undefined != 0) === true'); +} + +//CHECK#3 +if ((undefined != "undefined") !== true) { + $ERROR('#3: (undefined != "undefined") === true'); +} + +//CHECK#4 +if ((undefined != {}) !== true) { + $ERROR('#4: (undefined != {}) === true'); +} + +//CHECK#5 +if ((null != false) !== true) { + $ERROR('#5: (null != false) === true'); +} + +//CHECK#6 +if ((null != 0) !== true) { + $ERROR('#6: (null != 0) === true'); +} + +//CHECK#7 +if ((null != "null") !== true) { + $ERROR('#7: (null != "null") === true'); +} + +//CHECK#8 +if ((null != {}) !== true) { + $ERROR('#8: (null != {}) === true'); +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A6.2_T2.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A6.2_T2.js new file mode 100644 index 000000000..05b592b48 --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A6.2_T2.js @@ -0,0 +1,50 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If one expression is undefined or null and another is not, return false + * + * @path ch11/11.9/11.9.2/S11.9.2_A6.2_T2.js + * @description y is null or undefined, x is not + */ + +//CHECK#1 +if ((false != undefined) !== true) { + $ERROR('#1: (false != undefined) === true'); +} + +//CHECK#2 +if ((Number.NaN != undefined) !== true) { + $ERROR('#2: (Number.NaN != undefined) === true'); +} + +//CHECK#3 +if (("undefined" != undefined) !== true) { + $ERROR('#3: ("undefined" != undefined) === true'); +} + +//CHECK#4 +if (({} != undefined) !== true) { + $ERROR('#4: ({} != undefined) === true'); +} + +//CHECK#5 +if ((false != null) !== true) { + $ERROR('#5: (false != null) === true'); +} + +//CHECK#6 +if ((0 != null) !== true) { + $ERROR('#6: (0 != null) === true'); +} + +//CHECK#7 +if (("null" != null) !== true) { + $ERROR('#7: ("null" != null) === true'); +} + +//CHECK#8 +if (({} != null) !== true) { + $ERROR('#8: ({} != null) === true'); +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.1.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.1.js new file mode 100644 index 000000000..66b468892 --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.1.js @@ -0,0 +1,53 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Type(x) and Type(y) are Object-s. + * Return true, if x and y are references to the same Object; otherwise, return false + * + * @path ch11/11.9/11.9.2/S11.9.2_A7.1.js + * @description Checking Boolean object, Number object, String object, Object object + */ + +//CHECK#1 +if ((new Boolean(true) != new Boolean(true)) !== true) { + $ERROR('#1: (new Boolean(true) != new Boolean(true)) === true'); +} + +//CHECK#2 +if ((new Number(1) != new Number(1)) !== true) { + $ERROR('#2: (new Number(1) != new Number(1)) === true'); +} + +//CHECK#3 +if ((new String("x") != new String("x")) !== true) { + $ERROR('#3: (new String("x") != new String("x")) === true'); +} + +//CHECK#4 +if ((new Object() != new Object()) !== true) { + $ERROR('#4: (new Object() != new Object()) === true'); +} + +//CHECK#5 +x = {}; +y = x; +if ((x != y) !== false) { + $ERROR('#5: x = {}; y = x; (x != y) === false'); +} + +//CHECK#6 +if ((new Boolean(true) != new Number(1)) !== true) { + $ERROR('#6 (new Boolean(true) != new Number(1)) === true'); +} + +//CHECK#7 +if ((new Number(1) != new String("1")) !== true) { + $ERROR('#7: (new Number(1) != new String("1")) === true'); +} + +//CHECK#8 +if ((new String("1") != new Boolean(true)) !== true) { + $ERROR('#8: (new String("x") != new Boolean(true)) === true'); +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.2.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.2.js new file mode 100644 index 000000000..44252a045 --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.2.js @@ -0,0 +1,26 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If Type(x) is Object and Type(y) is Boolean, + * return ToPrimitive(x) != y + * + * @path ch11/11.9/11.9.2/S11.9.2_A7.2.js + * @description x is object, y is primitive boolean + */ + +//CHECK#1 +if ((new Boolean(true) != true) !== false) { + $ERROR('#1: (new Boolean(true) != true) === false'); +} + +//CHECK#2 +if ((new Number(1) != true) !== false) { + $ERROR('#2: (new Number(1) != true) === false'); +} + +//CHECK#3 +if ((new String("1") != true) !== false) { + $ERROR('#3: (new String("1") != true) === false'); +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.3.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.3.js new file mode 100644 index 000000000..7bd33386e --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.3.js @@ -0,0 +1,26 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If Type(x) is Boolean and Type(y) is Object, + * return x != ToPrimitive(y) + * + * @path ch11/11.9/11.9.2/S11.9.2_A7.3.js + * @description y is object, x is primitive boolean + */ + +//CHECK#1 +if ((true != new Boolean(true)) !== false) { + $ERROR('#1: (true != new Boolean(true)) === false'); +} + +//CHECK#2 +if ((true != new Number(1)) !== false) { + $ERROR('#2: (true != new Number(1)) === false'); +} + +//CHECK#3 +if ((true != new String("+1")) !== false) { + $ERROR('#3: (true != new String("+1")) === false'); +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.4.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.4.js new file mode 100644 index 000000000..c13672d52 --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.4.js @@ -0,0 +1,26 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If Type(x) is Object and Type(y) is Number, + * return ToPrimitive(x) != y + * + * @path ch11/11.9/11.9.2/S11.9.2_A7.4.js + * @description x is object, y is primitive number + */ + +//CHECK#1 +if ((new Boolean(true) != 1) !== false) { + $ERROR('#1: (new Boolean(true) != 1) === false'); +} + +//CHECK#2 +if ((new Number(-1) != -1) !== false) { + $ERROR('#2: (new Number(-1) != -1) === false'); +} + +//CHECK#3 +if ((new String("-1") != -1) !== false) { + $ERROR('#3: (new String("-1") != -1) === false'); +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.5.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.5.js new file mode 100644 index 000000000..c6cfc4976 --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.5.js @@ -0,0 +1,26 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If Type(x) is Number and Type(y) is Object, + * return x != ToPrimitive(y) + * + * @path ch11/11.9/11.9.2/S11.9.2_A7.5.js + * @description y is object, x is primitive number + */ + +//CHECK#1 +if ((1 != new Boolean(true)) !== false) { + $ERROR('#1: (1 != new Boolean(true)) === false'); +} + +//CHECK#2 +if ((-1 != new Number(-1)) !== false) { + $ERROR('#2: (-1 != new Number(-1)) === false'); +} + +//CHECK#3 +if ((-1 != new String("-1")) !== false) { + $ERROR('#3: (-1 != new String("-1")) === false'); +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.6.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.6.js new file mode 100644 index 000000000..286b9d4d0 --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.6.js @@ -0,0 +1,26 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If Type(x) is Object and Type(y) is String, + * return ToPrimitive(x) != y + * + * @path ch11/11.9/11.9.2/S11.9.2_A7.6.js + * @description x is object, y is primitive string + */ + +//CHECK#1 +if ((new Boolean(true) != "1") !== false) { + $ERROR('#1: (new Boolean(true) != "1") === false'); +} + +//CHECK#2 +if ((new Number(-1) != "-1") !== false) { + $ERROR('#2: (new Number(-1) != "-1") === false'); +} + +//CHECK#3 +if ((new String("x") != "x") !== false) { + $ERROR('#3: (new String("x") != "x") === false'); +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.7.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.7.js new file mode 100644 index 000000000..cdc8161e0 --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.7.js @@ -0,0 +1,26 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If Type(x) is String and Type(y) is Object, + * return x != ToPrimitive(y) + * + * @path ch11/11.9/11.9.2/S11.9.2_A7.7.js + * @description y is object, x is primitive string + */ + +//CHECK#1 +if (("1" != new Boolean(true)) !== false) { + $ERROR('#1: ("1" != new Boolean(true)) === false'); +} + +//CHECK#2 +if (("-1" != new Number(-1)) !== false) { + $ERROR('#2: ("-1" != new Number(-1)) === false'); +} + +//CHECK#3 +if (("x" != new String("x")) !== false) { + $ERROR('#3: ("x" != new String("x")) === false'); +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.8.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.8.js new file mode 100644 index 000000000..cf9766d79 --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.8.js @@ -0,0 +1,76 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If Type(x) is Object and Type(y) is primitive type, + * return ToPrimitive(x) != y + * + * @path ch11/11.9/11.9.2/S11.9.2_A7.8.js + * @description x is object, y is primtitive + */ + +//CHECK#1 +if ((true != {valueOf: function() {return 1}}) !== false) { + $ERROR('#1: (true != {valueOf: function() {return 1}}) === false'); +} + +//CHECK#2 +if ((1 != {valueOf: function() {return 1}, toString: function() {return 0}}) !== false) { + $ERROR('#2: (1 != {valueOf: function() {return 1}, toString: function() {return 0}}) === false'); +} + +//CHECK#3 +if (("+1" != {valueOf: function() {return 1}, toString: function() {return {}}}) !== false) { + $ERROR('#3: ("+1" != {valueOf: function() {return 1}, toString: function() {return {}}}) === false'); +} + +//CHECK#4 +try { + if ((true != {valueOf: function() {return "+1"}, toString: function() {throw "error"}}) !== false) { + $ERROR('#4.1: (true != {valueOf: function() {return "+1"}, toString: function() {throw "error"}}) === false'); + } +} +catch (e) { + if (e === "error") { + $ERROR('#4.2: (true != {valueOf: function() {return "+1"}, toString: function() {throw "error"}}) not throw "error"'); + } else { + $ERROR('#4.3: (true != {valueOf: function() {return "+1"}, toString: function() {throw "error"}}) not throw Error. Actual: ' + (e)); + } +} + +//CHECK#5 +if ((1 != {toString: function() {return "+1"}}) !== false) { + $ERROR('#5: (1 != {toString: function() {return "+1"}}) === false'); +} + +//CHECK#6 +if (("1" != {valueOf: function() {return {}}, toString: function() {return "+1"}}) !== true) { + $ERROR('#6.1: ("1" != {valueOf: function() {return {}}, toString: function() {return "+1"}}) === true'); +} else { + if (("+1" != {valueOf: function() {return {}}, toString: function() {return "+1"}}) !== false) { + $ERROR('#6.2: ("+1" != {valueOf: function() {return {}}, toString: function() {return "+1"}}) === false'); + } +} + +//CHECK#7 +try { + (1 != {valueOf: function() {throw "error"}, toString: function() {return 1}}); + $ERROR('#7: (1 != {valueOf: function() {throw "error"}, toString: function() {return 1}}) throw "error"'); +} +catch (e) { + if (e !== "error") { + $ERROR('#7: (1 != {valueOf: function() {throw "error"}, toString: function() {return 1}}) throw "error"'); + } +} + +//CHECK#8 +try { + (1 != {valueOf: function() {return {}}, toString: function() {return {}}}); + $ERROR('#8: (1 != {valueOf: function() {return {}}, toString: function() {return {}}}) throw TypeError'); +} +catch (e) { + if ((e instanceof TypeError) !== true) { + $ERROR('#8: (1 != {valueOf: function() {return {}}, toString: function() {return {}}}) throw TypeError'); + } +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.9.js b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.9.js new file mode 100644 index 000000000..c1ccc5f32 --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/S11.9.2_A7.9.js @@ -0,0 +1,76 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If Type(x) is primitive type and Type(y) is Object, + * return x != ToPrimitive(y) + * + * @path ch11/11.9/11.9.2/S11.9.2_A7.9.js + * @description y is object, x is primtitive + */ + +//CHECK#1 +if (({valueOf: function() {return 1}} != true) !== false) { + $ERROR('#1: ({valueOf: function() {return 1}} != true) === false'); +} + +//CHECK#2 +if (({valueOf: function() {return 1}, toString: function() {return 0}} != 1) !== false) { + $ERROR('#2: ({valueOf: function() {return 1}, toString: function() {return 0}} != 1) === false'); +} + +//CHECK#3 +if (({valueOf: function() {return 1}, toString: function() {return {}}} != "+1") !== false) { + $ERROR('#3: ({valueOf: function() {return 1}, toString: function() {return {}}} != "+1") === false'); +} + +//CHECK#4 +try { + if (({valueOf: function() {return "+1"}, toString: function() {throw "error"}} != true) !== false) { + $ERROR('#4.1: ({valueOf: function() {return "+1"}, toString: function() {throw "error"}} != true) === false'); + } +} +catch (e) { + if (e === "error") { + $ERROR('#4.2: ({valueOf: function() {return "+1"}, toString: function() {throw "error"}} != true) not throw "error"'); + } else { + $ERROR('#4.3: ({valueOf: function() {return "+1"}, toString: function() {throw "error"}} != true) not throw Error. Actual: ' + (e)); + } +} + +//CHECK#5 +if (({toString: function() {return "+1"}} != 1) !== false) { + $ERROR('#5: ({toString: function() {return "+1"}} != 1) === false'); +} + +//CHECK#6 +if (({valueOf: function() {return {}}, toString: function() {return "+1"}} != "1") !== true) { + $ERROR('#6.1: ({valueOf: function() {return {}}, toString: function() {return "+1"}} != "1") === true'); +} else { + if (({valueOf: function() {return {}}, toString: function() {return "+1"}} != "+1") !== false) { + $ERROR('#6.2: ({valueOf: function() {return {}}, toString: function() {return "+1"}} != "+1") === false'); + } +} + +//CHECK#7 +try { + ({valueOf: function() {throw "error"}, toString: function() {return 1}} != 1); + $ERROR('#7.1: ({valueOf: function() {throw "error"}, toString: function() {return 1}} != 1) throw "error". Actual: ' + (({valueOf: function() {throw "error"}, toString: function() {return 1}} != 1))); +} +catch (e) { + if (e !== "error") { + $ERROR('#7.2: ({valueOf: function() {throw "error"}, toString: function() {return 1}} != 1) throw "error". Actual: ' + (e)); + } +} + +//CHECK#8 +try { + ({valueOf: function() {return {}}, toString: function() {return {}}} != 1); + $ERROR('#8.1: ({valueOf: function() {return {}}, toString: function() {return {}}} != 1) throw TypeError. Actual: ' + (({valueOf: function() {return {}}, toString: function() {return {}}} != 1))); +} +catch (e) { + if ((e instanceof TypeError) !== true) { + $ERROR('#8.2: ({valueOf: function() {return {}}, toString: function() {return {}}} != 1) throw TypeError. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/browser.js b/js/src/tests/test262/ch11/11.9/11.9.2/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/browser.js diff --git a/js/src/tests/test262/ch11/11.9/11.9.2/shell.js b/js/src/tests/test262/ch11/11.9/11.9.2/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch11/11.9/11.9.2/shell.js |