summaryrefslogtreecommitdiff
path: root/test/mem.post.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/mem.post.js')
-rw-r--r--test/mem.post.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/test/mem.post.js b/test/mem.post.js
new file mode 100644
index 000000000..00eda262c
--- /dev/null
+++ b/test/mem.post.js
@@ -0,0 +1,51 @@
+
+function test(name) {
+ Module.print(name);
+ function doTest(x) {
+ // write to 0, as 0-8 is normally unused anyhow
+ Module['_store' + name](0, x);
+ Module.print(' ' + [x] + ' ==> ' + Module['_load' + name](0));
+ }
+ doTest(0);
+ doTest(1);
+ doTest(-1);
+ doTest(0.5);
+ doTest(-0.5);
+ doTest(1.4);
+ doTest(-1.4);
+ doTest(1.6);
+ doTest(-1.6);
+ doTest(5.1);
+ doTest(5.3);
+ doTest(5.7);
+ doTest(5.9);
+ doTest(1 << 10);
+ doTest(1 << 20);
+ doTest(-1 | 0);
+ doTest((-1 | 0) + 1);
+ doTest((-1 | 0) - 1);
+ doTest(-1 >>> 0);
+ doTest((-1 >>> 0) + 1);
+ doTest((-1 >>> 0) - 1);
+
+ Module.print(' pre ==> ' + Module['_load' + name](0));
+ HEAPU8[0] = 10;
+ HEAPU8[1] = 20;
+ HEAPU8[2] = 30;
+ HEAPU8[3] = 40;
+ HEAPU8[4] = 50;
+ HEAPU8[5] = 99;
+ HEAPU8[6] = 125;
+ HEAPU8[7] = 250;
+ Module.print(' post ==> ' + Module['_load' + name](0));
+}
+
+test('i8');
+test('i16');
+test('i32');
+test('u8');
+test('u16');
+test('u32');
+test('f32');
+test('f64');
+