(instance)
| 20 | })(); |
| 21 | |
| 22 | function CheckInstance(instance) { |
| 23 | assertFalse(instance === undefined); |
| 24 | assertFalse(instance === null); |
| 25 | assertFalse(instance === 0); |
| 26 | assertEquals('object', typeof instance); |
| 27 | |
| 28 | // Check the exports object is frozen. |
| 29 | assertFalse(Object.isExtensible(instance.exports)); |
| 30 | assertTrue(Object.isFrozen(instance.exports)); |
| 31 | |
| 32 | // Check the memory is WebAssembly.Memory. |
| 33 | var mem = instance.exports.memory; |
| 34 | assertFalse(mem === undefined); |
| 35 | assertFalse(mem === null); |
| 36 | assertFalse(mem === 0); |
| 37 | assertEquals('object', typeof mem); |
| 38 | assertTrue(mem instanceof WebAssembly.Memory); |
| 39 | var buf = mem.buffer; |
| 40 | assertTrue(buf instanceof ArrayBuffer); |
| 41 | assertEquals(65536, buf.byteLength); |
| 42 | for (var i = 0; i < 4; i++) { |
| 43 | instance.exports.memory = 0; // should be ignored |
| 44 | mem.buffer = 0; // should be ignored |
| 45 | assertSame(mem, instance.exports.memory); |
| 46 | assertSame(buf, mem.buffer); |
| 47 | } |
| 48 | |
| 49 | // Check the properties of the main function. |
| 50 | let main = instance.exports.main; |
| 51 | assertFalse(main === undefined); |
| 52 | assertFalse(main === null); |
| 53 | assertFalse(main === 0); |
| 54 | assertEquals('function', typeof main); |
| 55 | |
| 56 | assertEquals(kReturnValue, main()); |
| 57 | } |
| 58 | |
| 59 | // Official API |
| 60 | (function BasicJSAPITest() { |
no test coverage detected