Revision 31a51c70f74e23dc52f2033e552990a03f3166a9 authored by Mike Pennisi on 29 June 2018, 15:27:58 UTC, committed by Ms2ger on 02 July 2018, 14:31:05 UTC
Today, the return value of functions provided to the global
`add_cleanup` function has no effect on the behavior of the test runner.
An upcoming feature addition to testharness.js will cause the return
value to influence test results [1].

Despite this, some existing tests have already been authored to return a
value: the result of `document.exitFullScreen`. Although this is
expected to be a Promise in conforming implementations, some browsers do
not yet implement this functionality.

To allow the new test harness feature to land without introducing
harness errors, refactor existing tests to omit a return value.

Additionally, use `Promise.prototype.catch` to avoid race conditions
resulting from unhandled Promise rejections (which trigger a harness
error in testharness.js today).

[1] https://github.com/web-platform-tests/wpt/issues/6075
1 parent 21369c1
Raw File
idbobjectstore-request-source.html
<!doctype html>
<meta charset=utf-8>
<title>IndexedDB: The source of requests made against object stores</title>
<meta name="help" href="https://w3c.github.io/IndexedDB/#dom-idbrequest-source">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support.js"></script>
<script>

[
  store => store.put(0),
  store => store.add(0),
  store => store.delete(0),
  store => store.clear(),

  store => store.get(0),
  store => store.getKey(0),
  store => store.getAll(),
  store => store.getAllKeys(),
  store => store.count(),

  store => store.openCursor(),
  store => store.openKeyCursor()
].forEach(func => indexeddb_test(
  (t, db) => {
    db.createObjectStore('store', {autoIncrement: true});
  },
  (t, db) => {
    const tx = db.transaction('store', 'readwrite');
    const store = tx.objectStore('store');

    assert_equals(func(store).source, store,
                  `${func}.source should be the object store itself`);
    t.done();
  },
  `The source of the request from ${func} is the object store itself`
));

</script>
back to top