| var testCase = function (actual, expected, message) { |
| if (actual !== expected) { |
| throw message + ". Expected '" + expected + "', but was '" + actual + "'"; |
| } |
| }; |
| |
| var d = { |
| x : "foo", |
| y : function() { return () => this.x; } |
| }; |
| noInline(d.y); |
| |
| var e = { x : "bar" }; |
| |
| for (var i=0; i<10000;i++){ |
| testCase(d.y().call(e), "foo", "Error: function call shouln't change the lexical binding of the arrow function"); |
| testCase(d.y().apply(e), "foo", "Error: function apply shouln't change the lexical binding of the arrow function"); |
| } |