From f117cde7414e7f082f09759737ae8071a91ae276 Mon Sep 17 00:00:00 2001 From: Bill Ticehurst Date: Thu, 17 May 2012 10:30:10 -0700 Subject: Adding more coverage for 10.4.3 based on feedback in bug https://bugs.ecmascript.org/show_bug.cgi?id=333 --- test/suite/ch10/10.4/10.4.3/10.4.3-1-103.js | 18 ++++++++++++++++++ test/suite/ch10/10.4/10.4.3/10.4.3-1-104.js | 20 ++++++++++++++++++++ test/suite/ch10/10.4/10.4.3/10.4.3-1-105.js | 21 +++++++++++++++++++++ test/suite/ch10/10.4/10.4.3/10.4.3-1-106.js | 20 ++++++++++++++++++++ 4 files changed, 79 insertions(+) create mode 100644 test/suite/ch10/10.4/10.4.3/10.4.3-1-103.js create mode 100644 test/suite/ch10/10.4/10.4.3/10.4.3-1-104.js create mode 100644 test/suite/ch10/10.4/10.4.3/10.4.3-1-105.js create mode 100644 test/suite/ch10/10.4/10.4.3/10.4.3-1-106.js (limited to 'test') diff --git a/test/suite/ch10/10.4/10.4.3/10.4.3-1-103.js b/test/suite/ch10/10.4/10.4.3/10.4.3-1-103.js new file mode 100644 index 000000000..a0bc90873 --- /dev/null +++ b/test/suite/ch10/10.4/10.4.3/10.4.3-1-103.js @@ -0,0 +1,18 @@ +/// Copyright (c) 2012 Ecma International. All rights reserved. +/// Ecma International makes this code available under the terms and conditions set +/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +/// "Use Terms"). Any redistribution of this code must retain the above +/// copyright and this notice and otherwise comply with the Use Terms. +/** + * @path ch10/10.4/10.4.3/10.4.3-1-103.js + * @description Non strict mode should ToObject thisArg if not an object. Abstract equality operator should succeed. + */ + +function testcase(){ + Object.defineProperty(Object.prototype, "x", { get: function () { return this; } }); + if((5).x == 0) return false; + if(!((5).x == 5)) return false; + return true; +} + +runTestCase(testcase); diff --git a/test/suite/ch10/10.4/10.4.3/10.4.3-1-104.js b/test/suite/ch10/10.4/10.4.3/10.4.3-1-104.js new file mode 100644 index 000000000..42f89deb3 --- /dev/null +++ b/test/suite/ch10/10.4/10.4.3/10.4.3-1-104.js @@ -0,0 +1,20 @@ +/// Copyright (c) 2012 Ecma International. All rights reserved. +/// Ecma International makes this code available under the terms and conditions set +/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +/// "Use Terms"). Any redistribution of this code must retain the above +/// copyright and this notice and otherwise comply with the Use Terms. +/** + * + * @path ch10/10.4/10.4.3/10.4.3-1-104.js + * @onlyStrict + * @description Strict mode should not ToObject thisArg if not an object. Strict equality operator should succeed. + */ + + +function testcase(){ + Object.defineProperty(Object.prototype, "x", { get: function () { "use strict"; return this; } }); + if(!((5).x === 5)) return false; + return true; +} + +runTestCase(testcase); diff --git a/test/suite/ch10/10.4/10.4.3/10.4.3-1-105.js b/test/suite/ch10/10.4/10.4.3/10.4.3-1-105.js new file mode 100644 index 000000000..a66b850cf --- /dev/null +++ b/test/suite/ch10/10.4/10.4.3/10.4.3-1-105.js @@ -0,0 +1,21 @@ +/// Copyright (c) 2012 Ecma International. All rights reserved. +/// Ecma International makes this code available under the terms and conditions set +/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +/// "Use Terms"). Any redistribution of this code must retain the above +/// copyright and this notice and otherwise comply with the Use Terms. +/** + * Created based on feedback in https://bugs.ecmascript.org/show_bug.cgi?id=333 + * + * @path ch10/10.4/10.4.3/10.4.3-1-105.js + * @description Non strict mode should ToObject thisArg if not an object. Return type should be object and strict equality should fail. + */ + + function testcase(){ + Object.defineProperty(Object.prototype, "x", { get: function () { return this; } }); + if((5).x === 5) return false; + if(!(typeof (5).x === "object")) return false; + return true; +} + +runTestCase(testcase); + diff --git a/test/suite/ch10/10.4/10.4.3/10.4.3-1-106.js b/test/suite/ch10/10.4/10.4.3/10.4.3-1-106.js new file mode 100644 index 000000000..36afbda2a --- /dev/null +++ b/test/suite/ch10/10.4/10.4.3/10.4.3-1-106.js @@ -0,0 +1,20 @@ +/// Copyright (c) 2012 Ecma International. All rights reserved. +/// Ecma International makes this code available under the terms and conditions set +/// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the +/// "Use Terms"). Any redistribution of this code must retain the above +/// copyright and this notice and otherwise comply with the Use Terms. +/** + * Created based on feedback in https://bugs.ecmascript.org/show_bug.cgi?id=333 + * + * @path ch10/10.4/10.4.3/10.4.3-1-106.js + * @onlyStrict + * @description Strict mode should not ToObject thisArg if not an object. Return type should be 'number'. + */ + + function testcase(){ + Object.defineProperty(Object.prototype, "x", { get: function () { "use strict"; return this; } }); + if(!(typeof (5).x === "number")) return false; + return true; +} + +runTestCase(testcase); -- cgit v1.2.3