blob: 0afa09f087a2de0d2d8fcf6c095688cb750f8d80 [file] [log] [blame]
<!DOCTYPE html>
<meta charset="utf-8">
<meta name="flags" content="dom">
<title>CSS Test: CSSOM View MediaQueryListEvent</title>
<link rel="help" href="https://www.w3.org/TR/cssom-view-1/#mediaquerylistevent">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/matchMedia.js"></script>
<div id="log"></div>
<script>
"use strict";
test(() => {
assert_equals(new MediaQueryListEvent("test").type, "test");
}, 'type can be different from "change"');
test(() => {
const event = new MediaQueryListEvent("change");
assert_equals(event.media, "");
assert_false(event.matches);
assert_false(event.bubbles);
assert_false(event.cancelable);
}, "init dictionary default values");
test(() => {
const event = new MediaQueryListEvent("change", {
media: "test",
matches: true,
bubbles: true,
cancelable: true,
});
assert_equals(event.media, "test");
assert_true(event.matches);
assert_true(event.bubbles);
assert_true(event.cancelable);
}, "init dictionary overrides");
promise_test(async t => {
const mql = await createMQL(t);
let _event;
mql.addListener(event => {
_event = event;
});
triggerMQLEvent(mql);
await waitForChangesReported();
assert_true(_event instanceof getWindow(mql).MediaQueryListEvent);
assert_equals(_event.type, "change");
assert_false(_event.bubbles);
assert_false(_event.cancelable);
}, "argument of addListener");
promise_test(async t => {
const mql = await createMQL(t);
let _event;
mql.onchange = event => {
_event = event;
};
triggerMQLEvent(mql);
await waitForChangesReported();
assert_true(_event instanceof getWindow(mql).MediaQueryListEvent);
assert_equals(_event.type, "change");
assert_false(_event.bubbles);
assert_false(_event.cancelable);
}, "argument of onchange");
promise_test(async t => {
const mql = await createMQL(t);
let _event;
mql.addEventListener("change", event => {
_event = event;
});
triggerMQLEvent(mql);
await waitForChangesReported();
assert_true(_event instanceof getWindow(mql).MediaQueryListEvent);
assert_equals(_event.type, "change");
assert_false(_event.bubbles);
assert_false(_event.cancelable);
}, 'constructor of "change" event');
</script>