gecko-dev/testing/web-platform/tests/wasm/serialization/module/serialization-via-idb.any.js
Ben Smith 78198d2d0a Bug 1526433 [wpt PR 15148] - [WPT] [wasm] Move serialization tests to "module", a=testonly
Automatic update from web-platform-tests
[WPT] [wasm] Move serialization tests to "module"

The current WebAssembly serialization tests only cover serializing a
WebAssembly.Module object. With the threads proposal, we also allow
serializing WebAssembly.Memory objects.

Bug: chromium:926307
Change-Id: Ie31cf62ca6ab7fd42259f64909b9932a10e1d50e
Reviewed-on: https://chromium-review.googlesource.com/c/1444695
Commit-Queue: Ben Smith <binji@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#628007}

--

wpt-commits: 870d6fd5067f533373ba161ca1b18e361207c8d0
wpt-pr: 15148


--HG--
rename : testing/web-platform/tests/wasm/serialization/broadcastchannel-success-and-failure.html => testing/web-platform/tests/wasm/serialization/module/broadcastchannel-success-and-failure.html
rename : testing/web-platform/tests/wasm/serialization/broadcastchannel-success.html => testing/web-platform/tests/wasm/serialization/module/broadcastchannel-success.html
rename : testing/web-platform/tests/wasm/serialization/identity-not-preserved.html => testing/web-platform/tests/wasm/serialization/module/identity-not-preserved.html
rename : testing/web-platform/tests/wasm/serialization/incrementer.wasm => testing/web-platform/tests/wasm/serialization/module/incrementer.wasm
rename : testing/web-platform/tests/wasm/serialization/nested-worker-success.any.js => testing/web-platform/tests/wasm/serialization/module/nested-worker-success.any.js
rename : testing/web-platform/tests/wasm/serialization/no-transferring.html => testing/web-platform/tests/wasm/serialization/module/no-transferring.html
rename : testing/web-platform/tests/wasm/serialization/resources/blank.html => testing/web-platform/tests/wasm/serialization/module/resources/blank.html
rename : testing/web-platform/tests/wasm/serialization/resources/broadcastchannel-iframe.html => testing/web-platform/tests/wasm/serialization/module/resources/broadcastchannel-iframe.html
rename : testing/web-platform/tests/wasm/serialization/resources/broadcastchannel-sharedworker.js => testing/web-platform/tests/wasm/serialization/module/resources/broadcastchannel-sharedworker.js
rename : testing/web-platform/tests/wasm/serialization/resources/broadcastchannel-worker.js => testing/web-platform/tests/wasm/serialization/module/resources/broadcastchannel-worker.js
rename : testing/web-platform/tests/wasm/serialization/resources/create-empty-wasm-module.js => testing/web-platform/tests/wasm/serialization/module/resources/create-empty-wasm-module.js
rename : testing/web-platform/tests/wasm/serialization/resources/echo-iframe.html => testing/web-platform/tests/wasm/serialization/module/resources/echo-iframe.html
rename : testing/web-platform/tests/wasm/serialization/resources/echo-worker.js => testing/web-platform/tests/wasm/serialization/module/resources/echo-worker.js
rename : testing/web-platform/tests/wasm/serialization/resources/incrementer-iframe-domain.sub.html => testing/web-platform/tests/wasm/serialization/module/resources/incrementer-iframe-domain.sub.html
rename : testing/web-platform/tests/wasm/serialization/resources/incrementer-iframe.html => testing/web-platform/tests/wasm/serialization/module/resources/incrementer-iframe.html
rename : testing/web-platform/tests/wasm/serialization/resources/incrementer-popup.html => testing/web-platform/tests/wasm/serialization/module/resources/incrementer-popup.html
rename : testing/web-platform/tests/wasm/serialization/resources/incrementer-worker-with-channel.js => testing/web-platform/tests/wasm/serialization/module/resources/incrementer-worker-with-channel.js
rename : testing/web-platform/tests/wasm/serialization/resources/incrementer-worker.js => testing/web-platform/tests/wasm/serialization/module/resources/incrementer-worker.js
rename : testing/web-platform/tests/wasm/serialization/resources/incrementer.wasm => testing/web-platform/tests/wasm/serialization/module/resources/incrementer.wasm
rename : testing/web-platform/tests/wasm/serialization/resources/nested-iframe-1.html => testing/web-platform/tests/wasm/serialization/module/resources/nested-iframe-1.html
rename : testing/web-platform/tests/wasm/serialization/resources/nested-iframe-2.html => testing/web-platform/tests/wasm/serialization/module/resources/nested-iframe-2.html
rename : testing/web-platform/tests/wasm/serialization/resources/nested-iframe-3.html => testing/web-platform/tests/wasm/serialization/module/resources/nested-iframe-3.html
rename : testing/web-platform/tests/wasm/serialization/resources/nested-iframe-4-incrementer.html => testing/web-platform/tests/wasm/serialization/module/resources/nested-iframe-4-incrementer.html
rename : testing/web-platform/tests/wasm/serialization/resources/serviceworker-failure.js => testing/web-platform/tests/wasm/serialization/module/resources/serviceworker-failure.js
rename : testing/web-platform/tests/wasm/serialization/resources/sharedworker-failure.js => testing/web-platform/tests/wasm/serialization/module/resources/sharedworker-failure.js
rename : testing/web-platform/tests/wasm/serialization/resources/test-incrementer.js => testing/web-platform/tests/wasm/serialization/module/resources/test-incrementer.js
rename : testing/web-platform/tests/wasm/serialization/serialization-via-history.html => testing/web-platform/tests/wasm/serialization/module/serialization-via-history.html
rename : testing/web-platform/tests/wasm/serialization/serialization-via-idb.any.js => testing/web-platform/tests/wasm/serialization/module/serialization-via-idb.any.js
rename : testing/web-platform/tests/wasm/serialization/serialization-via-notifications-api.any.js => testing/web-platform/tests/wasm/serialization/module/serialization-via-notifications-api.any.js
rename : testing/web-platform/tests/wasm/serialization/window-messagechannel-success.html => testing/web-platform/tests/wasm/serialization/module/window-messagechannel-success.html
rename : testing/web-platform/tests/wasm/serialization/window-serviceworker-failure.https.html => testing/web-platform/tests/wasm/serialization/module/window-serviceworker-failure.https.html
rename : testing/web-platform/tests/wasm/serialization/window-sharedworker-failure.html => testing/web-platform/tests/wasm/serialization/module/window-sharedworker-failure.html
rename : testing/web-platform/tests/wasm/serialization/window-simple-success.html => testing/web-platform/tests/wasm/serialization/module/window-simple-success.html
2019-02-14 11:38:35 +00:00

