gecko-dev/testing/web-platform/tests/dom/events/EventTarget-constructible.any.js
James Graham 2dc7a68af1 Bug 1386604 - Update web-platform-tests to revision 8b5316ad93c6c1238eea26a3d8052e32b34bbabd, a=testonly
MozReview-Commit-ID: 3HXcvTYpAkA


--HG--
rename : testing/web-platform/tests/fonts/matching/README.md => testing/web-platform/tests/css-fonts/matching/README.md
rename : testing/web-platform/tests/fonts/matching/fixed-stretch-style-over-weight-ref.html => testing/web-platform/tests/css-fonts/matching/fixed-stretch-style-over-weight-ref.html
rename : testing/web-platform/tests/fonts/matching/fixed-stretch-style-over-weight.html => testing/web-platform/tests/css-fonts/matching/fixed-stretch-style-over-weight.html
rename : testing/web-platform/tests/fonts/matching/font-matching.css => testing/web-platform/tests/css-fonts/matching/font-matching.css
rename : testing/web-platform/tests/fonts/matching/resources/variabletest_matching.ttf => testing/web-platform/tests/css-fonts/matching/resources/variabletest_matching.ttf
rename : testing/web-platform/tests/fonts/matching/stretch-distance-over-weight-distance-ref.html => testing/web-platform/tests/css-fonts/matching/stretch-distance-over-weight-distance-ref.html
rename : testing/web-platform/tests/fonts/matching/stretch-distance-over-weight-distance.html => testing/web-platform/tests/css-fonts/matching/stretch-distance-over-weight-distance.html
rename : testing/web-platform/tests/fonts/matching/style-ranges-over-weight-direction-ref.html => testing/web-platform/tests/css-fonts/matching/style-ranges-over-weight-direction-ref.html
rename : testing/web-platform/tests/fonts/matching/style-ranges-over-weight-direction.html => testing/web-platform/tests/css-fonts/matching/style-ranges-over-weight-direction.html
rename : testing/web-platform/tests/payment-request/OWNERS => testing/web-platform/tests/payment-method-id/OWNERS
rename : testing/web-platform/tests/storage/interfaces.worker.js => testing/web-platform/tests/storage/interfaces.https.worker.js
rename : testing/web-platform/tests/tools/browserutils/requirements.txt => testing/web-platform/tests/tools/wpt/requirements.txt
rename : testing/web-platform/tests/tools/browserutils/utils.py => testing/web-platform/tests/tools/wpt/utils.py
rename : testing/web-platform/tests/tools/wptrunner/wptrunner/executors/reftest-wait.js => testing/web-platform/tests/tools/wptrunner/wptrunner/executors/reftest-wait_marionette.js
rename : testing/web-platform/tests/uievents/keyboard/key-manual.css => testing/web-platform/tests/uievents/keyboard/key.css
rename : testing/web-platform/tests/uievents/keyboard/key-manual.js => testing/web-platform/tests/uievents/keyboard/key.js
2017-08-03 11:31:54 +01:00

62 lines
1.4 KiB
JavaScript

"use strict";
test(() => {
const target = new EventTarget();
const event = new Event("foo", { bubbles: true, cancelable: false });
let callCount = 0;
function listener(e) {
assert_equals(e, event);
++callCount;
}
target.addEventListener("foo", listener);
target.dispatchEvent(event);
assert_equals(callCount, 1);
target.dispatchEvent(event);
assert_equals(callCount, 2);
target.removeEventListener("foo", listener);
target.dispatchEvent(event);
assert_equals(callCount, 2);
}, "A constructed EventTarget can be used as expected");
test(() => {
class NicerEventTarget extends EventTarget {
on(...args) {
this.addEventListener(...args);
}
off(...args) {
this.removeEventListener(...args);
}
dispatch(type, detail) {
this.dispatchEvent(new CustomEvent(type, { detail }));
}
}
const target = new NicerEventTarget();
const event = new Event("foo", { bubbles: true, cancelable: false });
const detail = "some data";
let callCount = 0;
function listener(e) {
assert_equals(e.detail, detail);
++callCount;
}
target.on("foo", listener);
target.dispatch("foo", detail);
assert_equals(callCount, 1);
target.dispatch("foo", detail);
assert_equals(callCount, 2);
target.off("foo", listener);
target.dispatch("foo", detail);
assert_equals(callCount, 2);
}, "EventTarget can be subclassed");