<!DOCTYPE html>
<!-- Based on similar tests in html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/ -->
<meta charset="utf-8">
<title>WebAssembly.Module cloning via history's methods invoking StructuredSerializeForStorage</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./resources/create-empty-wasm-module.js"></script>

<script>
"use strict";

for (const method of ["pushState", "replaceState"]) {
  test(() => {
    assert_throws_dom("DataCloneError", () => {
      history[method](createEmptyWasmModule(), "dummy title");
    });
  }, `history.${method}(): simple case`);

  test(() => {
    let getter1Called = false;
    let getter2Called = false;
    assert_throws_dom("DataCloneError", () => {
      history[method]([
        { get x() { getter1Called = true; return 5; } },
        createEmptyWasmModule(),
        { get x() { getter2Called = true; return 5; } }
      ], "dummy title");
    });

    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");
  }, `history.${method}(): is interleaved correctly`);
}
</script>
