mirror of
				https://github.com/tc39/test262.git
				synced 2025-11-04 05:33:50 +01:00 
			
		
		
		
	* [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time)
		
			
				
	
	
		
			45 lines
		
	
	
		
			934 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			934 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
function shouldBe(actual, expected) {
 | 
						|
    if (actual !== expected)
 | 
						|
        throw new Error('bad value: ' + actual);
 | 
						|
}
 | 
						|
 | 
						|
var AsyncFunctionPrototype = async function() {}.__proto__;
 | 
						|
 | 
						|
function testAsyncFunctionExpression()
 | 
						|
{
 | 
						|
    return async function()
 | 
						|
    {
 | 
						|
        await 42;
 | 
						|
        return 1;
 | 
						|
    };
 | 
						|
}
 | 
						|
noInline(testAsyncFunctionExpression);
 | 
						|
 | 
						|
function testAsyncFunctionDeclaration()
 | 
						|
{
 | 
						|
    async function asyncFn()
 | 
						|
    {
 | 
						|
        await 42;
 | 
						|
        return 1;
 | 
						|
    }
 | 
						|
 | 
						|
    return asyncFn;
 | 
						|
}
 | 
						|
noInline(testAsyncFunctionDeclaration);
 | 
						|
 | 
						|
function testAsyncArrowFunction()
 | 
						|
{
 | 
						|
    return async() =>
 | 
						|
    {
 | 
						|
        await 42;
 | 
						|
        return 1;
 | 
						|
    };
 | 
						|
}
 | 
						|
noInline(testAsyncArrowFunction);
 | 
						|
 | 
						|
for (var i = 0; i < 1e4; ++i) {
 | 
						|
    shouldBe(testAsyncFunctionExpression().__proto__, AsyncFunctionPrototype);
 | 
						|
    shouldBe(testAsyncFunctionDeclaration().__proto__, AsyncFunctionPrototype);
 | 
						|
    shouldBe(testAsyncArrowFunction().__proto__, AsyncFunctionPrototype);
 | 
						|
}
 |