blob: 43b2fcd83aa0c11a1e105c5300dc5033d6f23641 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../http/tests/inspector/resources/inspector-test.js"></script>
<style>
body { color: blue; }
@media print {
body { color: green; }
}
</style>
<script>
let mediaQueryList = window.matchMedia("print");
mediaQueryList.addListener(function(aMediaQueryList) {
TestPage.addResult("PASS: MediaQueryList listener fired.");
});
function test()
{
let suite = InspectorTest.createAsyncSuite("Page.setEmulatedMedia");
suite.addTestCase({
name: "Page.setEmulatedMedia.initial",
description: "Initial media type should match screen.",
test(resolve, reject) {
InspectorTest.evaluateInPage("mediaQueryList.matches", (error, result) => {
InspectorTest.expectEqual(result, false, "Page should not match print media.");
});
InspectorTest.evaluateInPage("getComputedStyle(document.body).color", (error, result) => {
InspectorTest.expectEqual(result, "rgb(0, 0, 255)", "Body color should be blue.");
resolve();
});
}
});
suite.addTestCase({
name: "Page.setEmulatedMedia.print",
description: "Should be able to set print media type.",
test(resolve, reject) {
PageAgent.setEmulatedMedia("print", (error) => {
InspectorTest.evaluateInPage("mediaQueryList.matches", (error, result) => {
InspectorTest.expectEqual(result, true, "Page should now match print media.");
});
InspectorTest.evaluateInPage("getComputedStyle(document.body).color", (error, result) => {
InspectorTest.expectEqual(result, "rgb(0, 128, 0)", "Body color should be green.");
resolve();
});
});
}
});
suite.addTestCase({
name: "Page.setEmulatedMedia.reset",
description: "Should be able to reset media type to screen.",
test(resolve, reject) {
PageAgent.setEmulatedMedia("", (error) => {
InspectorTest.evaluateInPage("mediaQueryList.matches", (error, result) => {
InspectorTest.expectEqual(result, false, "Page should now not match print media.");
});
InspectorTest.evaluateInPage("getComputedStyle(document.body).color", (error, result) => {
InspectorTest.expectEqual(result, "rgb(0, 0, 255)", "Page should now match print media.");
resolve();
});
});
}
});
suite.runTestCasesAndFinish();
}
</script>
</head>
<body onload="runTest()">
<p>Tests for the Page.setEmulatedMedia command.</p>
</body>
</html>