| 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-let | |
| 6 // Flags: --harmony-sloppy-function | |
| 7 | |
| 8 // Test Annex B 3.3 semantics for functions declared in blocks in sloppy mode. | 5 // Test Annex B 3.3 semantics for functions declared in blocks in sloppy mode. |
| 9 // http://www.ecma-international.org/ecma-262/6.0/#sec-block-level-function-decl
arations-web-legacy-compatibility-semantics | 6 // http://www.ecma-international.org/ecma-262/6.0/#sec-block-level-function-decl
arations-web-legacy-compatibility-semantics |
| 10 | 7 |
| 11 (function overridingLocalFunction() { | 8 (function overridingLocalFunction() { |
| 12 var x = []; | 9 var x = []; |
| 13 assertEquals('function', typeof f); | 10 assertEquals('function', typeof f); |
| 14 function f() { | 11 function f() { |
| 15 x.push(1); | 12 x.push(1); |
| 16 } | 13 } |
| 17 f(); | 14 f(); |
| (...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 292 throws = false; | 289 throws = false; |
| 293 try { | 290 try { |
| 294 eval('{ function hoistWhenFrozen() {} }'); | 291 eval('{ function hoistWhenFrozen() {} }'); |
| 295 } catch (e) { | 292 } catch (e) { |
| 296 throws = true; | 293 throws = true; |
| 297 } | 294 } |
| 298 assertFalse(this.hasOwnProperty("hoistWhenFrozen")); | 295 assertFalse(this.hasOwnProperty("hoistWhenFrozen")); |
| 299 assertThrows(() => hoistWhenFrozen, ReferenceError); | 296 assertThrows(() => hoistWhenFrozen, ReferenceError); |
| 300 // Should be assertFalse BUG(v8:4452) | 297 // Should be assertFalse BUG(v8:4452) |
| 301 assertTrue(throws); | 298 assertTrue(throws); |
| OLD | NEW |