Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: test/mjsunit/wasm/js-api.js

Issue 2644893004: [wasm] WebAssembly.compile: pass errors through promise resolver (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/wasm/wasm-js.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 529 matching lines...) Expand 10 before | Expand all | Expand 10 after
540 assertEq(compileDesc.enumerable, false); 540 assertEq(compileDesc.enumerable, false);
541 assertEq(compileDesc.configurable, true); 541 assertEq(compileDesc.configurable, true);
542 542
543 // 'WebAssembly.compile' function 543 // 'WebAssembly.compile' function
544 let compile = WebAssembly.compile; 544 let compile = WebAssembly.compile;
545 assertEq(compile, compileDesc.value); 545 assertEq(compile, compileDesc.value);
546 assertEq(compile.length, 1); 546 assertEq(compile.length, 1);
547 assertEq(compile.name, "compile"); 547 assertEq(compile.name, "compile");
548 function assertCompileError(args, err, msg) { 548 function assertCompileError(args, err, msg) {
549 var error = null; 549 var error = null;
550 try { 550 compile(...args).catch(e => error = e);
551 compile(...args).catch(e => error = e);
552 } catch (e) {
553 // TODO: error shouldn't be thrown, but should be globbed onto the promise.
554 error = e;
555 }
556 drainJobQueue(); 551 drainJobQueue();
557 assertEq(error instanceof err, true); 552 assertEq(error instanceof err, true);
558 assertEq(Boolean(error.stack.match("js-api.js")), true); 553 assertEq(Boolean(error.stack.match("js-api.js")), true);
559 //TODO assertEq(Boolean(error.message.match(msg)), true); 554 //TODO assertEq(Boolean(error.message.match(msg)), true);
560 } 555 }
561 assertCompileError([], TypeError, /requires more than 0 arguments/); 556 assertCompileError([], TypeError, /requires more than 0 arguments/);
562 assertCompileError([undefined], TypeError, /first argument must be an ArrayBuffe r or typed array object/); 557 assertCompileError([undefined], TypeError, /first argument must be an ArrayBuffe r or typed array object/);
563 assertCompileError([1], TypeError, /first argument must be an ArrayBuffer or typ ed array object/); 558 assertCompileError([1], TypeError, /first argument must be an ArrayBuffer or typ ed array object/);
564 assertCompileError([{}], TypeError, /first argument must be an ArrayBuffer or ty ped array object/); 559 assertCompileError([{}], TypeError, /first argument must be an ArrayBuffer or ty ped array object/);
565 assertCompileError([new Uint8Array()], CompileError, /BufferSource argument is e mpty/); 560 assertCompileError([new Uint8Array()], CompileError, /BufferSource argument is e mpty/);
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
625 var result = null; 620 var result = null;
626 instantiate(module_bytes, imports).then(r => result = r).catch(e => print(e)); 621 instantiate(module_bytes, imports).then(r => result = r).catch(e => print(e));
627 drainJobQueue(); 622 drainJobQueue();
628 assertEq(result instanceof Instance, true); 623 assertEq(result instanceof Instance, true);
629 } 624 }
630 assertInstantiateSuccess(emptyModuleBinary); 625 assertInstantiateSuccess(emptyModuleBinary);
631 assertInstantiateSuccess(emptyModuleBinary.buffer); 626 assertInstantiateSuccess(emptyModuleBinary.buffer);
632 assertInstantiateSuccess(importingModuleBinary, {"":{f:()=>{}}}); 627 assertInstantiateSuccess(importingModuleBinary, {"":{f:()=>{}}});
633 assertInstantiateSuccess(importingModuleBinary.buffer, {"":{f:()=>{}}}); 628 assertInstantiateSuccess(importingModuleBinary.buffer, {"":{f:()=>{}}});
634 assertInstantiateSuccess(memoryImportingModuleBinary, {"": {"my_memory": scratch _memory}}); 629 assertInstantiateSuccess(memoryImportingModuleBinary, {"": {"my_memory": scratch _memory}});
OLDNEW
« no previous file with comments | « src/wasm/wasm-js.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698