mirror of
https://github.com/tc39/test262.git
synced 2025-05-04 15:00:42 +02: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)
39 lines
1.8 KiB
JavaScript
39 lines
1.8 KiB
JavaScript
import Builder from '../Builder.js';
|
|
import * as assert from '../assert.js';
|
|
|
|
assert.throws(() => WebAssembly.Module.imports(undefined), TypeError, `WebAssembly.Module.imports called with non WebAssembly.Module argument`);
|
|
assert.eq(WebAssembly.Module.imports.length, 1);
|
|
|
|
{
|
|
const m = new WebAssembly.Module((new Builder()).WebAssembly().get());
|
|
assert.isArray(WebAssembly.Module.imports(m));
|
|
assert.eq(WebAssembly.Module.imports(m).length, 0);
|
|
assert.truthy(WebAssembly.Module.imports(m) !== WebAssembly.Module.imports(m));
|
|
}
|
|
|
|
{
|
|
const m = new WebAssembly.Module(
|
|
(new Builder())
|
|
.Type().End()
|
|
.Import()
|
|
.Function("fooFunction", "barFunction", { params: [] })
|
|
.Table("fooTable", "barTable", {initial: 20, element: "anyfunc"})
|
|
.Memory("fooMemory", "barMemory", {initial: 20})
|
|
.Global().I32("fooGlobal", "barGlobal", "immutable").End()
|
|
.End()
|
|
.WebAssembly().get());
|
|
assert.eq(WebAssembly.Module.imports(m).length, 4);
|
|
assert.eq(WebAssembly.Module.imports(m)[0].module, "fooFunction");
|
|
assert.eq(WebAssembly.Module.imports(m)[0].name, "barFunction");
|
|
assert.eq(WebAssembly.Module.imports(m)[0].kind, "function");
|
|
assert.eq(WebAssembly.Module.imports(m)[1].module, "fooTable");
|
|
assert.eq(WebAssembly.Module.imports(m)[1].name, "barTable");
|
|
assert.eq(WebAssembly.Module.imports(m)[1].kind, "table");
|
|
assert.eq(WebAssembly.Module.imports(m)[2].module, "fooMemory");
|
|
assert.eq(WebAssembly.Module.imports(m)[2].name, "barMemory");
|
|
assert.eq(WebAssembly.Module.imports(m)[2].kind, "memory");
|
|
assert.eq(WebAssembly.Module.imports(m)[3].module, "fooGlobal");
|
|
assert.eq(WebAssembly.Module.imports(m)[3].name, "barGlobal");
|
|
assert.eq(WebAssembly.Module.imports(m)[3].kind, "global");
|
|
}
|