OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Flags: --expose-wasm | 5 // Flags: --expose-wasm |
6 | 6 |
7 load("test/mjsunit/wasm/wasm-constants.js"); | 7 load("test/mjsunit/wasm/wasm-constants.js"); |
8 load("test/mjsunit/wasm/wasm-module-builder.js"); | 8 load("test/mjsunit/wasm/wasm-module-builder.js"); |
9 | 9 |
10 let kReturnValue = 17; | 10 let kReturnValue = 17; |
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
240 | 240 |
241 | 241 |
242 assertThrows(() => new WebAssembly.Instance(module, {"":{memory:memory}}), Web
Assembly.LinkError); | 242 assertThrows(() => new WebAssembly.Instance(module, {"":{memory:memory}}), Web
Assembly.LinkError); |
243 })(); | 243 })(); |
244 | 244 |
245 (function TestNoMemoryToExport() { | 245 (function TestNoMemoryToExport() { |
246 let builder = new WasmModuleBuilder(); | 246 let builder = new WasmModuleBuilder(); |
247 builder.exportMemoryAs('memory'); | 247 builder.exportMemoryAs('memory'); |
248 assertThrows(() => builder.instantiate(), WebAssembly.CompileError); | 248 assertThrows(() => builder.instantiate(), WebAssembly.CompileError); |
249 })(); | 249 })(); |
| 250 |
| 251 (function TestIterableExports() { |
| 252 print("TestIterableExports..."); |
| 253 let builder = new WasmModuleBuilder; |
| 254 builder.addExport("a", builder.addFunction("", kSig_v_v).addBody([])); |
| 255 builder.addExport("b", builder.addFunction("", kSig_v_v).addBody([])); |
| 256 builder.addExport("c", builder.addFunction("", kSig_v_v).addBody([])); |
| 257 builder.addExport("d", builder.addFunction("", kSig_v_v).addBody([])); |
| 258 builder.addExport("e", builder.addGlobal(kWasmI32, false)); |
| 259 |
| 260 let module = new WebAssembly.Module(builder.toBuffer()); |
| 261 let instance = new WebAssembly.Instance(module); |
| 262 |
| 263 let exports_count = 0; |
| 264 for (var e in instance.exports) ++exports_count; |
| 265 |
| 266 assertEquals(5, exports_count); |
| 267 })(); |
OLD | NEW |