diff options
Diffstat (limited to 'deps/v8/test/mjsunit/es8/sloppy-no-duplicate-async.js')
-rw-r--r-- | deps/v8/test/mjsunit/es8/sloppy-no-duplicate-async.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/es8/sloppy-no-duplicate-async.js b/deps/v8/test/mjsunit/es8/sloppy-no-duplicate-async.js new file mode 100644 index 0000000000..04dd984909 --- /dev/null +++ b/deps/v8/test/mjsunit/es8/sloppy-no-duplicate-async.js @@ -0,0 +1,28 @@ +// Copyright 2016 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Async functions don't get sloppy-mode block-scoped function hoisting + +// No hoisting to the global scope + +{ + async function foo() {} + assertEquals('function', typeof foo); +} +assertEquals('undefined', typeof foo); + +// No hoisting within a function scope +(function() { + { async function bar() {} } + assertEquals('undefined', typeof bar); +})(); + +// Lexical shadowing allowed, no hoisting +(function() { + var y; + async function x() { y = 1; } + { async function x() { y = 2; } } + x(); + assertEquals(1, y); +})(); |