| import * as assert from '../assert.js'; |
| import Builder from '../Builder.js'; |
| |
| assert.isFunction(WebAssembly.validate); |
| assert.isFunction(WebAssembly.__proto__.validate); |
| assert.eq(WebAssembly.validate.length, 1); |
| |
| { |
| const builder = (new Builder()) |
| .Type().End() |
| .Import().Memory("imp", "memory", {initial: 20}).End() |
| .Function().End() |
| .Memory().InitialMaxPages(1, 1).End() |
| .Export().End() |
| .Code() |
| .End(); |
| |
| assert.truthy(!WebAssembly.validate(builder.WebAssembly().get())); |
| } |
| |
| { |
| const builder = (new Builder()) |
| .Type().End() |
| .Import().Memory("imp", "memory", {initial: 20}).End() |
| .Function().End() |
| .Export().End() |
| .Code() |
| .End(); |
| |
| assert.truthy(WebAssembly.validate(builder.WebAssembly().get())); |
| } |
| |
| { |
| const builder = (new Builder()); |
| builder.setChecked(false); |
| |
| builder.Type().End() |
| .Import().Memory("imp", "memory", {initial: 20}).End() |
| .Unknown("test").End() |
| .Import().Memory("imp", "memory", {initial: 20}).End() |
| .Function().End() |
| .Export().End() |
| .Code() |
| .End(); |
| |
| assert.falsy(WebAssembly.validate(builder.WebAssembly().get())); |
| } |