import * as assert from '../assert.js'; | |
import Builder from '../Builder.js'; | |
const builder = (new Builder()) | |
.Type().End() | |
.Function().End() | |
.Export() | |
.Function("br1") | |
.Function("br0") | |
.End() | |
.Code() | |
.Function("br1", { params: [], ret: "i32" }) | |
.Block("i32", b => { | |
return b.I32Const(0) | |
.I32Const(1) | |
.BrIf(1) | |
}) | |
.End() | |
.Function("br0", { params: [], ret: "i32" }) | |
.I32Const(0) | |
.I32Const(1) | |
.BrIf(0) | |
.End() | |
.End(); | |
const bin = builder.WebAssembly().get(); | |
const module = new WebAssembly.Module(bin); | |
const instance = new WebAssembly.Instance(module); | |
assert.eq(instance.exports.br1(), 0) | |
assert.eq(instance.exports.br0(), 0) |