diff options
author | Bill Ticehurst <billti@microsoft.com> | 2012-05-16 18:08:23 -0700 |
---|---|---|
committer | Bill Ticehurst <billti@microsoft.com> | 2012-05-16 18:08:23 -0700 |
commit | 0dca29de4a303881ac34ad6542844ed39f224576 (patch) | |
tree | aa166401aa6b2f47d11a0596957ae318e5983c82 /test | |
parent | 8646791addbc8405944d8292d052f522c53db83a (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.js | 22 | ||||
-rw-r--r-- | test/suite/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-2.js | 26 | ||||
-rw-r--r-- | test/suite/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-3.js | 16 |
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);
|