From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- .../tests/test262/ch11/11.8/11.8.6/S11.8.6_A1.js | 60 ++++++++++++++++++++ .../test262/ch11/11.8/11.8.6/S11.8.6_A2.1_T1.js | 35 ++++++++++++ .../test262/ch11/11.8/11.8.6/S11.8.6_A2.1_T2.js | 21 +++++++ .../test262/ch11/11.8/11.8.6/S11.8.6_A2.1_T3.js | 21 +++++++ .../test262/ch11/11.8/11.8.6/S11.8.6_A2.4_T1.js | 23 ++++++++ .../test262/ch11/11.8/11.8.6/S11.8.6_A2.4_T2.js | 26 +++++++++ .../test262/ch11/11.8/11.8.6/S11.8.6_A2.4_T3.js | 27 +++++++++ .../tests/test262/ch11/11.8/11.8.6/S11.8.6_A3.js | 65 ++++++++++++++++++++++ .../test262/ch11/11.8/11.8.6/S11.8.6_A4_T1.js | 26 +++++++++ .../test262/ch11/11.8/11.8.6/S11.8.6_A4_T2.js | 26 +++++++++ .../test262/ch11/11.8/11.8.6/S11.8.6_A4_T3.js | 25 +++++++++ .../test262/ch11/11.8/11.8.6/S11.8.6_A5_T1.js | 47 ++++++++++++++++ .../test262/ch11/11.8/11.8.6/S11.8.6_A5_T2.js | 36 ++++++++++++ .../test262/ch11/11.8/11.8.6/S11.8.6_A6_T1.js | 21 +++++++ .../test262/ch11/11.8/11.8.6/S11.8.6_A6_T2.js | 21 +++++++ .../test262/ch11/11.8/11.8.6/S11.8.6_A6_T3.js | 27 +++++++++ .../test262/ch11/11.8/11.8.6/S11.8.6_A6_T4.js | 40 +++++++++++++ .../test262/ch11/11.8/11.8.6/S11.8.6_A7_T1.js | 22 ++++++++ .../test262/ch11/11.8/11.8.6/S11.8.6_A7_T2.js | 22 ++++++++ .../test262/ch11/11.8/11.8.6/S11.8.6_A7_T3.js | 23 ++++++++ js/src/tests/test262/ch11/11.8/11.8.6/browser.js | 0 js/src/tests/test262/ch11/11.8/11.8.6/shell.js | 0 22 files changed, 614 insertions(+) create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A1.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.1_T1.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.1_T2.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.1_T3.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.4_T1.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.4_T2.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.4_T3.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A3.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A4_T1.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A4_T2.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A4_T3.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A5_T1.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A5_T2.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A6_T1.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A6_T2.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A6_T3.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A6_T4.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A7_T1.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A7_T2.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A7_T3.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/browser.js create mode 100644 js/src/tests/test262/ch11/11.8/11.8.6/shell.js (limited to 'js/src/tests/test262/ch11/11.8/11.8.6') diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A1.js b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A1.js new file mode 100644 index 000000000..282b9fda4 --- /dev/null +++ b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_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 RelationalExpression and "instanceof" and between "instanceof" and ShiftExpression are allowed + * + * @path ch11/11.8/11.8.6/S11.8.6_A1.js + * @description Checking by using eval + */ + +//CHECK#1 +if (eval("({})\u0009instanceof\u0009Object") !== true) { + $ERROR('#1: ({})\\u0009instanceof\\u0009Object === true'); +} + +//CHECK#2 +if (eval("({})\u000Binstanceof\u000BObject") !== true) { + $ERROR('#2: ({})\\u000Binstanceof\\u000BObject === true'); +} + +//CHECK#3 +if (eval("({})\u000Cinstanceof\u000CObject") !== true) { + $ERROR('#3: ({})\\u000Cinstanceof\\u000CObject === true'); +} + +//CHECK#4 +if (eval("({})\u0020instanceof\u0020Object") !== true) { + $ERROR('#4: ({})\\u0020instanceof\\u0020Object === true'); +} + +//CHECK#5 +if (eval("({})\u00A0instanceof\u00A0Object") !== true) { + $ERROR('#5: ({})\\u00A0instanceof\\u00A0Object === true'); +} + +//CHECK#6 +if (eval("({})\u000Ainstanceof\u000AObject") !== true) { + $ERROR('#6: ({})\\u000Ainstanceof\\u000AObject === true'); +} + +//CHECK#7 +if (eval("({})\u000Dinstanceof\u000DObject") !== true) { + $ERROR('#7: ({})\\u000Dinstanceof\\u000DObject === true'); +} + +//CHECK#8 +if (eval("({})\u2028instanceof\u2028Object") !== true) { + $ERROR('#8: ({})\\u2028instanceof\\u2028Object === true'); +} + +//CHECK#9 +if (eval("({})\u2029instanceof\u2029Object") !== true) { + $ERROR('#9: ({})\\u2029instanceof\\u2029Object === true'); +} + +//CHECK#10 +if (eval("({})\u0009\u000B\u000C\u0020\u00A0\u000A\u000D\u2028\u2029instanceof\u0009\u000B\u000C\u0020\u00A0\u000A\u000D\u2028\u2029Object") !== true) { + $ERROR('#10: ({})\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029instanceof\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029Object === true'); +} + diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.1_T1.js b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.1_T1.js new file mode 100644 index 000000000..e7a31658c --- /dev/null +++ b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.1_T1.js @@ -0,0 +1,35 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Operator "instanceof" uses GetValue + * + * @path ch11/11.8/11.8.6/S11.8.6_A2.1_T1.js + * @description Either Expression is not Reference or GetBase is not null + */ + +//CHECK#1 +if (({}) instanceof Object !== true) { + $ERROR('#1: ({}) instanceof Object === true'); +} + +//CHECK#2 +var object = {}; +if (object instanceof Object !== true) { + $ERROR('#2: var object = {}; object instanceof Object === true'); +} + +//CHECK#3 +var OBJECT = Object; +if (({}) instanceof OBJECT !== true) { + $ERROR('#3: var OBJECT = Object; ({}) instanceof OBJECT === true'); +} + +//CHECK#4 +var object = {}; +var OBJECT = Object; +if (object instanceof OBJECT !== true) { + $ERROR('#4: var object = {}; var OBJECT = Object; object instanceof OBJECT === true'); +} + + diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.1_T2.js b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.1_T2.js new file mode 100644 index 000000000..9477b0b5d --- /dev/null +++ b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.1_T2.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. + +/** + * Operator "instanceof" uses GetValue + * + * @path ch11/11.8/11.8.6/S11.8.6_A2.1_T2.js + * @description If GetBase(RelationalExpression) is null, throw ReferenceError + */ + +//CHECK#1 +try { + object instanceof Object; + $ERROR('#1.1: object instanceof Object throw ReferenceError. Actual: ' + (object instanceof Object)); +} +catch (e) { + if ((e instanceof ReferenceError) !== true) { + $ERROR('#1.2: object instanceof Object throw ReferenceError. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.1_T3.js b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.1_T3.js new file mode 100644 index 000000000..bb0a094ce --- /dev/null +++ b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.1_T3.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. + +/** + * Operator "instanceof" uses GetValue + * + * @path ch11/11.8/11.8.6/S11.8.6_A2.1_T3.js + * @description If GetBase(ShiftExpression) is null, throw ReferenceError + */ + +//CHECK#1 +try { + ({}) instanceof OBJECT; + $ERROR('#1.1: ({}) instanceof OBJECT throw ReferenceError. Actual: ' + (({}) instanceof OBJECT)); +} +catch (e) { + if ((e instanceof ReferenceError) !== true) { + $ERROR('#1.2: ({}) instanceof OBJECT throw ReferenceError. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.4_T1.js b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.4_T1.js new file mode 100644 index 000000000..957c99b3b --- /dev/null +++ b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_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.8/11.8.6/S11.8.6_A2.4_T1.js + * @description Checking with "=" + */ + +//CHECK#1 +var OBJECT = 0; +if ((OBJECT = Object, {}) instanceof OBJECT !== true) { + $ERROR('#1: var OBJECT = 0; (OBJECT = Object, {}) instanceof OBJECT === true'); +} + +//CHECK#2 +var object = {}; +if (object instanceof (object = 0, Object) !== true) { + $ERROR('#2: var object = {}; object instanceof (object = 0, Object) === true'); +} + + diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.4_T2.js b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.4_T2.js new file mode 100644 index 000000000..5f87c4342 --- /dev/null +++ b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_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.8/11.8.6/S11.8.6_A2.4_T2.js + * @description Checking with "throw" + */ + +//CHECK#1 +var x = function () { throw "x"; }; +var y = function () { throw "y"; }; +try { + x() instanceof y(); + $ERROR('#1.1: var x = function () { throw "x"; }; var y = function () { throw "y"; }; x() instanceof y() throw "x". Actual: ' + (x() instanceof 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() instanceof y() throw "x". Actual: ' + (e)); + } + } +} + diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.4_T3.js b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A2.4_T3.js new file mode 100644 index 000000000..06ef16073 --- /dev/null +++ b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_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.8/11.8.6/S11.8.6_A2.4_T3.js + * @description Checking with undeclarated variables + */ + +//CHECK#1 +try { + object instanceof (object = {}, Object); + $ERROR('#1.1: object instanceof (object = {}, Object) throw ReferenceError. Actual: ' + (object instanceof (object = {}, Object))); +} +catch (e) { + if ((e instanceof ReferenceError) !== true) { + $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/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A3.js b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A3.js new file mode 100644 index 000000000..da3d7e5dc --- /dev/null +++ b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A3.js @@ -0,0 +1,65 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If ShiftExpression is not an object, throw TypeError + * + * @path ch11/11.8/11.8.6/S11.8.6_A3.js + * @description Checking all the types of primitives + */ + +//CHECK#1 +try { + true instanceof true; + $ERROR('#1: true instanceof true throw TypeError'); +} +catch (e) { + if (e instanceof TypeError !== true) { + $ERROR('#1: true instanceof true throw TypeError'); + } +} + +//CHECK#2 +try { + 1 instanceof 1; + $ERROR('#2: 1 instanceof 1 throw TypeError'); +} +catch (e) { + if (e instanceof TypeError !== true) { + $ERROR('#2: 1 instanceof 1 throw TypeError'); + } +} + +//CHECK#3 +try { + "string" instanceof "string"; + $ERROR('#3: "string" instanceof "string" throw TypeError'); +} +catch (e) { + if (e instanceof TypeError !== true) { + $ERROR('#3: "string" instanceof "string" throw TypeError'); + } +} + +//CHECK#4 +try { + undefined instanceof undefined; + $ERROR('#4: undefined instanceof undefined throw TypeError'); +} +catch (e) { + if (e instanceof TypeError !== true) { + $ERROR('#4: undefined instanceof undefined throw TypeError'); + } +} + +//CHECK#5 +try { + null instanceof null; + $ERROR('#5: null instanceof null throw TypeError'); +} +catch (e) { + if (e instanceof TypeError !== true) { + $ERROR('#5: null instanceof null throw TypeError'); + } +} + diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A4_T1.js b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A4_T1.js new file mode 100644 index 000000000..0f9d2319d --- /dev/null +++ b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A4_T1.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. + +/** + * Only constructor call (with "new" keyword) makes instance + * + * @path ch11/11.8/11.8.6/S11.8.6_A4_T1.js + * @description Checking Boolean case + */ + +//CHECK#1 +if (false instanceof Boolean) { + $ERROR('#1: false is not instanceof Boolean'); +} + +//CHECK#2 +if (Boolean(false) instanceof Boolean) { + $ERROR('#2: Boolean(false) is not instanceof Boolean'); +} + +//CHECK#3 +if (new Boolean instanceof Boolean !== true) { + $ERROR('#3: new Boolean instanceof Boolean'); +} + + diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A4_T2.js b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A4_T2.js new file mode 100644 index 000000000..a4f1f3c02 --- /dev/null +++ b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A4_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. + +/** + * Only constructor call (with "new" keyword) makes instance + * + * @path ch11/11.8/11.8.6/S11.8.6_A4_T2.js + * @description Checking Number case + */ + +//CHECK#1 +if (0 instanceof Number) { + $ERROR('#1: 0 is not instanceof Number'); +} + +//CHECK#2 +if (Number(0) instanceof Number) { + $ERROR('#2: Number(0) is not instanceof Number'); +} + +//CHECK#3 +if (new Number instanceof Number !== true) { + $ERROR('#3: new Number instanceof Number'); +} + + diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A4_T3.js b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A4_T3.js new file mode 100644 index 000000000..c8220049c --- /dev/null +++ b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A4_T3.js @@ -0,0 +1,25 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Only constructor call (with "new" keyword) makes instance + * + * @path ch11/11.8/11.8.6/S11.8.6_A4_T3.js + * @description Checking String case + */ + +//CHECK#1 +if ("" instanceof String) { + $ERROR('#1: "" is not instanceof String'); +} + +//CHECK#2 +if (String("") instanceof String) { + $ERROR('#2: String("") is not instanceof String'); +} + +//CHECK#3 +if (new String instanceof String !== true) { + $ERROR('#3: new String instanceof String'); +} + diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A5_T1.js b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A5_T1.js new file mode 100644 index 000000000..66d61034c --- /dev/null +++ b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A5_T1.js @@ -0,0 +1,47 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * TypeError is subclass of Error from instanceof operator point of view + * + * @path ch11/11.8/11.8.6/S11.8.6_A5_T1.js + * @description Checking Error case + */ + +var __err = new Error; + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if (!(__err instanceof Error)) { + $ERROR('#1: TypeError is subclass of Error from instanceof operator poit of view'); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +if (__err instanceof TypeError) { + $ERROR('#2: TypeError is subclass of Error from instanceof operator poit of view'); +} +// +////////////////////////////////////////////////////////////////////////////// + +var err__ = Error('failed'); + +////////////////////////////////////////////////////////////////////////////// +//CHECK#3 +if (!(err__ instanceof Error)) { + $ERROR('#3: TypeError is subclass of Error from instanceof operator poit of view'); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#4 +if (err__ instanceof TypeError) { + $ERROR('#4: TypeError is subclass of Error from instanceof operator poit of view'); +} +// +////////////////////////////////////////////////////////////////////////////// + + diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A5_T2.js b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A5_T2.js new file mode 100644 index 000000000..340f09ff4 --- /dev/null +++ b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A5_T2.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. + +/** + * TypeError is subclass of Error from instanceof operator point of view + * + * @path ch11/11.8/11.8.6/S11.8.6_A5_T2.js + * @description Checking TypeError case + */ + +var __t__err = new TypeError; + +//CHECK#1 +if (!(__t__err instanceof Error)) { + $ERROR('#1: TypeError is subclass of Error from instanceof operator poit of view'); +} + +//CHECK#2 +if (!(__t__err instanceof TypeError)) { + $ERROR('#2: TypeError is subclass of Error from instanceof operator poit of view'); +} + +////////////////////////////////////////////////////////////////////////////// +var err__t__ = TypeError('failed'); + +//CHECK#3 +if (!(err__t__ instanceof Error)) { + $ERROR('#3: TypeError is subclass of Error from instanceof operator poit of view'); +} + +//CHECK#4 +if (!(err__t__ instanceof TypeError)) { + $ERROR('#4: TypeError is subclass of Error from instanceof operator poit of view'); +} + + diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A6_T1.js b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A6_T1.js new file mode 100644 index 000000000..16e0d82b3 --- /dev/null +++ b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A6_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. + +/** + * Only Function objects implement [[HasInstance]] and can be proper ShiftExpression for the "instanceof" operator consequently + * + * @path ch11/11.8/11.8.6/S11.8.6_A6_T1.js + * @description Checking "this" case + */ + +//CHECK#1 +try{ + ({}) instanceof this; + $ERROR('#1: Only Function objects implement [[HasInstance]] and consequently can be proper ShiftExpression for The instanceof operator'); +} +catch(e){ + if (e instanceof TypeError !== true) { + $ERROR('#1: Only Function objects implement [[HasInstance]] and consequently can be proper ShiftExpression for The instanceof operator'); + } +} + diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A6_T2.js b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A6_T2.js new file mode 100644 index 000000000..f25dbed82 --- /dev/null +++ b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A6_T2.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. + +/** + * Only Function objects implement [[HasInstance]] and can be proper ShiftExpression for the "instanceof" operator consequently + * + * @path ch11/11.8/11.8.6/S11.8.6_A6_T2.js + * @description Checking Math case + */ + +//CHECK#1 +try{ + 1 instanceof Math; + $ERROR('#1: 1 instanceof Math throw TypeError'); +} +catch(e){ + if (e instanceof TypeError !== true) { + $ERROR('#1: 1 instanceof Math throw TypeError'); + } +} + diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A6_T3.js b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A6_T3.js new file mode 100644 index 000000000..24773ad97 --- /dev/null +++ b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A6_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. + +/** + * Only Function objects implement [[HasInstance]] and can be proper ShiftExpression for the "instanceof" operator consequently + * + * @path ch11/11.8/11.8.6/S11.8.6_A6_T3.js + * @description Checking if RelationalExpression is function + */ + +function MyFunct(){return 0}; + +//CHECK#1 +if (MyFunct instanceof MyFunct){ + $ERROR('#1 function MyFunct(){return 0}; MyFunct instanceof MyFunct === false'); +} + +//CHECK#2 +if (MyFunct instanceof Function !== true){ + $ERROR('#2 function MyFunct(){return 0}; MyFunct instanceof Function === true'); +} + +//CHECK#3 +if (MyFunct instanceof Object !== true){ + $ERROR('#3 function MyFunct(){return 0}; MyFunct instanceof Object === true'); +} + diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A6_T4.js b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A6_T4.js new file mode 100644 index 000000000..68aa843e8 --- /dev/null +++ b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A6_T4.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. + +/** + * Only Function objects implement [[HasInstance]] and can be proper ShiftExpression for the "instanceof" operator consequently + * + * @path ch11/11.8/11.8.6/S11.8.6_A6_T4.js + * @description Checking if RelationalExpression is object + */ + +MyFunct = function(){}; +__my__funct = new MyFunct; + + +//CHECK#1 +if (!(__my__funct instanceof MyFunct)){ + $ERROR('#1 Only Function objects implement [[HasInstance]] and consequently can be proper ShiftExpression for The instanceof operator'); +} + +//CHECK#2 +if (__my__funct instanceof Function){ + $ERROR('#2 Only Function objects implement [[HasInstance]] and consequently can be proper ShiftExpression for The instanceof operator'); +} + +//CHECK#3 +if (!(__my__funct instanceof Object)){ + $ERROR('#3 Only Function objects implement [[HasInstance]] and consequently can be proper ShiftExpression for The instanceof operator'); +} + +//CHECK#4 +try{ + __my__funct instanceof __my__funct; + $ERROR('#4 Only Function objects implement [[HasInstance]] and consequently can be proper ShiftExpression for The instanceof operator'); +} +catch(e){ + if (e instanceof TypeError !== true) { + $ERROR('#4 Only Function objects implement [[HasInstance]] and consequently can be proper ShiftExpression for The instanceof operator'); + } +} + diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A7_T1.js b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A7_T1.js new file mode 100644 index 000000000..97944a5fd --- /dev/null +++ b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A7_T1.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. + +/** + * When "instanceof" returns true it means that GetValue(RelationalExpression) is constructed with ShiftExpression + * + * @path ch11/11.8/11.8.6/S11.8.6_A7_T1.js + * @description Checking Object object + */ + +var __obj={}; + +//CHECK#1 +if (!(__obj instanceof Object)) { + $ERROR('#1: If instanceof returns true then GetValue(RelationalExpression) was constructed with ShiftExpression'); +} + +//CHECK#2 +if (__obj.constructor !== Object) { + $ERROR('#2: If instanceof returns true then GetValue(RelationalExpression) was constructed with ShiftExpression'); +} + diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A7_T2.js b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A7_T2.js new file mode 100644 index 000000000..c77c93c18 --- /dev/null +++ b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A7_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. + +/** + * When "instanceof" returns true it means that GetValue(RelationalExpression) is constructed with ShiftExpression + * + * @path ch11/11.8/11.8.6/S11.8.6_A7_T2.js + * @description Checking Array object + */ + +var __arr=[]; + +//CHECK#1 +if (!(__arr instanceof Array)) { + $ERROR('#1: If instanceof returns true then GetValue(RelationalExpression) was constructed with ShiftExpression'); +} + +//CHECK#2 +if (__arr.constructor !== Array) { + $ERROR('#2: If instanceof returns true then GetValue(RelationalExpression) was constructed with ShiftExpression'); +} + diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A7_T3.js b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A7_T3.js new file mode 100644 index 000000000..8d476a8ad --- /dev/null +++ b/js/src/tests/test262/ch11/11.8/11.8.6/S11.8.6_A7_T3.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. + +/** + * When "instanceof" returns true it means that GetValue(RelationalExpression) is constructed with ShiftExpression + * + * @path ch11/11.8/11.8.6/S11.8.6_A7_T3.js + * @description Checking Function object + */ + +var __func = new Function; + +//CHECK#1 +if (!(__func instanceof Function)) { + $ERROR('#1: If instanceof returns true then GetValue(RelationalExpression) was constructed with ShiftExpression'); +} + +//CHECK#2 +if (__func.constructor !== Function) { + $ERROR('#2: If instanceof returns true then GetValue(RelationalExpression) was constructed with ShiftExpression'); +} + + diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/browser.js b/js/src/tests/test262/ch11/11.8/11.8.6/browser.js new file mode 100644 index 000000000..e69de29bb diff --git a/js/src/tests/test262/ch11/11.8/11.8.6/shell.js b/js/src/tests/test262/ch11/11.8/11.8.6/shell.js new file mode 100644 index 000000000..e69de29bb -- cgit v1.2.3