| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Flags: --harmony-sloppy --harmony-sloppy-function | |
| 6 // Flags: --no-harmony-restrictive-declarations | 5 // Flags: --no-harmony-restrictive-declarations |
| 7 | 6 |
| 8 (function() { | 7 (function() { |
| 9 var x = {a: 1} | 8 var x = {a: 1} |
| 10 assertEquals("undefined", typeof f); | 9 assertEquals("undefined", typeof f); |
| 11 with (x) | 10 with (x) |
| 12 function f() { return a; } | 11 function f() { return a; } |
| 13 assertEquals("function", typeof f); | 12 assertEquals("function", typeof f); |
| 14 assertEquals(1, f()); | 13 assertEquals(1, f()); |
| 15 x.a = 2; | 14 x.a = 2; |
| 16 assertEquals(2, f()); | 15 assertEquals(2, f()); |
| 17 })(); | 16 })(); |
| 18 | 17 |
| 19 var y = {b: 1} | 18 var y = {b: 1} |
| 20 assertEquals("undefined", typeof g); | 19 assertEquals("undefined", typeof g); |
| 21 with (y) | 20 with (y) |
| 22 function g() { return b; } | 21 function g() { return b; } |
| 23 assertEquals("function", typeof g); | 22 assertEquals("function", typeof g); |
| 24 assertEquals(1, g()); | 23 assertEquals(1, g()); |
| 25 y.b = 2; | 24 y.b = 2; |
| 26 assertEquals(2, g()); | 25 assertEquals(2, g()); |
| OLD | NEW |