wrap promises from external calls

This commit is contained in:
Dmitry Vasilev
2022-12-19 19:05:36 +08:00
parent 88295a526a
commit 1a55dbf619
2 changed files with 42 additions and 15 deletions

View File

@@ -2767,7 +2767,29 @@ const y = x()`
assert_equal(logs, [1, 2])
}),
test('async/await external async fn', async () => {
await assert_code_evals_to_async(
`
const AsyncFunction =
new Function('return (async () => {}).constructor')()
const async_fn = new AsyncFunction('return 1')
await async_fn()
`,
1
)
}),
// TODO
/*
test('async/await Promise.then creates subcall', async () => {
const i = await test_initial_state_async(`
await Promise.resolve(1).then(x => {
})
`)
console.log('i', root_calltree_node(i))
}),
test('async/await bug', async () => {
const code = `
const f = async () => {