mirror of
				https://github.com/tc39/test262.git
				synced 2025-10-31 11:44:31 +01:00 
			
		
		
		
	* [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time)
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import Builder from '../Builder.js';
 | |
| import * as assert from '../assert.js';
 | |
| 
 | |
| assert.throws(() => WebAssembly.Module.exports(undefined), TypeError, `WebAssembly.Module.exports called with non WebAssembly.Module argument`);
 | |
| assert.eq(WebAssembly.Module.exports.length, 1);
 | |
| 
 | |
| {
 | |
|     const m = new WebAssembly.Module((new Builder()).WebAssembly().get());
 | |
|     assert.isArray(WebAssembly.Module.exports(m));
 | |
|     assert.eq(WebAssembly.Module.exports(m).length, 0);
 | |
|     assert.truthy(WebAssembly.Module.exports(m) !== WebAssembly.Module.exports(m));
 | |
| }
 | |
| 
 | |
| {
 | |
|     const m = new WebAssembly.Module(
 | |
|         (new Builder())
 | |
|             .Type().End()
 | |
|             .Function().End()
 | |
|             .Table()
 | |
|                 .Table({initial: 20, maximum: 30, element: "anyfunc"})
 | |
|             .End()
 | |
|             .Memory().InitialMaxPages(1, 1).End()
 | |
|             .Global().I32(42, "immutable").End()
 | |
|             .Export()
 | |
|                 .Function("func")
 | |
|                 .Table("tab", 0)
 | |
|                 .Memory("mem", 0)
 | |
|                 .Global("glob", 0)
 | |
|             .End()
 | |
|             .Code()
 | |
|                 .Function("func", { params: [] }).Return().End()
 | |
|             .End()
 | |
|             .WebAssembly().get());
 | |
|     assert.eq(WebAssembly.Module.exports(m).length, 4);
 | |
|     assert.eq(WebAssembly.Module.exports(m)[0].name, "func");
 | |
|     assert.eq(WebAssembly.Module.exports(m)[0].kind, "function");
 | |
|     assert.eq(WebAssembly.Module.exports(m)[1].name, "tab");
 | |
|     assert.eq(WebAssembly.Module.exports(m)[1].kind, "table");
 | |
|     assert.eq(WebAssembly.Module.exports(m)[2].name, "mem");
 | |
|     assert.eq(WebAssembly.Module.exports(m)[2].kind, "memory");
 | |
|     assert.eq(WebAssembly.Module.exports(m)[3].name, "glob");
 | |
|     assert.eq(WebAssembly.Module.exports(m)[3].kind, "global");
 | |
| }
 |