Skip to content

Commit

Permalink
refactor: switch to tests to wast
Browse files Browse the repository at this point in the history
  • Loading branch information
xtuc committed May 23, 2018
1 parent 8b19f20 commit a9d9fee
Show file tree
Hide file tree
Showing 8 changed files with 35 additions and 2 deletions.
5 changes: 5 additions & 0 deletions lib/WebpackOptionsDefaulter.js
Expand Up @@ -73,6 +73,11 @@ class WebpackOptionsDefaulter extends OptionsDefaulter {
{
test: /\.wasm$/i,
type: "webassembly/experimental"
},
{
test: /\.wast$/i,
loader: "@webassemblyjs/wast-loader",
type: "webassembly/experimental"
}
]);

Expand Down
1 change: 1 addition & 0 deletions package.json
Expand Up @@ -8,6 +8,7 @@
"@webassemblyjs/ast": "1.4.3",
"@webassemblyjs/wasm-edit": "1.4.3",
"@webassemblyjs/wasm-parser": "1.4.3",
"@webassemblyjs/wast-loader": "^1.5.4",
"acorn": "^5.0.0",
"acorn-dynamic-import": "^3.0.0",
"ajv": "^6.1.0",
Expand Down
4 changes: 2 additions & 2 deletions test/cases/wasm/decoding/index.js
@@ -1,13 +1,13 @@
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);
wasm._Z3seti(42);
expect(wasm._Z3getv()).toBe(42);
});
});

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.buffer).toBeInstanceOf(ArrayBuffer);
expect(wasm.memory.buffer.byteLength).toBe(1 << 16);
Expand Down
Binary file removed test/cases/wasm/decoding/memory2.wasm
Binary file not shown.
3 changes: 3 additions & 0 deletions test/cases/wasm/decoding/memory2.wast
@@ -0,0 +1,3 @@
(module
(memory $memory (export "memory") 1))

Binary file removed test/cases/wasm/decoding/memory3.wasm
Binary file not shown.
14 changes: 14 additions & 0 deletions test/cases/wasm/decoding/memory3.wast
@@ -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"))

10 changes: 10 additions & 0 deletions yarn.lock
Expand Up @@ -125,6 +125,12 @@
"@webassemblyjs/wasm-parser" "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":
version "1.4.3"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.4.3.tgz#3250402e2c5ed53dbe2233c9de1fe1f9f0d51745"
Expand Down Expand Up @@ -6257,6 +6263,10 @@ w3c-hr-time@^1.0.1:
dependencies:
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:
version "1.0.7"
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"
Expand Down

0 comments on commit a9d9fee

Please sign in to comment.