aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorBill Ticehurst <billti@microsoft.com>2012-05-17 10:30:10 -0700
committerBill Ticehurst <billti@microsoft.com>2012-05-17 10:30:10 -0700
commitf117cde7414e7f082f09759737ae8071a91ae276 (patch)
treebd29693d7b8df460307ec86b6cfd1688cf76de4b /test
parent0dca29de4a303881ac34ad6542844ed39f224576 (diff)
Adding more coverage for 10.4.3 based on feedback in bug https://bugs.ecmascript.org/show_bug.cgi?id=333
Diffstat (limited to 'test')
-rw-r--r--test/suite/ch10/10.4/10.4.3/10.4.3-1-103.js18
-rw-r--r--test/suite/ch10/10.4/10.4.3/10.4.3-1-104.js20
-rw-r--r--test/suite/ch10/10.4/10.4.3/10.4.3-1-105.js21
-rw-r--r--test/suite/ch10/10.4/10.4.3/10.4.3-1-106.js20
4 files changed, 79 insertions, 0 deletions
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);