aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorBill Ticehurst <billti@microsoft.com>2012-05-16 18:08:23 -0700
committerBill Ticehurst <billti@microsoft.com>2012-05-16 18:08:23 -0700
commit0dca29de4a303881ac34ad6542844ed39f224576 (patch)
treeaa166401aa6b2f47d11a0596957ae318e5983c82 /test
parent8646791addbc8405944d8292d052f522c53db83a (diff)
Adding more tests to cover undefined being non-writable (see https://bugs.ecmascript.org/show_bug.cgi?id=223 )
Diffstat (limited to 'test')
-rw-r--r--test/suite/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-1.js22
-rw-r--r--test/suite/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-2.js26
-rw-r--r--test/suite/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-3.js16
3 files changed, 64 insertions, 0 deletions
diff --git a/test/suite/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-1.js b/test/suite/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-1.js
new file mode 100644
index 000000000..156307567
--- /dev/null
+++ b/test/suite/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-1.js
@@ -0,0 +1,22 @@
+/// 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 ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-1.js
+ * @description undefined is not writable, should not throw in non-strict mode
+ * @noStrict
+ */
+
+function testcase(){
+ undefined === 5;
+ if(typeof undefined !== "undefined") return false;
+
+ var nosuchproperty;
+ if(nosuchproperty !== undefined) return false;
+
+ return true;
+}
+
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-2.js b/test/suite/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-2.js
new file mode 100644
index 000000000..9d7a614c4
--- /dev/null
+++ b/test/suite/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-2.js
@@ -0,0 +1,26 @@
+/// 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 ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-2.js
+ * @description undefined is not writable, should throw TypeError in strict mode
+ * @onlyStrict
+ */
+
+function testcase(){
+ "use strict";
+ var global = fnGlobalObject();
+ try{
+ global["undefined"] = 5; // Should throw a TypeError as per 8.12.5
+ } catch (ex) {
+ if(ex instanceof TypeError){
+ return true;
+ } else {
+ return false;
+ }
+ }
+}
+
+runTestCase(testcase);
diff --git a/test/suite/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-3.js b/test/suite/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-3.js
new file mode 100644
index 000000000..b2dec459a
--- /dev/null
+++ b/test/suite/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-3.js
@@ -0,0 +1,16 @@
+/// 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 ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-3.js
+ * @description undefined is not writable, simple assignment should return the rval value (11.13.1-6)
+ */
+
+function testcase(){
+ var newProperty = undefined = 42;
+ return (newProperty === 42);
+}
+
+runTestCase(testcase);