blob: 97411c0c831f8a55b4536eb5ccdbb8bc9b1ef8cf [file] [log] [blame]
Ben Murdoch61f157c2016-09-16 13:49:30 +01001// Copyright 2016 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Flags: --harmony-async-await
6
7// Async functions don't get sloppy-mode block-scoped function hoisting
8
9// No hoisting to the global scope
10
11{
12 async function foo() {}
13 assertEquals('function', typeof foo);
14}
15assertEquals('undefined', typeof foo);
16
17// No hoisting within a function scope
18(function() {
19 { async function bar() {} }
20 assertEquals('undefined', typeof bar);
21})();
22
23// Lexical shadowing allowed, no hoisting
24(function() {
25 var y;
26 async function x() { y = 1; }
27 { async function x() { y = 2; } }
28 x();
29 assertEquals(1, y);
30})();