OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 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 --allow-natives-syntax | 5 // Flags: --expose-wasm --allow-natives-syntax |
6 | 6 |
7 if ((typeof drainJobQueue) != "function") { | 7 if ((typeof drainJobQueue) != "function") { |
8 drainJobQueue = () => { %RunMicrotasks() }; | 8 drainJobQueue = () => { %RunMicrotasks() }; |
9 } | 9 } |
10 | 10 |
(...skipping 528 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
539 } catch (e) { | 539 } catch (e) { |
540 // TODO: error shouldn't be thrown, but should be globbed onto the promise. | 540 // TODO: error shouldn't be thrown, but should be globbed onto the promise. |
541 error = e; | 541 error = e; |
542 } | 542 } |
543 drainJobQueue(); | 543 drainJobQueue(); |
544 assertEq(error instanceof err, true); | 544 assertEq(error instanceof err, true); |
545 assertEq(Boolean(error.stack.match("js-api.js")), true); | 545 assertEq(Boolean(error.stack.match("js-api.js")), true); |
546 //TODO assertEq(Boolean(error.message.match(msg)), true); | 546 //TODO assertEq(Boolean(error.message.match(msg)), true); |
547 } | 547 } |
548 assertCompileError([], TypeError, /requires more than 0 arguments/); | 548 assertCompileError([], TypeError, /requires more than 0 arguments/); |
549 //TODO assertCompileError([undefined], TypeError, /first argument must be an Arr
ayBuffer or typed array object/); | 549 assertCompileError([undefined], TypeError, /first argument must be an ArrayBuffe
r or typed array object/); |
550 //TODO assertCompileError([1], TypeError, /first argument must be an ArrayBuffer
or typed array object/); | 550 assertCompileError([1], TypeError, /first argument must be an ArrayBuffer or typ
ed array object/); |
551 //TODO assertCompileError([{}], TypeError, /first argument must be an ArrayBuffe
r or typed array object/); | 551 assertCompileError([{}], TypeError, /first argument must be an ArrayBuffer or ty
ped array object/); |
552 //TODO assertCompileError([new Uint8Array()], CompileError, /failed to match mag
ic number/); | 552 assertCompileError([new Uint8Array()], CompileError, /BufferSource argument is e
mpty/); |
553 //TODO assertCompileError([new ArrayBuffer()], CompileError, /failed to match ma
gic number/); | 553 assertCompileError([new ArrayBuffer()], CompileError, /BufferSource argument is
empty/); |
| 554 assertCompileError([new Uint8Array("hi!")], CompileError, /failed to match magic
number/); |
| 555 assertCompileError([new ArrayBuffer("hi!")], CompileError, /failed to match magi
c number/); |
| 556 |
554 function assertCompileSuccess(bytes) { | 557 function assertCompileSuccess(bytes) { |
555 var module = null; | 558 var module = null; |
556 compile(bytes).then(m => module = m); | 559 compile(bytes).then(m => module = m); |
557 drainJobQueue(); | 560 drainJobQueue(); |
558 assertEq(module instanceof Module, true); | 561 assertEq(module instanceof Module, true); |
559 } | 562 } |
560 assertCompileSuccess(emptyModuleBinary); | 563 assertCompileSuccess(emptyModuleBinary); |
561 assertCompileSuccess(emptyModuleBinary.buffer); | 564 assertCompileSuccess(emptyModuleBinary.buffer); |
562 | 565 |
563 if (false) { // TODO: implement WebAssembly.instantiate | 566 if (false) { // TODO: implement WebAssembly.instantiate |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
605 assertEq(result.instance instanceof Instance, true); | 608 assertEq(result.instance instanceof Instance, true); |
606 } | 609 } |
607 } | 610 } |
608 assertInstantiateSuccess(emptyModule); | 611 assertInstantiateSuccess(emptyModule); |
609 assertInstantiateSuccess(emptyModuleBinary); | 612 assertInstantiateSuccess(emptyModuleBinary); |
610 assertInstantiateSuccess(emptyModuleBinary.buffer); | 613 assertInstantiateSuccess(emptyModuleBinary.buffer); |
611 assertInstantiateSuccess(importingModule, {"":{f:()=>{}}}); | 614 assertInstantiateSuccess(importingModule, {"":{f:()=>{}}}); |
612 assertInstantiateSuccess(importingModuleBinary, {"":{f:()=>{}}}); | 615 assertInstantiateSuccess(importingModuleBinary, {"":{f:()=>{}}}); |
613 assertInstantiateSuccess(importingModuleBinary.buffer, {"":{f:()=>{}}}); | 616 assertInstantiateSuccess(importingModuleBinary.buffer, {"":{f:()=>{}}}); |
614 } | 617 } |
OLD | NEW |