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: --allow-natives-syntax | 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 const kReturnValue = 15; | 10 (function BasicTest() { |
11 | 11 var kReturnValue = 15; |
12 function getBuilder() { | |
13 var builder = new WasmModuleBuilder(); | 12 var builder = new WasmModuleBuilder(); |
14 | 13 |
15 builder.addFunction("main", kSig_i_i) | 14 builder.addFunction("main", kSig_i_i) |
16 .addBody([kExprI32Const, kReturnValue]) | 15 .addBody([kExprI32Const, kReturnValue]) |
17 .exportFunc(); | 16 .exportFunc(); |
18 return builder; | |
19 } | |
20 | 17 |
21 (function BasicTest() { | |
22 var builder = getBuilder(); | |
23 var main = builder.instantiate().exports.main; | 18 var main = builder.instantiate().exports.main; |
24 assertEquals(kReturnValue, main()); | 19 assertEquals(kReturnValue, main()); |
25 })(); | 20 })(); |
26 | |
27 (function AsyncTest() { | |
28 var builder = getBuilder(); | |
29 var buffer = builder.toBuffer(); | |
30 assertPromiseResult( | |
31 WebAssembly.instantiate(buffer) | |
32 .then(pair => pair.instance.exports.main(), assertUnreachable) | |
33 .then(result => assertEquals(kReturnValue, result), assertUnreachable)); | |
34 })(); | |
OLD | NEW |