mirror of
https://github.com/servo/servo.git
synced 2025-08-11 08:25:32 +01:00
Update web-platform-tests to revision 89aa3f42131cce5a77268ddaeb2fab8a2e29c2a6
This commit is contained in:
parent
39963266ae
commit
ea00d34098
392 changed files with 5974 additions and 7614 deletions
|
@ -0,0 +1,54 @@
|
|||
// META: global=jsshell
|
||||
// META: script=/wasm/jsapi/wasm-module-builder.js
|
||||
|
||||
function getExports() {
|
||||
const builder = new WasmModuleBuilder();
|
||||
builder
|
||||
.addFunction("fn", kSig_v_d)
|
||||
.addBody([])
|
||||
.exportFunc();
|
||||
|
||||
builder.setTableBounds(1);
|
||||
builder.addExportOfKind("table", kExternalTable, 0);
|
||||
builder.addGlobal(kWasmI32, false).exportAs("global");
|
||||
builder.addMemory(4, 8, true);
|
||||
|
||||
const buffer = builder.toBuffer();
|
||||
const module = new WebAssembly.Module(buffer);
|
||||
const instance = new WebAssembly.Instance(module);
|
||||
return instance.exports;
|
||||
}
|
||||
|
||||
test(() => {
|
||||
const exports = getExports();
|
||||
|
||||
const builder = new WasmModuleBuilder();
|
||||
const functionIndex = builder.addImport("module", "imported", kSig_v_d);
|
||||
builder.addExport("exportedFunction", functionIndex);
|
||||
|
||||
const globalIndex = builder.addImportedGlobal("module", "global", kWasmI32);
|
||||
builder.addExportOfKind("exportedGlobal", kExternalGlobal, globalIndex);
|
||||
|
||||
builder.addImportedMemory("module", "memory", 4);
|
||||
builder.exportMemoryAs("exportedMemory");
|
||||
|
||||
const tableIndex = builder.addImportedTable("module", "table", 1);
|
||||
builder.addExportOfKind("exportedTable", kExternalTable, tableIndex);
|
||||
|
||||
const buffer = builder.toBuffer();
|
||||
|
||||
const module = new WebAssembly.Module(buffer);
|
||||
const instance = new WebAssembly.Instance(module, {
|
||||
"module": {
|
||||
"imported": exports.fn,
|
||||
"global": exports.global,
|
||||
"memory": exports.memory,
|
||||
"table": exports.table,
|
||||
}
|
||||
});
|
||||
|
||||
assert_equals(instance.exports.exportedFunction, exports.fn);
|
||||
assert_equals(instance.exports.exportedGlobal, exports.global);
|
||||
assert_equals(instance.exports.exportedMemory, exports.memory);
|
||||
assert_equals(instance.exports.exportedTable, exports.table);
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue