diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /js/src/tests/test262/ch12/12.6/12.6.4/12.6.4-2.js | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'js/src/tests/test262/ch12/12.6/12.6.4/12.6.4-2.js')
-rw-r--r-- | js/src/tests/test262/ch12/12.6/12.6.4/12.6.4-2.js | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/js/src/tests/test262/ch12/12.6/12.6.4/12.6.4-2.js b/js/src/tests/test262/ch12/12.6/12.6.4/12.6.4-2.js new file mode 100644 index 000000000..dca36c1ff --- /dev/null +++ b/js/src/tests/test262/ch12/12.6/12.6.4/12.6.4-2.js @@ -0,0 +1,52 @@ +/// 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 ch12/12.6/12.6.4/12.6.4-2.js
+ * @description The for-in Statement - the values of [[Enumerable]] attributes are not considered when determining if a property of a prototype object is shadowed by a previous object on the prototype chain
+ */
+
+
+function testcase() {
+ var obj = {};
+
+ var proto = {};
+
+ Object.defineProperty(proto, "prop", {
+ value: "inheritedValue",
+ enumerable: false,
+ configurable: true,
+ writable: true
+ });
+
+ var ConstructFun = function () { };
+ ConstructFun.prototype = proto;
+
+ var child = new ConstructFun();
+
+ Object.defineProperty(child, "prop1", {
+ value: "overridedValue1",
+ enumerable: false
+ });
+ Object.defineProperty(child, "prop2", {
+ value: "overridedValue2",
+ enumerable: true
+ });
+ var accessedProp1 = false;
+ var accessedProp2 = false;
+
+ for (var p in child) {
+ if (child.hasOwnProperty(p)) {
+ if (p === "prop1") {
+ accessedProp1 = true;
+ }
+ if (p === "prop2") {
+ accessedProp2 = true;
+ }
+ }
+ }
+ return !accessedProp1 && accessedProp2 && child.prop1 === "overridedValue1" && child.prop2 === "overridedValue2";
+ }
+runTestCase(testcase);
|