45 lines
1.3 KiB
JavaScript

// META: script=/IndexedDB/support.js
"use strict";
function createEmptyWasmModule() {
return new WebAssembly.Module(
new Uint8Array([0x00, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00]));
}
async_test(t => {
const openReq = createdb(t);
openReq.onupgradeneeded = e => {
const db = e.target.result;
const store = db.createObjectStore("store", { keyPath: "key" });
assert_throws("DataCloneError", () => {
store.put({ key: 1, property: createEmptyWasmModule() });
});
t.done();
};
}, "WebAssembly.Module cloning via IndexedDB: basic case");
async_test(t => {
const openReq = createdb(t);
openReq.onupgradeneeded = e => {
const db = e.target.result;
const store = db.createObjectStore("store", { keyPath: "key" });
let getter1Called = false;
let getter2Called = false;
assert_throws("DataCloneError", () => {
store.put({ key: 1, property: [
{ get x() { getter1Called = true; return 5; } },
createEmptyWasmModule(),
{ get x() { getter2Called = true; return 5; } }
]});
});
assert_true(getter1Called, "The getter before the WebAssembly.Module must have been called");
assert_false(getter2Called, "The getter after the WebAssembly.Module must not have been called");
t.done();
};
}, "WebAssembly.Module cloning via the IndexedDB: is interleaved correctly");