michael@0: /* michael@0: * Any copyright is dedicated to the Public Domain. michael@0: * http://creativecommons.org/licenses/publicdomain/ michael@0: */ michael@0: michael@0: var BUGNUMBER = 524826; michael@0: var summary = 'null-closure property initialiser mis-brands object literal scope'; michael@0: var actual; michael@0: var expect; michael@0: michael@0: printBugNumber(BUGNUMBER); michael@0: printStatus(summary); michael@0: michael@0: function make(g) { michael@0: var o = {f: function(a,b) { return a*b; }, g: g}; michael@0: return o; michael@0: } michael@0: var z = -1; michael@0: var x = make(function(c) { return c*z; }); michael@0: var y = make(function(c) { return -c*z; }); michael@0: michael@0: function callg(o, c) { return o.g(c); }; michael@0: actual = callg(x, 1); michael@0: expect = -callg(y, 1); michael@0: michael@0: reportCompare(expect, actual, summary); michael@0: michael@0: printStatus("All tests passed!");