| // |reftest| skip-if(!xulRuntime.shell) |
| // |reftest| skip-if(!xulRuntime.shell) |
| // bug 905774 |
| |
| // Proxy options |
| var opts = new Proxy({loc: false}, {}); |
| assertEq(Reflect.parse("0;", opts).loc === null, true); |
| opts.loc = true; |
| assertEq(Reflect.parse("0;", opts).loc !== null, true); |
| delete opts.loc; |
| assertEq(Reflect.parse("0;", opts).loc !== null, true); // default is true |
| |
| // Proxy builder |
| var builder = { |
| program: function (body) { return body.join(); }, |
| expressionStatement: function (expr) { return expr + ";" }, |
| literal: function (val) { return "" + val; } |
| }; |
| opts = {builder: new Proxy(builder, {})}; |
| assertEq(Reflect.parse("0xff;", opts), "255;"); |
| |
| reportCompare(0, 0, 'ok'); |