global-exports-live-bindings.tentative.any.js (1819B)
1 // META: global=window,dedicatedworker,jsshell,shadowrealm 2 3 promise_test(async () => { 4 const wasmExports = await import("./resources/globals.wasm"); 5 6 wasmExports.setLocalMutI32(555); 7 assert_equals(wasmExports.getLocalMutI32(), 555); 8 assert_equals(wasmExports.localMutI32, 555); 9 10 wasmExports.setLocalMutI64(444n); 11 assert_equals(wasmExports.getLocalMutI64(), 444n); 12 assert_equals(wasmExports.localMutI64, 444n); 13 14 wasmExports.setLocalMutF32(3.33); 15 assert_equals(Math.round(wasmExports.getLocalMutF32() * 100) / 100, 3.33); 16 assert_equals(Math.round(wasmExports.localMutF32 * 100) / 100, 3.33); 17 18 wasmExports.setLocalMutF64(2.22); 19 assert_equals(wasmExports.getLocalMutF64(), 2.22); 20 assert_equals(wasmExports.localMutF64, 2.22); 21 22 const anotherTestObj = { another: "test object" }; 23 wasmExports.setLocalMutExternref(anotherTestObj); 24 assert_equals(wasmExports.getLocalMutExternref(), anotherTestObj); 25 assert_equals(wasmExports.localMutExternref, anotherTestObj); 26 }, "Local mutable global exports should be live bindings"); 27 28 promise_test(async () => { 29 const wasmExports = await import("./resources/globals.wasm"); 30 31 wasmExports.setDepMutI32(3001); 32 assert_equals(wasmExports.getDepMutI32(), 3001); 33 assert_equals(wasmExports.depMutI32, 3001); 34 35 wasmExports.setDepMutI64(30000000001n); 36 assert_equals(wasmExports.getDepMutI64(), 30000000001n); 37 assert_equals(wasmExports.depMutI64, 30000000001n); 38 39 wasmExports.setDepMutF32(30.01); 40 assert_equals(Math.round(wasmExports.getDepMutF32() * 100) / 100, 30.01); 41 assert_equals(Math.round(wasmExports.depMutF32 * 100) / 100, 30.01); 42 43 wasmExports.setDepMutF64(300.0001); 44 assert_equals(wasmExports.getDepMutF64(), 300.0001); 45 assert_equals(wasmExports.depMutF64, 300.0001); 46 }, "Dep module mutable global exports should be live bindings");