OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // 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 | 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-async-await --allow-natives-syntax | 5 // Flags: --harmony-async-await --allow-natives-syntax |
6 | 6 |
7 let log = []; | 7 let log = []; |
8 | 8 |
9 (async function() { | 9 (async function() { |
10 with ({get ['.promise']() { log.push('async') }}) { | 10 with ({get ['.promise']() { log.push('async') }}) { |
11 return 10; | 11 return 10; |
12 } | 12 } |
13 })(); | 13 })(); |
14 %RunMicrotasks(); | 14 %RunMicrotasks(); |
15 | 15 |
16 (function() { | 16 (function() { |
17 with ({get ['.new.target']() { log.push('new.target') }}) { | 17 with ({get ['.new.target']() { log.push('new.target') }}) { |
18 return new.target; | 18 return new.target; |
19 } | 19 } |
20 })(); | 20 })(); |
21 | 21 |
22 (function() { | 22 (function() { |
23 with ({get ['this']() { log.push('this') }}) { | 23 with ({get ['this']() { log.push('this') }}) { |
24 return this; | 24 return this; |
25 } | 25 } |
26 })(); | 26 })(); |
27 | 27 |
28 // TODO(v8:5405): The log should actually be empty and not | 28 assertArrayEquals([], log); |
29 // contain new.target. | |
30 assertArrayEquals(['new.target'], log); | |
OLD | NEW |