<!doctype html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<body>
<script>
'use strict';

promise_test(() => {
  return sharedStorage.run("operation1", {keepAlive: true});
}, 'run()');

promise_test(() => {
  return sharedStorage.run("operation1",
                           {data: {'custom-key': 'custom-value'},
                            keepAlive: true});
}, 'run() with custom data');

promise_test(async t => {
  try {
    await sharedStorage.run("operation1", {data: window});
  } catch (e) {
    assert_equals(e.name, 'DataCloneError');
    assert_equals(e.message, 'Failed to execute \'run\' on \'SharedStorage\': #<Window> could not be cloned.');
    return;
  }
  assert_unreached("did not reject");
}, 'run() with unsupported serializable type');

</script>
</body>
