diff options
Diffstat (limited to 'js/src/tests/test262/ch08/8.12')
94 files changed, 1774 insertions, 0 deletions
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_1.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_1.js new file mode 100644 index 000000000..fc417c8d8 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_1.js @@ -0,0 +1,17 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_1.js
+ * @description Properties - [[HasOwnProperty]] (property does not exist)
+ */
+
+function testcase() {
+
+ var o = {};
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_10.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_10.js new file mode 100644 index 000000000..88dd4d998 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_10.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 ch08/8.12/8.12.1/8.12.1-1_10.js
+ * @description Properties - [[HasOwnProperty]] (writable, configurable, non-enumerable own value property)
+ */
+
+function testcase() {
+
+ var o = {};
+ Object.defineProperty(o, "foo", {value: 42, writable:true, configurable:true});
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_11.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_11.js new file mode 100644 index 000000000..c000d0861 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_11.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 ch08/8.12/8.12.1/8.12.1-1_11.js
+ * @description Properties - [[HasOwnProperty]] (writable, configurable, enumerable own value property)
+ */
+
+function testcase() {
+
+ var o = {};
+ Object.defineProperty(o, "foo", {value: 42, writable:true, enumerable:true, configurable:true});
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_12.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_12.js new file mode 100644 index 000000000..41bc3b61b --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_12.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_12.js
+ * @description Properties - [[HasOwnProperty]] (non-writable, non-configurable, non-enumerable inherited value property)
+ */
+
+function testcase() {
+
+ var base = {};
+ Object.defineProperty(base, "foo", {value: 42});
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_13.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_13.js new file mode 100644 index 000000000..a07ec849f --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_13.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_13.js
+ * @description Properties - [[HasOwnProperty]] (non-writable, non-configurable, enumerable inherited value property)
+ */
+
+function testcase() {
+
+ var base = {};
+ Object.defineProperty(base, "foo", {value: 42, enumerable:true});
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_14.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_14.js new file mode 100644 index 000000000..923e64cb2 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_14.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_14.js
+ * @description Properties - [[HasOwnProperty]] (non-writable, configurable, non-enumerable inherited value property)
+ */
+
+function testcase() {
+
+ var base = {};
+ Object.defineProperty(base, "foo", {value: 42, configurable:true});
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_15.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_15.js new file mode 100644 index 000000000..9cfa1640b --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_15.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_15.js
+ * @description Properties - [[HasOwnProperty]] (writable, non-configurable, non-enumerable inherited value property)
+ */
+
+function testcase() {
+
+ var base = {};
+ Object.defineProperty(base, "foo", {value: 42, writable:true});
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_16.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_16.js new file mode 100644 index 000000000..1115e6ee5 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_16.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_16.js
+ * @description Properties - [[HasOwnProperty]] (non-writable, configurable, enumerable inherited value property)
+ */
+
+function testcase() {
+
+ var base = {};
+ Object.defineProperty(base, "foo", {value: 42, configurable:true, enumerable:true});
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_17.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_17.js new file mode 100644 index 000000000..09bf0f6df --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_17.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_17.js
+ * @description Properties - [[HasOwnProperty]] (writable, non-configurable, enumerable inherited value property)
+ */
+
+function testcase() {
+
+ var base = {};
+ Object.defineProperty(base, "foo", {value: 42, writable:true, enumerable:true});
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_18.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_18.js new file mode 100644 index 000000000..14c1f8c65 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_18.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_18.js
+ * @description Properties - [[HasOwnProperty]] (writable, configurable, non-enumerable inherited value property)
+ */
+
+function testcase() {
+
+ var base = {};
+ Object.defineProperty(base, "foo", {value: 42, writable:true, configurable:true});
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_19.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_19.js new file mode 100644 index 000000000..ef0a55559 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_19.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_19.js
+ * @description Properties - [[HasOwnProperty]] (writable, configurable, enumerable inherited value property)
+ */
+
+function testcase() {
+
+ var base = {};
+ Object.defineProperty(base, "foo", {value: 42, writable:true, enumerable:true, configurable:true});
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_2.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_2.js new file mode 100644 index 000000000..0314123aa --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_2.js @@ -0,0 +1,17 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_2.js
+ * @description Properties - [[HasOwnProperty]] (old style own property)
+ */
+
+function testcase() {
+
+ var o = {foo: 42};
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_20.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_20.js new file mode 100644 index 000000000..a4cb6f5f2 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_20.js @@ -0,0 +1,17 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_20.js
+ * @description Properties - [[HasOwnProperty]] (literal own getter property)
+ */
+
+function testcase() {
+
+ var o = { get foo() { return 42;} };
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_21.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_21.js new file mode 100644 index 000000000..e52f6e691 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_21.js @@ -0,0 +1,17 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_21.js
+ * @description Properties - [[HasOwnProperty]] (literal own setter property)
+ */
+
+function testcase() {
+
+ var o = { set foo(x) {;} };
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_22.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_22.js new file mode 100644 index 000000000..c5a836d52 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_22.js @@ -0,0 +1,17 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_22.js
+ * @description Properties - [[HasOwnProperty]] (literal own getter/setter property)
+ */
+
+function testcase() {
+
+ var o = { get foo() { return 42;}, set foo(x) {;} };
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_23.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_23.js new file mode 100644 index 000000000..9e2bc5cf1 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_23.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 ch08/8.12/8.12.1/8.12.1-1_23.js
+ * @description Properties - [[HasOwnProperty]] (literal inherited getter property)
+ */
+
+function testcase() {
+
+ var base = { get foo() { return 42;} };
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_24.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_24.js new file mode 100644 index 000000000..2bc8e3264 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_24.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 ch08/8.12/8.12.1/8.12.1-1_24.js
+ * @description Properties - [[HasOwnProperty]] (literal inherited setter property)
+ */
+
+function testcase() {
+
+ var base = { set foo(x) {;} };
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_25.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_25.js new file mode 100644 index 000000000..b735c28d0 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_25.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 ch08/8.12/8.12.1/8.12.1-1_25.js
+ * @description Properties - [[HasOwnProperty]] (literal inherited getter/setter property)
+ */
+
+function testcase() {
+
+ var base = { get foo() { return 42;}, set foo(x) {;} };
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_26.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_26.js new file mode 100644 index 000000000..fb3555966 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_26.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 ch08/8.12/8.12.1/8.12.1-1_26.js
+ * @description Properties - [[HasOwnProperty]] (non-configurable, non-enumerable own getter property)
+ */
+
+function testcase() {
+
+ var o = {};
+ Object.defineProperty(o, "foo", {get: function() {return 42;}});
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_27.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_27.js new file mode 100644 index 000000000..ff95ff414 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_27.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 ch08/8.12/8.12.1/8.12.1-1_27.js
+ * @description Properties - [[HasOwnProperty]] (non-configurable, enumerable own getter property)
+ */
+
+function testcase() {
+
+ var o = {};
+ Object.defineProperty(o, "foo", {get: function() {return 42;}, enumerable:true});
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_28.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_28.js new file mode 100644 index 000000000..5b177ded6 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_28.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 ch08/8.12/8.12.1/8.12.1-1_28.js
+ * @description Properties - [[HasOwnProperty]] (configurable, non-enumerable own getter property)
+ */
+
+function testcase() {
+
+ var o = {};
+ Object.defineProperty(o, "foo", {get: function() {return 42;}, configurable:true});
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_29.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_29.js new file mode 100644 index 000000000..b9b2bd5ea --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_29.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 ch08/8.12/8.12.1/8.12.1-1_29.js
+ * @description Properties - [[HasOwnProperty]] (configurable, enumerable own getter property)
+ */
+
+function testcase() {
+
+ var o = {};
+ Object.defineProperty(o, "foo", {get: function() {return 42;}, enumerable:true, configurable:true});
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_3.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_3.js new file mode 100644 index 000000000..742077a2b --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_3.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 ch08/8.12/8.12.1/8.12.1-1_3.js
+ * @description Properties - [[HasOwnProperty]] (old style inherited property)
+ */
+
+function testcase() {
+
+ var base = {foo:42};
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_30.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_30.js new file mode 100644 index 000000000..db063f6f6 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_30.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 ch08/8.12/8.12.1/8.12.1-1_30.js
+ * @description Properties - [[HasOwnProperty]] (non-configurable, non-enumerable own setter property)
+ */
+
+function testcase() {
+
+ var o = {};
+ Object.defineProperty(o, "foo", {set: function() {;}});
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_31.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_31.js new file mode 100644 index 000000000..4555da40e --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_31.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 ch08/8.12/8.12.1/8.12.1-1_31.js
+ * @description Properties - [[HasOwnProperty]] (non-configurable, enumerable own setter property)
+ */
+
+function testcase() {
+
+ var o = {};
+ Object.defineProperty(o, "foo", {set: function() {;}, enumerable:true});
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_32.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_32.js new file mode 100644 index 000000000..7fcff86a2 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_32.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 ch08/8.12/8.12.1/8.12.1-1_32.js
+ * @description Properties - [[HasOwnProperty]] (configurable, non-enumerable own setter property)
+ */
+
+function testcase() {
+
+ var o = {};
+ Object.defineProperty(o, "foo", {set: function() {;}, configurable:true});
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_33.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_33.js new file mode 100644 index 000000000..fb0294127 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_33.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 ch08/8.12/8.12.1/8.12.1-1_33.js
+ * @description Properties - [[HasOwnProperty]] (configurable, enumerable own setter property)
+ */
+
+function testcase() {
+
+ var o = {};
+ Object.defineProperty(o, "foo", {set: function() {;}, enumerable:true, configurable:true});
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_34.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_34.js new file mode 100644 index 000000000..e72c99496 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_34.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 ch08/8.12/8.12.1/8.12.1-1_34.js
+ * @description Properties - [[HasOwnProperty]] (non-configurable, non-enumerable own getter/setter property)
+ */
+
+function testcase() {
+
+ var o = {};
+ Object.defineProperty(o, "foo", {get: function() {return 42;}, set: function() {;}});
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_35.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_35.js new file mode 100644 index 000000000..7f56d79ae --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_35.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 ch08/8.12/8.12.1/8.12.1-1_35.js
+ * @description Properties - [[HasOwnProperty]] (non-configurable, enumerable own getter/setter property)
+ */
+
+function testcase() {
+
+ var o = {};
+ Object.defineProperty(o, "foo", {get: function() {return 42;}, set: function() {;}, enumerable:true});
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_36.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_36.js new file mode 100644 index 000000000..5d6a1162b --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_36.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 ch08/8.12/8.12.1/8.12.1-1_36.js
+ * @description Properties - [[HasOwnProperty]] (configurable, non-enumerable own getter/setter property)
+ */
+
+function testcase() {
+
+ var o = {};
+ Object.defineProperty(o, "foo", {get: function() {return 42;}, set: function() {;}, configurable:true});
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_37.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_37.js new file mode 100644 index 000000000..c58438ef7 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_37.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 ch08/8.12/8.12.1/8.12.1-1_37.js
+ * @description Properties - [[HasOwnProperty]] (configurable, enumerable own getter/setter property)
+ */
+
+function testcase() {
+
+ var o = {};
+ Object.defineProperty(o, "foo", {get: function() {return 42;}, set: function() {;}, enumerable:true, configurable:true});
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_38.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_38.js new file mode 100644 index 000000000..986059292 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_38.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_38.js
+ * @description Properties - [[HasOwnProperty]] (non-configurable, non-enumerable inherited getter property)
+ */
+
+function testcase() {
+
+ var base = {};
+ Object.defineProperty(base, "foo", {get: function() {return 42;}});
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_39.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_39.js new file mode 100644 index 000000000..2ec9acd72 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_39.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_39.js
+ * @description Properties - [[HasOwnProperty]] (non-configurable, enumerable inherited getter property)
+ */
+
+function testcase() {
+
+ var base = {};
+ Object.defineProperty(base, "foo", {get: function() {return 42;}, enumerable:true});
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_4.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_4.js new file mode 100644 index 000000000..cb67d3f39 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_4.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 ch08/8.12/8.12.1/8.12.1-1_4.js
+ * @description Properties - [[HasOwnProperty]] (non-writable, non-configurable, non-enumerable own value property)
+ */
+
+function testcase() {
+
+ var o = {};
+ Object.defineProperty(o, "foo", {value: 42});
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_40.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_40.js new file mode 100644 index 000000000..f0aad260e --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_40.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_40.js
+ * @description Properties - [[HasOwnProperty]] (configurable, non-enumerable inherited getter property)
+ */
+
+function testcase() {
+
+ var base = {};
+ Object.defineProperty(base, "foo", {get: function() {return 42;}, configurable:true});
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_41.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_41.js new file mode 100644 index 000000000..b3e3ecdff --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_41.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_41.js
+ * @description Properties - [[HasOwnProperty]] (configurable, enumerable inherited getter property)
+ */
+
+function testcase() {
+
+ var base = {};
+ Object.defineProperty(base, "foo", {get: function() {return 42;}, enumerable:true, configurable:true});
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_42.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_42.js new file mode 100644 index 000000000..5f4679697 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_42.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_42.js
+ * @description Properties - [[HasOwnProperty]] (non-configurable, non-enumerable inherited setter property)
+ */
+
+function testcase() {
+
+ var base = {};
+ Object.defineProperty(base, "foo", {set: function() {;}});
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_43.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_43.js new file mode 100644 index 000000000..52632881f --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_43.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_43.js
+ * @description Properties - [[HasOwnProperty]] (non-configurable, enumerable inherited setter property)
+ */
+
+function testcase() {
+
+ var base = {};
+ Object.defineProperty(base, "foo", {set: function() {;}, enumerable:true});
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_44.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_44.js new file mode 100644 index 000000000..e76b7ffa2 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_44.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_44.js
+ * @description Properties - [[HasOwnProperty]] (configurable, non-enumerable inherited setter property)
+ */
+
+function testcase() {
+
+ var base = {};
+ Object.defineProperty(base, "foo", {set: function() {;}, configurable:true});
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_45.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_45.js new file mode 100644 index 000000000..c1dda50f5 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_45.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_45.js
+ * @description Properties - [[HasOwnProperty]] (configurable, enumerable inherited setter property)
+ */
+
+function testcase() {
+
+ var base = {};
+ Object.defineProperty(base, "foo", {set: function() {;}, enumerable:true, configurable:true});
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_46.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_46.js new file mode 100644 index 000000000..2f2cb4a6d --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_46.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_46.js
+ * @description Properties - [[HasOwnProperty]] (non-configurable, non-enumerable inherited getter/setter property)
+ */
+
+function testcase() {
+
+ var base = {};
+ Object.defineProperty(base, "foo", {get: function() {return 42;}, set: function() {;}});
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_47.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_47.js new file mode 100644 index 000000000..032dcff5b --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_47.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_47.js
+ * @description Properties - [[HasOwnProperty]] (non-configurable, enumerable inherited getter/setter property)
+ */
+
+function testcase() {
+
+ var base = {};
+ Object.defineProperty(base, "foo", {get: function() {return 42;}, set: function() {;}, enumerable:true});
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_48.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_48.js new file mode 100644 index 000000000..f7901fbca --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_48.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_48.js
+ * @description Properties - [[HasOwnProperty]] (configurable, non-enumerable inherited getter/setter property)
+ */
+
+function testcase() {
+
+ var base = {};
+ Object.defineProperty(base, "foo", {get: function() {return 42;}, set: function() {;}, configurable:true});
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_49.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_49.js new file mode 100644 index 000000000..c43be6a73 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_49.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.1/8.12.1-1_49.js
+ * @description Properties - [[HasOwnProperty]] (configurable, enumerable inherited getter/setter property)
+ */
+
+function testcase() {
+
+ var base = {};
+ Object.defineProperty(base, "foo", {get: function() {return 42;}, set: function() {;}, enumerable:true, configurable:true});
+ var o = Object.create(base);
+ return o.hasOwnProperty("foo")===false;
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_5.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_5.js new file mode 100644 index 000000000..2c6ff4643 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_5.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 ch08/8.12/8.12.1/8.12.1-1_5.js
+ * @description Properties - [[HasOwnProperty]] (non-writable, non-configurable, enumerable own value property)
+ */
+
+function testcase() {
+
+ var o = {};
+ Object.defineProperty(o, "foo", {value: 42, enumerable:true});
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_6.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_6.js new file mode 100644 index 000000000..02b14b206 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_6.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 ch08/8.12/8.12.1/8.12.1-1_6.js
+ * @description Properties - [[HasOwnProperty]] (non-writable, configurable, non-enumerable own value property)
+ */
+
+function testcase() {
+
+ var o = {};
+ Object.defineProperty(o, "foo", {value: 42, configurable:true});
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_7.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_7.js new file mode 100644 index 000000000..4b7845365 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_7.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 ch08/8.12/8.12.1/8.12.1-1_7.js
+ * @description Properties - [[HasOwnProperty]] (writable, non-configurable, non-enumerable own value property)
+ */
+
+function testcase() {
+
+ var o = {};
+ Object.defineProperty(o, "foo", {value: 42, writable:true});
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_8.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_8.js new file mode 100644 index 000000000..d462883fa --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_8.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 ch08/8.12/8.12.1/8.12.1-1_8.js
+ * @description Properties - [[HasOwnProperty]] (non-writable, configurable, enumerable own value property)
+ */
+
+function testcase() {
+
+ var o = {};
+ Object.defineProperty(o, "foo", {value: 42, configurable:true, enumerable:true});
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_9.js b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_9.js new file mode 100644 index 000000000..5fe54362c --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/8.12.1-1_9.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 ch08/8.12/8.12.1/8.12.1-1_9.js
+ * @description Properties - [[HasOwnProperty]] (writable, non-configurable, enumerable own value property)
+ */
+
+function testcase() {
+
+ var o = {};
+ Object.defineProperty(o, "foo", {value: 42, writable:true, enumerable:true});
+ return o.hasOwnProperty("foo");
+
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/browser.js b/js/src/tests/test262/ch08/8.12/8.12.1/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/browser.js diff --git a/js/src/tests/test262/ch08/8.12/8.12.1/shell.js b/js/src/tests/test262/ch08/8.12/8.12.1/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.1/shell.js diff --git a/js/src/tests/test262/ch08/8.12/8.12.3/S8.12.3_A1.js b/js/src/tests/test262/ch08/8.12/8.12.3/S8.12.3_A1.js new file mode 100644 index 000000000..4bf7b4590 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.3/S8.12.3_A1.js @@ -0,0 +1,32 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * [[Get]](P) method should return value when property P does not exist in instance but prototype contain it + * + * @path ch08/8.12/8.12.3/S8.12.3_A1.js + * @description Try to get P when property P does not exist in instance but prototype contain it + */ + +//Establish foo object +function FooObj(){}; FooObj.prototype.propFoo="some"; + +// Invoke instance of foo object +var __obj= new FooObj; + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if (__obj.propFoo !== "some"){ + $ERROR('#1: function FooObj(){}; FooObj.prototype.propFoo="some"; var __obj= new FooObj; __obj.propFoo === "some". Actual: ' + (__obj.propFoo)); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +if (__obj['propFoo'] !== "some"){ + $ERROR('#1: function FooObj(){}; FooObj.prototype.propFoo="some"; var __obj= new FooObj; __obj[\'propFoo\'] === "some". Actual: ' + (__obj['propFoo'])); +} +// +////////////////////////////////////////////////////////////////////////////// + diff --git a/js/src/tests/test262/ch08/8.12/8.12.3/S8.12.3_A2.js b/js/src/tests/test262/ch08/8.12/8.12.3/S8.12.3_A2.js new file mode 100644 index 000000000..8f261da8e --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.3/S8.12.3_A2.js @@ -0,0 +1,28 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * [[Get]](P) method should return undefined when property P does not exist both in instance and prototype + * + * @path ch08/8.12/8.12.3/S8.12.3_A2.js + * @description Try to get P when property P does not exist both in instance and prototype + */ + +var __obj={}; + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if (__obj.propFoo !== undefined){ + $ERROR('#1: var __obj={}; __obj.propFoo === undefined. Actual: ' + (__obj.propFoo)); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +if (__obj['propFoo'] !== undefined){ + $ERROR('#2: var __obj={}; __obj[\'propFoo\'] === undefined. Actual: ' + (__obj['propFoo'])); +} +// +////////////////////////////////////////////////////////////////////////////// + diff --git a/js/src/tests/test262/ch08/8.12/8.12.3/S8.12.3_A3.js b/js/src/tests/test262/ch08/8.12/8.12.3/S8.12.3_A3.js new file mode 100644 index 000000000..dbe1250ad --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.3/S8.12.3_A3.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. + +/** + * When the [[Get]] method of O is called with property name P value of P returns + * + * @path ch08/8.12/8.12.3/S8.12.3_A3.js + * @description Try to get P property P exist in instance + */ + +var __map={shape:"cube", 5:"five", "6":"six"}; + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if (__map.shape !== "cube"){ + $ERROR('#1: var __map={shape:"cube", 5:"five", "6":"six"}; __map.shape === "cube". Actual: ' + (__map.shape)); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +if (__map["shape"] !== "cube"){ + $ERROR('#2: var __map={shape:"cube", 5:"five", "6":"six"}; __map["shape"] === "cube". Actual: ' + (__map["shape"])); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#3 +if (__map["5"] !== "five"){ + $ERROR('#3: var __map={shape:"cube", 5:"five", "6":"six"}; __map["5"] === "five". Actual: ' + (__map["5"])); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#4 +if (__map[5] !== "five"){ + $ERROR('#4: var __map={shape:"cube", 5:"five", "6":"six"}; __map[5] === "five". Actual: ' + (__map[5])); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#5 +if (__map["6"] !== "six"){ + $ERROR('#5: var __map={shape:"cube", 5:"five", "6":"six"}; __map["6"] === "six". Actual: ' + (__map["6"])); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#6 +if (__map[6] !== "six"){ + $ERROR('#6: var __map={shape:"cube", 5:"five", "6":"six"}; __map[6] === "six". Actual: ' + (__map[6])); +} +// +////////////////////////////////////////////////////////////////////////////// + diff --git a/js/src/tests/test262/ch08/8.12/8.12.3/browser.js b/js/src/tests/test262/ch08/8.12/8.12.3/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.3/browser.js diff --git a/js/src/tests/test262/ch08/8.12/8.12.3/shell.js b/js/src/tests/test262/ch08/8.12/8.12.3/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.3/shell.js diff --git a/js/src/tests/test262/ch08/8.12/8.12.4/8.14.4-8-b_1.js b/js/src/tests/test262/ch08/8.12/8.12.4/8.14.4-8-b_1.js new file mode 100644 index 000000000..38249d056 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.4/8.14.4-8-b_1.js @@ -0,0 +1,19 @@ +/// 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 ch08/8.12/8.12.4/8.14.4-8-b_1.js
+ * @description Non-writable property on a prototype written to.
+ */
+
+function testcase() {
+ function foo() {};
+ Object.defineProperty(foo.prototype, "bar", {value: "unwritable"});
+
+ var o = new foo();
+ o.bar = "overridden";
+ return o.hasOwnProperty("bar")===false && o.bar==="unwritable";
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.4/8.14.4-8-b_2.js b/js/src/tests/test262/ch08/8.12/8.12.4/8.14.4-8-b_2.js new file mode 100644 index 000000000..f6b5f1c14 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.4/8.14.4-8-b_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 ch08/8.12/8.12.4/8.14.4-8-b_2.js
+ * @description Non-writable property on a prototype written to in strict mode.
+ * @onlyStrict
+ */
+
+function testcase() {
+ "use strict";
+
+ function foo() {};
+ Object.defineProperty(foo.prototype, "bar", {value: "unwritable"});
+
+ var o = new foo();
+ try {
+ o.bar = "overridden";
+ return false;
+ } catch(e) {
+ return (e instanceof TypeError) && (o.bar==="unwritable");
+ }
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.4/S8.12.4_A1.js b/js/src/tests/test262/ch08/8.12/8.12.4/S8.12.4_A1.js new file mode 100644 index 000000000..cbe11f0f7 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.4/S8.12.4_A1.js @@ -0,0 +1,17 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * If the property has the ReadOnly attribute, [[CanPut]](P) return false + * + * @path ch08/8.12/8.12.4/S8.12.4_A1.js + * @description Try put other value for Math.E property + * @noStrict + */ + +var __e = Math.E; +Math.E = 1; +if (Math.E !== __e){ + $ERROR('#1: __e = Math.E; Math.E = 1; Math.E === __e. Actual: ' + (Math.E)); +} + diff --git a/js/src/tests/test262/ch08/8.12/8.12.4/browser.js b/js/src/tests/test262/ch08/8.12/8.12.4/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.4/browser.js diff --git a/js/src/tests/test262/ch08/8.12/8.12.4/shell.js b/js/src/tests/test262/ch08/8.12/8.12.4/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.4/shell.js diff --git a/js/src/tests/test262/ch08/8.12/8.12.5/8.12.5-3-b_1.js b/js/src/tests/test262/ch08/8.12/8.12.5/8.12.5-3-b_1.js new file mode 100644 index 000000000..0ed875ef4 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.5/8.12.5-3-b_1.js @@ -0,0 +1,40 @@ +/// 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 ch08/8.12/8.12.5/8.12.5-3-b_1.js
+ * @description Changing the value of a data property should not affect it's non-value property descriptor attributes.
+ */
+
+
+function testcase() {
+ var origReduce = Array.prototype.reduce;
+ var origDesc = Object.getOwnPropertyDescriptor(Array.prototype, "reduce");
+ var newDesc;
+
+ try {
+ Array.prototype.reduce = function () {;};
+ newDesc = Object.getOwnPropertyDescriptor(Array.prototype, "reduce");
+ var descArray = [origDesc, newDesc];
+
+ for (var j in descArray) { //Ensure no attributes are magically added to newDesc
+ for (var i in descArray[j]) {
+ if (i==="value") {
+ if (origDesc[i]===newDesc[i]) {
+ return false;
+ }
+ }
+ else if (origDesc[i]!==newDesc[i]) {
+ return false;
+ }
+ }
+ }
+ return true;
+
+ } finally {
+ Array.prototype.reduce = origReduce;
+ }
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.5/8.12.5-3-b_2.js b/js/src/tests/test262/ch08/8.12/8.12.5/8.12.5-3-b_2.js new file mode 100644 index 000000000..f6b760ce3 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.5/8.12.5-3-b_2.js @@ -0,0 +1,44 @@ +/// 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 ch08/8.12/8.12.5/8.12.5-3-b_2.js
+ * @description Changing the value of a data property should not affect it's non-value property descriptor attributes.
+ */
+
+
+function testcase() {
+ var tempObj = {};
+
+ Object.defineProperty(tempObj, "reduce", { value:456, enumerable:false, writable:true});
+ var origReduce = tempObj.reduce;
+ var origDesc = Object.getOwnPropertyDescriptor(tempObj, "reduce");
+
+ var newDesc;
+
+ try {
+ tempObj.reduce = 123;
+ newDesc = Object.getOwnPropertyDescriptor(tempObj, "reduce");
+ var descArray = [origDesc, newDesc];
+
+ for (var j in descArray) {
+ for (var i in descArray[j]) {
+ if (i==="value") {
+ if (origDesc[i]===newDesc[i]) {
+ return false;
+ }
+ }
+ else if (origDesc[i]!==newDesc[i]) {
+ return false;
+ }
+ }
+ }
+ return true;
+
+ } finally {
+ tempObj.reduce = origReduce;
+ }
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.5/8.12.5-5-b_1.js b/js/src/tests/test262/ch08/8.12/8.12.5/8.12.5-5-b_1.js new file mode 100644 index 000000000..b3c013ef5 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.5/8.12.5-5-b_1.js @@ -0,0 +1,39 @@ +/// 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 ch08/8.12/8.12.5/8.12.5-5-b_1.js
+ * @description Changing the value of an accessor property should not affect it's property descriptor attributes.
+ */
+
+
+function testcase() {
+ var tempObj = {};
+
+ Object.defineProperty(tempObj, "reduce", { get: function() {return 456;}, enumerable:false, set: function() {;}});
+ var origReduce = tempObj.reduce;
+ var origDesc = Object.getOwnPropertyDescriptor(tempObj, "reduce");
+
+ var newDesc;
+
+ try {
+ tempObj.reduce = 123;
+ newDesc = Object.getOwnPropertyDescriptor(tempObj, "reduce");
+ var descArray = [origDesc, newDesc];
+
+ for (var j in descArray) {
+ for (var i in descArray[j]) {
+ if (origDesc[i]!==newDesc[i]) {
+ return false;
+ }
+ }
+ }
+ return tempObj.reduce===456;
+
+ } finally {
+ tempObj.reduce = origReduce;
+ }
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.5/S8.12.5_A1.js b/js/src/tests/test262/ch08/8.12/8.12.5/S8.12.5_A1.js new file mode 100644 index 000000000..e6f4bba20 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.5/S8.12.5_A1.js @@ -0,0 +1,38 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * When the [[Put]] method of O is called with property P and value V, + * and If O doesn't have a property with name P, then + * creates a property with name P, set its value to V and give it empty attributes + * + * @path ch08/8.12/8.12.5/S8.12.5_A1.js + * @description Put to not existent properties + */ + +var __map={}; __map[1]="one"; __map["two"]=2; __map["3"]="tre"; + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if (__map[1] !== "one") { + $ERROR('#1: var __map={}; __map[1]="one"; __map["two"]=2; __map["3"]="tre"; __map[1] === "one". Actual: ' + (__map[1])); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +if (__map["two"] !== 2) { + $ERROR('#2: var __map={}; __map[1]="one"; __map["two"]=2; __map["3"]="tre"; __map["two"] === 2. Actual: ' + (__map["two"])); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#3 +if (__map["3"] !== "tre") { + $ERROR('#3: var __map={}; __map[1]="one"; __map["two"]=2; __map["3"]="tre"; __map["3"] === "tre". Actual: ' + (__map["3"])); +} +// +////////////////////////////////////////////////////////////////////////////// + diff --git a/js/src/tests/test262/ch08/8.12/8.12.5/S8.12.5_A2.js b/js/src/tests/test262/ch08/8.12/8.12.5/S8.12.5_A2.js new file mode 100644 index 000000000..02f67e0b8 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.5/S8.12.5_A2.js @@ -0,0 +1,49 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * When the [[Put]] method of O is called with property P and value V, + * then set the value of the property to V. The attributes of the property are not changed + * + * @path ch08/8.12/8.12.5/S8.12.5_A2.js + * @description Put to existent properties + */ + +var _map={1:"one",two:2}; + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +_map[1]="uno"; +if (_map[1] !== "uno") { + $ERROR('#1: var _map={1:"one",two:2}; _map[1]="uno"; _map[1] === "uno". Actual: ' + (_map[1])); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +_map["1"]=1; +if (_map[1] !== 1) { + $ERROR('#2: var _map={1:"one",two:2}; _map[1]="uno"; _map["1"]=1; _map[1] === 1. Actual: ' + (_map[1])); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#3 +_map["two"]="two"; +if (_map["two"] !== "two") { + $ERROR('#3: var _map={1:"one",two:2}; _map[1]="uno"; _map["1"]=1; _map["two"]="two"; _map["two"] === "two". Actual: ' + (_map["two"])); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#4 +_map.two="duo"; +if (_map.two !== "duo") { + $ERROR('#4: var _map={1:"one",two:2}; _map[1]="uno"; _map["1"]=1; _map["two"]="two"; _map.two="duo"; _map.two === "duo". Actual: ' + (_map.two)); +} +// +////////////////////////////////////////////////////////////////////////////// + diff --git a/js/src/tests/test262/ch08/8.12/8.12.5/browser.js b/js/src/tests/test262/ch08/8.12/8.12.5/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.5/browser.js diff --git a/js/src/tests/test262/ch08/8.12/8.12.5/shell.js b/js/src/tests/test262/ch08/8.12/8.12.5/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.5/shell.js diff --git a/js/src/tests/test262/ch08/8.12/8.12.6/S8.12.6_A1.js b/js/src/tests/test262/ch08/8.12/8.12.6/S8.12.6_A1.js new file mode 100644 index 000000000..20a2676f7 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.6/S8.12.6_A1.js @@ -0,0 +1,20 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * When the [[HasProperty]] method of O is called with property name P and if O has a property with name P, return true + * + * @path ch08/8.12/8.12.6/S8.12.6_A1.js + * @description Try find existent property of any Object + */ + +var __obj={fooProp:"fooooooo"}; + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if (!("fooProp" in __obj)) { + $ERROR('#1: var __obj={fooProp:"fooooooo"}; "fooProp" in __obj'); +} +// +////////////////////////////////////////////////////////////////////////////// + diff --git a/js/src/tests/test262/ch08/8.12/8.12.6/S8.12.6_A2_T1.js b/js/src/tests/test262/ch08/8.12/8.12.6/S8.12.6_A2_T1.js new file mode 100644 index 000000000..4a2eac8a3 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.6/S8.12.6_A2_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. + +/** + * When the [[HasProperty]] method of O is called with property name P and if O has not a property with name P + * then If the [[Prototype]] of O is null, return false or call the [[HasProperty]] method of [[Prototype]] with property name P + * + * @path ch08/8.12/8.12.6/S8.12.6_A2_T1.js + * @description Try find not existent property of any Object + */ + +var __obj={}; + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if (!("valueOf" in __obj)) { + $ERROR('#1: var __obj={}; "valueOf" in __obj'); +} +// +////////////////////////////////////////////////////////////////////////////// + diff --git a/js/src/tests/test262/ch08/8.12/8.12.6/S8.12.6_A2_T2.js b/js/src/tests/test262/ch08/8.12/8.12.6/S8.12.6_A2_T2.js new file mode 100644 index 000000000..536b8ceb4 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.6/S8.12.6_A2_T2.js @@ -0,0 +1,43 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * When the [[HasProperty]] method of O is called with property name P and if O has not a property with name P + * then If the [[Prototype]] of O is null, return false or call the [[HasProperty]] method of [[Prototype]] with property name P + * + * @path ch08/8.12/8.12.6/S8.12.6_A2_T2.js + * @description Try find not existent property of any Object, but existent property of this Object prototype + */ + +var __proto={phylum:"avis"}; + + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if (!("valueOf" in __proto)) { + $ERROR('#1: var __proto={phylum:"avis"}; "valueOf" in __proto'); +} +// +////////////////////////////////////////////////////////////////////////////// + +function Robin(){this.name="robin"}; +Robin.prototype=__proto; + +var __my__robin = new Robin; + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +if (!("phylum" in __my__robin)) { + $ERROR('#2: var __proto={phylum:"avis"}; function Robin(){this.name="robin"}; Robin.prototype=__proto; var __my__robin = new Robin; "phylum" in __my__robin'); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#3 +if (__my__robin.hasOwnProperty("phylum")) { + $ERROR('#3: var __proto={phylum:"avis"}; function Robin(){this.name="robin"}; Robin.prototype=__proto; var __my__robin = new Robin; __my__robin.hasOwnProperty("phylum") === false. Actual: ' + (__my__robin.hasOwnProperty("phylum"))); +} +// +////////////////////////////////////////////////////////////////////////////// + diff --git a/js/src/tests/test262/ch08/8.12/8.12.6/S8.12.6_A3.js b/js/src/tests/test262/ch08/8.12/8.12.6/S8.12.6_A3.js new file mode 100644 index 000000000..c2c34fa2c --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.6/S8.12.6_A3.js @@ -0,0 +1,44 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * [[hasProperty]] is sensitive to property existence but [[Get]] is not + * + * @path ch08/8.12/8.12.6/S8.12.6_A3.js + * @description Use [[hasProperty]] and [[Get]] for existent and not existent properties + */ + +var __obj={}; __obj.hole=undefined; + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if (__obj.hole !== undefined) { + $ERROR('#1: var __obj={}; __obj.hole=undefined; __obj.hole === undefined. Actual: ' + (__obj.hole)); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +if (__obj.notexist !== undefined) { + $ERROR('#2: var __obj={}; __obj.hole=undefined; __obj.notexist === undefined. Actual: ' + (__obj.notexist)); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#3 +if (!("hole" in __obj)) { + $ERROR('#3: var __obj={}; __obj.hole=undefined; "hole" in __obj'); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#4 +if (("notexist" in __obj)) { + $ERROR('#4: var __obj={}; __obj.hole=undefined; "notexist" in __obj'); +} +// +////////////////////////////////////////////////////////////////////////////// + diff --git a/js/src/tests/test262/ch08/8.12/8.12.6/browser.js b/js/src/tests/test262/ch08/8.12/8.12.6/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.6/browser.js diff --git a/js/src/tests/test262/ch08/8.12/8.12.6/shell.js b/js/src/tests/test262/ch08/8.12/8.12.6/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.6/shell.js diff --git a/js/src/tests/test262/ch08/8.12/8.12.7/S8.12.7_A1.js b/js/src/tests/test262/ch08/8.12/8.12.7/S8.12.7_A1.js new file mode 100644 index 000000000..b6944fd48 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.7/S8.12.7_A1.js @@ -0,0 +1,29 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * When the [[Delete]] method of O is called with property name P, + * and If the property has the DontDelete attribute, return false + * + * @path ch08/8.12/8.12.7/S8.12.7_A1.js + * @description Try to delete Math.E, that has the DontDelete attribute + * @noStrict + */ + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if (delete Math.E !== false){ + $ERROR('#1: delete Math.E === false. Actual: ' + (delete Math.E)); +}; +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +if (Math.E === undefined){ + $ERROR('#2: delete Math.E; Math.E !== undefined'); +}; +// +////////////////////////////////////////////////////////////////////////////// + + diff --git a/js/src/tests/test262/ch08/8.12/8.12.7/S8.12.7_A2_T1.js b/js/src/tests/test262/ch08/8.12/8.12.7/S8.12.7_A2_T1.js new file mode 100644 index 000000000..6c416b525 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.7/S8.12.7_A2_T1.js @@ -0,0 +1,39 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * When the [[Delete]] method of O is called with property name P, + * and if O doesn't have a property with name P, return true + * + * @path ch08/8.12/8.12.7/S8.12.7_A2_T1.js + * @description Try to delete not existent properties + */ + +var __color__map = {}; + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if (delete __color__map.red !== true){ + $ERROR('#1: var __color__map = {}; delete __color__map.red === true. Actual: ' + (delete __color__map.red)); +}; +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +if (delete __color__map["green"] !== true){ + $ERROR('#2: var __color__map = {}; delete __color__map["green"] === true. Actual: ' + (delete __color__map["green"])); +}; +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#3 +var blue = 1; +if (delete __color__map[blue] !== true){ + $ERROR('#3: var __color__map = {}; var blue = 1; delete __color__map[blue] === true. Actual: ' + (delete __color__map[blue])); +}; +// +////////////////////////////////////////////////////////////////////////////// + + diff --git a/js/src/tests/test262/ch08/8.12/8.12.7/S8.12.7_A2_T2.js b/js/src/tests/test262/ch08/8.12/8.12.7/S8.12.7_A2_T2.js new file mode 100644 index 000000000..e3182463a --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.7/S8.12.7_A2_T2.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. + +/** + * When the [[Delete]] method of O is called with property name P, + * and if O doesn't have a property with name P, return true + * + * @path ch08/8.12/8.12.7/S8.12.7_A2_T2.js + * @description Try to delete not existent properties of O, but existent property of prototype + */ + +function Palette(){}; +Palette.prototype = {red:0xFF0000, green:0x00FF00}; +var __palette = new Palette; + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if (__palette.red !== 0xFF0000){ + $ERROR('#1: function Palette(){}; Palette.prototype = {red:0xFF0000, green:0x00FF00}; __palette = new Palette; __palette.red === 0xFF0000. Actual: ' + (__palette.red)); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +if (delete __palette.red !== true) { + $ERROR('#2 function Palette(){}; Palette.prototype = {red:0xFF0000, green:0x00FF00}; __palette = new Palette; delete __palette.red === true. Actual: ' + (delete __palette.red)); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#3 +if (__palette.red !== 0xFF0000){ + $ERROR('#3: function Palette(){}; Palette.prototype = {red:0xFF0000, green:0x00FF00}; __palette = new Palette; __palette.red === 0xFF0000. Actual: ' + (__palette.red)); +} +// +////////////////////////////////////////////////////////////////////////////// + + diff --git a/js/src/tests/test262/ch08/8.12/8.12.7/S8.12.7_A3.js b/js/src/tests/test262/ch08/8.12/8.12.7/S8.12.7_A3.js new file mode 100644 index 000000000..c9abe19d9 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.7/S8.12.7_A3.js @@ -0,0 +1,49 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * When the [[Delete]] method of O is called with property name P, + * removes the property with name P from O and return true + * + * @path ch08/8.12/8.12.7/S8.12.7_A3.js + * @description Delete existent properties + */ + +var BLUE_NUM=1; +var BLUE_STR="1"; +var YELLOW_NUM=2; +var YELLOW_STR="2"; +var __color__map = {red:0xFF0000, BLUE_NUM:0x0000FF, green:0x00FF00, YELLOW_STR:0xFFFF00}; + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if (delete __color__map[YELLOW_NUM] !== true){ + $ERROR('#1: var BLUE_NUM=1; var BLUE_STR="1"; var YELLOW_NUM=2; var YELLOW_STR="2"; var __color__map = {red:0xFF0000, BLUE_NUM:0x0000FF, green:0x00FF00, YELLOW_STR:0xFFFF00}; delete __color__map[YELLOW_NUM] === true;'); +}; +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +if (__color__map[YELLOW_STR] !== undefined) { + $ERROR('#2: var BLUE_NUM=1; var BLUE_STR="1"; var YELLOW_NUM=2; var YELLOW_STR="2"; var __color__map = {red:0xFF0000, BLUE_NUM:0x0000FF, green:0x00FF00, YELLOW_STR:0xFFFF00}; delete __color__map[YELLOW_NUM]; __color__map[YELLOW_STR] === undefined. Actual: ' + (__color__map[YELLOW_STR])); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#3 +if (delete __color__map[BLUE_STR] !== true){ + $ERROR('#3: var BLUE_NUM=1; var BLUE_STR="1"; var YELLOW_NUM=2; var YELLOW_STR="2"; var __color__map = {red:0xFF0000, BLUE_NUM:0x0000FF, green:0x00FF00, YELLOW_STR:0xFFFF00}; delete __color__map[BLUE_STR] === true. Actual: ' + (delete __color__map[BLUE_STR])); +}; +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#4 +if (__color__map[BLUE_NUM] !== undefined) { + $ERROR('#4: var BLUE_NUM=1; var BLUE_STR="1"; var YELLOW_NUM=2; var YELLOW_STR="2"; var __color__map = {red:0xFF0000, BLUE_NUM:0x0000FF, green:0x00FF00, YELLOW_STR:0xFFFF00}; delete __color__map[BLUE_STR]; __color__map[BLUE_NUM] === undefined. Actual: ' + (__color__map[BLUE_NUM])); +} +// +////////////////////////////////////////////////////////////////////////////// + diff --git a/js/src/tests/test262/ch08/8.12/8.12.7/browser.js b/js/src/tests/test262/ch08/8.12/8.12.7/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.7/browser.js diff --git a/js/src/tests/test262/ch08/8.12/8.12.7/shell.js b/js/src/tests/test262/ch08/8.12/8.12.7/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.7/shell.js diff --git a/js/src/tests/test262/ch08/8.12/8.12.8/S8.12.8_A1.js b/js/src/tests/test262/ch08/8.12/8.12.8/S8.12.8_A1.js new file mode 100644 index 000000000..9fa13f537 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.8/S8.12.8_A1.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. + +/** + * This should generate a TypeError, + * Cause we overload toString method so it return non Primitive value + * See ECMA reference at http://bugzilla.mozilla.org/show_bug.cgi?id=167325 + * + * @path ch08/8.12/8.12.8/S8.12.8_A1.js + * @description Try to overload toString method + */ + +try +{ + var __obj = {toString: function() {return new Object();}} + String(__obj); + $ERROR('#1.1: var __obj = {toString: function() {return new Object();}}; String(__obj) throw TypeError. Actual: ' + (String(__obj))); +} +catch(e) +{ + if ((e instanceof TypeError) !== true) { + $ERROR('#1.2: var __obj = {toString: function() {return new Object();}}; String(__obj) throw TypeError. Actual: ' + (e)); + } +} + + diff --git a/js/src/tests/test262/ch08/8.12/8.12.8/S8.12.8_A2.js b/js/src/tests/test262/ch08/8.12/8.12.8/S8.12.8_A2.js new file mode 100644 index 000000000..1a4cd4f91 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.8/S8.12.8_A2.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. + +/** + * This should generate no TypeError, + * Cause we overload toString method so it return non Primitive value + * but we overloaded valueOf method too. + * See ECMA reference at http://bugzilla.mozilla.org/show_bug.cgi?id=167325 + * + * @path ch08/8.12/8.12.8/S8.12.8_A2.js + * @description Try to overload toString, that returned new Object, and valueOf methods + */ + +try +{ + var __obj = {toString: function() {return new Object();}, valueOf: function() {return 1;}} + if (String(__obj) !== "1") { + $ERROR('#1.1: var __obj = {toString: function() {return new Object();}, valueOf: function() {return 1;}}; String(__obj) === "1". Actual: ' + (String(__obj))); + } +} +catch(e) +{ + $ERROR('#1.2: var __obj = {toString: function() {return new Object();}, valueOf: function() {return 1;}}; String(__obj) === "1". Actual: ' + (e)); +} + + diff --git a/js/src/tests/test262/ch08/8.12/8.12.8/S8.12.8_A3.js b/js/src/tests/test262/ch08/8.12/8.12.8/S8.12.8_A3.js new file mode 100644 index 000000000..a54d3c2a8 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.8/S8.12.8_A3.js @@ -0,0 +1,28 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * We overload valueOf method so it return non Primitive value + * Thus [[DefaultValue]] must return Object.toString() value + * + * @path ch08/8.12/8.12.8/S8.12.8_A3.js + * @description Try to overload toString method, that returned Primitive, and valueOf method, that returned new Object + */ + +try +{ + var __obj = {toString: function() {return "1"}, valueOf: function() {return new Object();}} + if (Number(__obj) !== 1) { + $ERROR('#1.1: var __obj = {toNumber: function() {return "1"}, valueOf: function() {return new Object();}}; Number(__obj) === 1. Actual: ' + (Number(__obj))); + } +} +catch(e) +{ + $ERROR('#1.2: var __obj = {toNumber: function() {return "1"}, valueOf: function() {return new Object();}}; Number(__obj) === 1. Actual: ' + (e)); +} + + + + + + diff --git a/js/src/tests/test262/ch08/8.12/8.12.8/S8.12.8_A4.js b/js/src/tests/test262/ch08/8.12/8.12.8/S8.12.8_A4.js new file mode 100644 index 000000000..cec14497b --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.8/S8.12.8_A4.js @@ -0,0 +1,24 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * We overload valueOf method so it return non Primitive value and toString method so it return non Primitive value too + * Thus [[DefaultValue]] must generate TypeError error + * + * @path ch08/8.12/8.12.8/S8.12.8_A4.js + * @description Try to overload toString and valueOf methods, they returned new Objects + */ + +try +{ + var __obj = {valueOf:function(){return new Object;},toString: function() {return new Object();}} + Number(__obj); + $ERROR('#1.1: var __obj = {valueOf:function(){return new Object;},toNumber: function() {return new Object();}}; Number(__obj) throw TypeError. Actual: ' + (Number(__obj))); +} +catch(e) +{ + if ((e instanceof TypeError) !== true) { + $ERROR('#1.2: var __obj = {valueOf:function(){return new Object;},toNumber: function() {return new Object();}}; Number(__obj) throw TypeError. Actual: ' + (e)); + } +} + diff --git a/js/src/tests/test262/ch08/8.12/8.12.8/browser.js b/js/src/tests/test262/ch08/8.12/8.12.8/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.8/browser.js diff --git a/js/src/tests/test262/ch08/8.12/8.12.8/shell.js b/js/src/tests/test262/ch08/8.12/8.12.8/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.8/shell.js diff --git a/js/src/tests/test262/ch08/8.12/8.12.9/8.12.9-9-b-i_1.js b/js/src/tests/test262/ch08/8.12/8.12.9/8.12.9-9-b-i_1.js new file mode 100644 index 000000000..84ea47532 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.9/8.12.9-9-b-i_1.js @@ -0,0 +1,23 @@ +/// 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 ch08/8.12/8.12.9/8.12.9-9-b-i_1.js
+ * @description Redefine a configurable data property to be an accessor property on a newly non-extensible object
+ */
+
+
+function testcase() {
+ var o = {};
+ Object.defineProperty(o, "foo",
+ { value: "hello",
+ configurable: true});
+ Object.preventExtensions(o);
+ Object.defineProperty(o, "foo", { get: function() { return 5;} });
+
+ var fooDescrip = Object.getOwnPropertyDescriptor(o, "foo");
+ return o.foo===5 && fooDescrip.get!==undefined && fooDescrip.set===undefined && fooDescrip.value===undefined && fooDescrip.configurable===true && fooDescrip.enumerable===false && fooDescrip.writable===undefined;
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.9/8.12.9-9-b-i_2.js b/js/src/tests/test262/ch08/8.12/8.12.9/8.12.9-9-b-i_2.js new file mode 100644 index 000000000..f7ba3048a --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.9/8.12.9-9-b-i_2.js @@ -0,0 +1,25 @@ +/// 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 ch08/8.12/8.12.9/8.12.9-9-b-i_2.js
+ * @description Redefine a configurable data property to be an accessor property on a newly non-extensible object
+ */
+
+
+function testcase() {
+ var o = {};
+ Object.defineProperty(o, "foo",
+ { value: "hello",
+ configurable: true,
+ enumerable: true,
+ writable: true});
+ Object.preventExtensions(o);
+ Object.defineProperty(o, "foo", { get: function() { return 5;} });
+
+ var fooDescrip = Object.getOwnPropertyDescriptor(o, "foo");
+ return o.foo===5 && fooDescrip.get!==undefined && fooDescrip.set===undefined && fooDescrip.value===undefined && fooDescrip.configurable===true && fooDescrip.enumerable===true && fooDescrip.writable===undefined;
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.9/8.12.9-9-c-i_1.js b/js/src/tests/test262/ch08/8.12/8.12.9/8.12.9-9-c-i_1.js new file mode 100644 index 000000000..bef7ddc7d --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.9/8.12.9-9-c-i_1.js @@ -0,0 +1,23 @@ +/// 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 ch08/8.12/8.12.9/8.12.9-9-c-i_1.js
+ * @description Redefine a configurable accessor property to be a data property on a non-extensible object
+ */
+
+
+function testcase() {
+ var o = {};
+ Object.defineProperty(o, "foo",
+ { get: function() { return 5;},
+ configurable: true});
+ Object.preventExtensions(o);
+ Object.defineProperty(o, "foo", { value: "hello"});
+
+ var fooDescrip = Object.getOwnPropertyDescriptor(o, "foo");
+ return o.foo==="hello" && fooDescrip.get===undefined && fooDescrip.set===undefined && fooDescrip.value==="hello" && fooDescrip.configurable===true && fooDescrip.enumerable===false && fooDescrip.writable===false;
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.9/8.12.9-9-c-i_2.js b/js/src/tests/test262/ch08/8.12/8.12.9/8.12.9-9-c-i_2.js new file mode 100644 index 000000000..0c4833ab6 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.9/8.12.9-9-c-i_2.js @@ -0,0 +1,25 @@ +/// 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 ch08/8.12/8.12.9/8.12.9-9-c-i_2.js
+ * @description Redefine a configurable accessor property to be a data property on a non-extensible object
+ */
+
+
+function testcase() {
+ var o = {};
+ Object.defineProperty(o, "foo",
+ { get: function() { return 5;},
+ configurable: true});
+ Object.preventExtensions(o);
+ Object.defineProperty(o, "foo",
+ { value: "hello",
+ writable: true});
+
+ var fooDescrip = Object.getOwnPropertyDescriptor(o, "foo");
+ return o.foo==="hello" && fooDescrip.get===undefined && fooDescrip.set===undefined && fooDescrip.value==="hello" && fooDescrip.configurable===true && fooDescrip.enumerable===false && fooDescrip.writable===true;
+}
+runTestCase(testcase);
diff --git a/js/src/tests/test262/ch08/8.12/8.12.9/browser.js b/js/src/tests/test262/ch08/8.12/8.12.9/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.9/browser.js diff --git a/js/src/tests/test262/ch08/8.12/8.12.9/shell.js b/js/src/tests/test262/ch08/8.12/8.12.9/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.9/shell.js diff --git a/js/src/tests/test262/ch08/8.12/browser.js b/js/src/tests/test262/ch08/8.12/browser.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/browser.js diff --git a/js/src/tests/test262/ch08/8.12/shell.js b/js/src/tests/test262/ch08/8.12/shell.js new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/shell.js |