diff options
Diffstat (limited to 'js/src/tests/ecma_3/FunExpr/regress-524826.js')
-rw-r--r-- | js/src/tests/ecma_3/FunExpr/regress-524826.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/js/src/tests/ecma_3/FunExpr/regress-524826.js b/js/src/tests/ecma_3/FunExpr/regress-524826.js new file mode 100644 index 000000000..da1dfbba0 --- /dev/null +++ b/js/src/tests/ecma_3/FunExpr/regress-524826.js @@ -0,0 +1,28 @@ +/* + * Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/licenses/publicdomain/ + */ + +var BUGNUMBER = 524826; +var summary = 'null-closure property initialiser mis-brands object literal scope'; +var actual; +var expect; + +printBugNumber(BUGNUMBER); +printStatus(summary); + +function make(g) { + var o = {f: function(a,b) { return a*b; }, g: g}; + return o; +} +var z = -1; +var x = make(function(c) { return c*z; }); +var y = make(function(c) { return -c*z; }); + +function callg(o, c) { return o.g(c); }; +actual = callg(x, 1); +expect = -callg(y, 1); + +reportCompare(expect, actual, summary); + +printStatus("All tests passed!"); |