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