浏览代码

LibWeb: Add a basic test for [EnforceRange]

This is a basic test - but does cover the two bugs in the previous
two commits.
Shannon Booth 1 年之前
父节点
当前提交
9dc2b0bba3

+ 3 - 0
Tests/LibWeb/Text/expected/Wasm/WebAssembly-grow.txt

@@ -0,0 +1,3 @@
+Made memory [object WebAssembly.Memory] with buffer [object ArrayBuffer] (byteLength 655360)
+After growing buffer (byteLength 983040)
+Got error: 'RangeError: Number '4294967296' is outside of allowed range of 0 to 4294967295'

+ 19 - 0
Tests/LibWeb/Text/input/Wasm/WebAssembly-grow.html

@@ -0,0 +1,19 @@
+<script src="../include.js"></script>
+<script>
+    test(() => {
+        const memory = new WebAssembly.Memory({
+              initial: 10,
+              maximum: 100,
+        });
+
+        println(`Made memory ${memory} with buffer ${memory.buffer} (byteLength ${memory.buffer.byteLength})`);
+        memory.grow(5);
+        println(`After growing buffer (byteLength ${memory.buffer.byteLength})`);
+
+        try {
+            memory.grow(4294967296); // 1 over max value.
+        } catch (e) {
+            println(`Got error: '${e}'`);
+        }
+    });
+</script>