Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
test: use Worker scope in WPT
Previously, we use the Window scope by default in our WPT test
runner. When one of the test fails, the WPT harness would try to
use document.getElementsByTagName() etc. to display the failure,
which is not going to work for us.

This patch switches the scope to DedicatedWorker and use our
Worker implementation as a global - this does not test the Worker
implementation per se, just tells the WPT harness to pass the results
back to us via the callbacks we installed and not try to access
a document.

We may still need to use a Window scope when we try to run
.window.js tests in the future, but for now we only run .any.js
tests so it's fine to use a worker scope by default.
  • Loading branch information
joyeecheung committed Nov 17, 2018
commit 280834d95240a6917c592c97d780b789aa91d6ae
4 changes: 3 additions & 1 deletion test/common/wpt.js
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,9 @@ class WPTRunner {
sandbox.self = sandbox;
// TODO(joyeecheung): we are not a window - work with the upstream to
// add a new scope for us.
sandbox.document = {}; // Pretend we are Window

const { Worker } = require('worker_threads');
sandbox.DedicatedWorker = Worker; // Pretend we are a Worker
return context;
}

Expand Down
2 changes: 1 addition & 1 deletion test/wpt/test-whatwg-console.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use strict';

// Flags: --expose-internals
// Flags: --expose-internals --experimental-worker

require('../common');
const { WPTRunner } = require('../common/wpt');
Expand Down
2 changes: 1 addition & 1 deletion test/wpt/test-whatwg-url.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use strict';

// Flags: --expose-internals
// Flags: --expose-internals --experimental-worker

require('../common');
const { WPTRunner } = require('../common/wpt');
Expand Down