From 8e61d91a7b218b03f52c7936c7949145cfc0efc3 Mon Sep 17 00:00:00 2001 From: Brendan Eich Date: Wed, 2 Jun 2010 16:39:49 -0700 Subject: [PATCH] Test for bug 568056. --- js/src/tests/js1_7/iterable/jstests.list | 1 + js/src/tests/js1_7/iterable/regress-568056.js | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 js/src/tests/js1_7/iterable/regress-568056.js diff --git a/js/src/tests/js1_7/iterable/jstests.list b/js/src/tests/js1_7/iterable/jstests.list index e4f3774598b2..268c24cae5a3 100644 --- a/js/src/tests/js1_7/iterable/jstests.list +++ b/js/src/tests/js1_7/iterable/jstests.list @@ -13,3 +13,4 @@ script regress-355075-02.js script regress-355090.js script regress-412467.js script regress-415922.js +script regress-568056.js diff --git a/js/src/tests/js1_7/iterable/regress-568056.js b/js/src/tests/js1_7/iterable/regress-568056.js new file mode 100644 index 000000000000..3b5f7ee28599 --- /dev/null +++ b/js/src/tests/js1_7/iterable/regress-568056.js @@ -0,0 +1,25 @@ +// Any copyright is dedicated to the Public Domain. +// http://creativecommons.org/licenses/publicdomain/ + +var gTestfile = 'regress-568056.js'; +var BUGNUMBER = 568056; +var summary = "Iterator(obj) must not go up obj's prototype chain"; + +var foo = { + z: 9, +}; + +var bar = { + __proto__: foo, + a: 1, + b: 2, +}; + +var results = []; +for each (let [key, value] in Iterator(bar)) + results.push(key + ":" + value); + +var actual = results.join(';') +var expect = "a:1;b:2"; + +reportCompare(expect, actual, summary);