diff options
Diffstat (limited to 'js/src/tests/test262/language/statements/for-in/12.6.4-2.js')
-rw-r--r-- | js/src/tests/test262/language/statements/for-in/12.6.4-2.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/statements/for-in/12.6.4-2.js b/js/src/tests/test262/language/statements/for-in/12.6.4-2.js new file mode 100644 index 0000000000..1a021881f8 --- /dev/null +++ b/js/src/tests/test262/language/statements/for-in/12.6.4-2.js @@ -0,0 +1,36 @@ +// Copyright (c) 2012 Ecma International. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es5id: 12.6.4-2 +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 +---*/ + + var proto = { + prop: "enumerableValue" + }; + + var ConstructFun = function () { }; + ConstructFun.prototype = proto; + + var child = new ConstructFun(); + + Object.defineProperty(child, "prop", { + value: "nonEnumerableValue", + enumerable: false + }); + + var accessedProp = false; + + for (var p in child) { + if (p === "prop") { + accessedProp = true; + } + } + +assert.sameValue(accessedProp, false, 'accessedProp'); + +reportCompare(0, 0); |