refactor: switch to tests to wast

This commit is contained in:
Sven SAULEAU 2018-05-23 18:13:25 +02:00
parent 8b19f20b40
commit a9d9feeba7
No known key found for this signature in database
GPG Key ID: F5464AC83B687AD1
8 changed files with 35 additions and 2 deletions

View File

@ -73,6 +73,11 @@ class WebpackOptionsDefaulter extends OptionsDefaulter {
{ {
test: /\.wasm$/i, test: /\.wasm$/i,
type: "webassembly/experimental" type: "webassembly/experimental"
},
{
test: /\.wast$/i,
loader: "@webassemblyjs/wast-loader",
type: "webassembly/experimental"
} }
]); ]);

View File

@ -8,6 +8,7 @@
"@webassemblyjs/ast": "1.4.3", "@webassemblyjs/ast": "1.4.3",
"@webassemblyjs/wasm-edit": "1.4.3", "@webassemblyjs/wasm-edit": "1.4.3",
"@webassemblyjs/wasm-parser": "1.4.3", "@webassemblyjs/wasm-parser": "1.4.3",
"@webassemblyjs/wast-loader": "^1.5.4",
"acorn": "^5.0.0", "acorn": "^5.0.0",
"acorn-dynamic-import": "^3.0.0", "acorn-dynamic-import": "^3.0.0",
"ajv": "^6.1.0", "ajv": "^6.1.0",

View File

@ -1,5 +1,5 @@
it("should support wasm compiled from c++", function() { it("should support wasm compiled from c++", function() {
return import("./memory3.wasm").then(function(wasm) { return import("./memory3.wast").then(function(wasm) {
expect(wasm._Z3getv()).toBe(0); expect(wasm._Z3getv()).toBe(0);
wasm._Z3seti(42); wasm._Z3seti(42);
expect(wasm._Z3getv()).toBe(42); expect(wasm._Z3getv()).toBe(42);
@ -7,7 +7,7 @@ it("should support wasm compiled from c++", function() {
}); });
it("should raw memory export without data", function() { it("should raw memory export without data", function() {
return import("./memory2.wasm").then(function(wasm) { return import("./memory2.wast").then(function(wasm) {
expect(wasm.memory).toBeInstanceOf(WebAssembly.Memory); expect(wasm.memory).toBeInstanceOf(WebAssembly.Memory);
expect(wasm.memory.buffer).toBeInstanceOf(ArrayBuffer); expect(wasm.memory.buffer).toBeInstanceOf(ArrayBuffer);
expect(wasm.memory.buffer.byteLength).toBe(1 << 16); expect(wasm.memory.buffer.byteLength).toBe(1 << 16);

View File

@ -0,0 +1,3 @@
(module
(memory $memory (export "memory") 1))

View File

@ -0,0 +1,14 @@
(module
(type $t0 (func (param i32)))
(type $t1 (func (result i32)))
(func $_Z3seti (export "_Z3seti") (type $t0) (param $p0 i32)
(i32.store offset=12
(i32.const 0)
(get_local $p0)))
(func $_Z3getv (export "_Z3getv") (type $t1) (result i32)
(i32.load offset=12
(i32.const 0)))
(table $T0 0 anyfunc)
(memory $memory (export "memory") 1)
(data (i32.const 12) "\00\00\00\00"))

View File

@ -125,6 +125,12 @@
"@webassemblyjs/wasm-parser" "1.4.3" "@webassemblyjs/wasm-parser" "1.4.3"
webassemblyjs "1.4.3" webassemblyjs "1.4.3"
"@webassemblyjs/wast-loader@^1.5.4":
version "1.5.4"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-loader/-/wast-loader-1.5.4.tgz#6db66671edc5955cb77cbf90a6c4f627f6335a6a"
dependencies:
wabt "^1.0.0"
"@webassemblyjs/wast-parser@1.4.3": "@webassemblyjs/wast-parser@1.4.3":
version "1.4.3" version "1.4.3"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.4.3.tgz#3250402e2c5ed53dbe2233c9de1fe1f9f0d51745" resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.4.3.tgz#3250402e2c5ed53dbe2233c9de1fe1f9f0d51745"
@ -6257,6 +6263,10 @@ w3c-hr-time@^1.0.1:
dependencies: dependencies:
browser-process-hrtime "^0.1.2" browser-process-hrtime "^0.1.2"
wabt@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/wabt/-/wabt-1.0.0.tgz#f33a5c4a6405370ec80ba97e782d092f1d599ff4"
walker@~1.0.5: walker@~1.0.5:
version "1.0.7" version "1.0.7"
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"