Index: test/mjsunit/harmony/mirror-async-function.js |
diff --git a/test/mjsunit/mirror-function.js b/test/mjsunit/harmony/mirror-async-function.js |
similarity index 51% |
copy from test/mjsunit/mirror-function.js |
copy to test/mjsunit/harmony/mirror-async-function.js |
index 88106a2ed0fa685fcd8f374345711df20c80fd74..b4ba8314a535f50895a1366af971159c79ccc0eb 100644 |
--- a/test/mjsunit/mirror-function.js |
+++ b/test/mjsunit/harmony/mirror-async-function.js |
@@ -1,33 +1,12 @@ |
-// Copyright 2008 the V8 project authors. All rights reserved. |
-// Redistribution and use in source and binary forms, with or without |
-// modification, are permitted provided that the following conditions are |
-// met: |
-// |
-// * Redistributions of source code must retain the above copyright |
-// notice, this list of conditions and the following disclaimer. |
-// * Redistributions in binary form must reproduce the above |
-// copyright notice, this list of conditions and the following |
-// disclaimer in the documentation and/or other materials provided |
-// with the distribution. |
-// * Neither the name of Google Inc. nor the names of its |
-// contributors may be used to endorse or promote products derived |
-// from this software without specific prior written permission. |
-// |
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
+// 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. |
-// Flags: --expose-debug-as debug |
+// Flags: --expose-debug-as debug --harmony-async-await --allow-natives-syntax |
// Test the mirror object for functions. |
+var AsyncFunction = (async function() {}).constructor; |
+ |
function MirrorRefCache(json_refs) { |
var tmp = eval('(' + json_refs + ')'); |
this.refs_ = []; |
@@ -74,7 +53,8 @@ function testFunctionMirror(f) { |
assertEquals('function', fromJSON.type); |
assertEquals('Function', fromJSON.className); |
assertEquals('function', refs.lookup(fromJSON.constructorFunction.ref).type); |
- assertEquals('Function', refs.lookup(fromJSON.constructorFunction.ref).name); |
+ assertEquals('AsyncFunction', |
+ refs.lookup(fromJSON.constructorFunction.ref).name); |
assertTrue(fromJSON.resolved); |
assertEquals(f.name, fromJSON.name); |
assertEquals(f.toString(), fromJSON.source); |
@@ -85,7 +65,12 @@ function testFunctionMirror(f) { |
// Test a number of different functions. |
-testFunctionMirror(function(){}); |
-testFunctionMirror(function a(){return 1;}); |
-testFunctionMirror(Math.sin); |
-testFunctionMirror((function(){}).bind({}), "Object"); |
+testFunctionMirror(async function(){}); |
+testFunctionMirror(AsyncFunction()); |
+testFunctionMirror(new AsyncFunction()); |
+testFunctionMirror(async() => {}); |
+testFunctionMirror(async function a(){return 1;}); |
+testFunctionMirror(({ async foo() {} }).foo); |
+testFunctionMirror((async function(){}).bind({}), "Object"); |
+ |
+%RunMicrotasks(); |