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 // Previously, this caused a CHECK fail in debug mode | 7 // Previously, this caused a CHECK fail in debug mode |
9 // https://code.google.com/p/chromium/issues/detail?id=542099 | 8 // https://code.google.com/p/chromium/issues/detail?id=542099 |
10 | 9 |
11 var foo = {}; | 10 var foo = {}; |
12 var bar = foo; | 11 var bar = foo; |
13 for (foo.x in {a: 1}) function foo() { return foo; } | 12 for (foo.x in {a: 1}) function foo() { return foo; } |
14 assertEquals("object", typeof bar); | 13 assertEquals("object", typeof bar); |
15 assertEquals("a", bar.x); | 14 assertEquals("a", bar.x); |
16 assertEquals("function", typeof foo); | 15 assertEquals("function", typeof foo); |
17 assertEquals("function", typeof foo()); | 16 assertEquals("function", typeof foo()); |
18 assertSame(foo, foo()); | 17 assertSame(foo, foo()); |
19 assertEquals(undefined, foo.x); | 18 assertEquals(undefined, foo.x); |
OLD | NEW |