Index: test/mjsunit/wasm/import-memory.js |
diff --git a/test/mjsunit/wasm/import-memory.js b/test/mjsunit/wasm/import-memory.js |
index 30c1acc25a914e1074922bf760b11c300c197326..1e842aa2c0d8b3415ca031caaa376a6145f16199 100644 |
--- a/test/mjsunit/wasm/import-memory.js |
+++ b/test/mjsunit/wasm/import-memory.js |
@@ -80,3 +80,32 @@ load("test/mjsunit/wasm/wasm-module-builder.js"); |
} |
} |
})(); |
+ |
+(function TestGrowMemMaxDesc() { |
+ print("Maximum descriptor"); |
+ let memory = new WebAssembly.Memory({initial: 1, maximum: 5}); |
+ assertEquals(kPageSize, memory.buffer.byteLength); |
+ let i32 = new Int32Array(memory.buffer); |
+ let builder = new WasmModuleBuilder(); |
+ builder.addImportedMemory("mine"); |
+ builder.addFunction("main", kSig_i_v) |
+ .addBody([ |
+ kExprI32Const, 0, |
+ kExprI32LoadMem, 0, 0]) |
+ .exportAs("main"); |
+ |
+ let main = builder.instantiate({mine: memory}).exports.main; |
+ assertEquals(0, main()); |
+ i32[0] = 993377; |
+ assertEquals(993377, main()); |
+ |
+ for (var i = 1; i < 4; i++) { |
+ assertEquals(i, memory.grow(1)); |
+ assertEquals(993377, main()); |
+ } |
+ try { |
+ memory.grow(1); |
+ } catch (e) { |
+ assertEquals("object", typeof e); |
+ } |
+})(); |