| import * as assert from '../assert.js'; |
| import Builder from '../Builder.js'; |
| |
| function getBinary(params) { |
| const builder = (new Builder()) |
| builder.Type().End() |
| .Function().End() |
| .Memory().InitialMaxPages(1, 1).End() |
| .Export() |
| .Function("callFunc") |
| .End() |
| .Code() |
| .Function("callFunc", { params, ret: "void" }) |
| .Return() |
| .End() |
| .End(); |
| return builder.WebAssembly().get(); |
| } |
| |
| assert.throws(() => new WebAssembly.Module(getBinary(["i32", "void"])), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 15: can't get 1th argument Type"); |
| assert.throws(() => new WebAssembly.Module(getBinary(["void"])), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 14: can't get 0th argument Type"); |
| assert.throws(() => new WebAssembly.Module(getBinary(["i32", "void", "i32"])), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 15: can't get 1th argument Type"); |