blob: 65c8c061ada5ba94b1b6fc6a9b130a5629d72076 [file] [log] [blame]
Kunihiko Sakamotofc9b6502018-02-22 06:31:541<!DOCTYPE html>
Rob Buisb1ef6ae2019-05-16 13:44:462<title>Makes sure that Link headers preload images with imagesrcset/imagesizes attributes.</title>
Kunihiko Sakamotofc9b6502018-02-22 06:31:543<link rel="help" href="https://github.com/w3c/preload/issues/120">
4<script src="/resources/testharness.js"></script>
5<script src="/resources/testharnessreport.js"></script>
6<script src="/preload/resources/preload_helper.js"></script>
Kunihiko Sakamotofc9b6502018-02-22 06:31:547<body>
Kunihiko Sakamotofc9b6502018-02-22 06:31:548<script>
jugglinmike306dc502019-10-26 07:19:269 setup({single_test: true});
Rob Buisb1ef6ae2019-05-16 13:44:4610
11 var iterations = 0;
Rob Buisb0fefa62019-06-04 16:11:4712 var expectation = new Array(10).fill(0);
13 if (window.devicePixelRatio < 1.5) {
14 expectation[0] = expectation[5] = expectation[8] = 1;
15 } else if (window.devicePixelRatio >= 1.5) {
16 expectation[1] = expectation[6] = expectation[9] = 1;
17 }
Rob Buisb1ef6ae2019-05-16 13:44:4618
19 function check_finished() {
Rob Buisb0fefa62019-06-04 16:11:4720 if (numberOfResourceTimingEntries('resources/square.png?from-header&1x') == expectation[0] &&
21 numberOfResourceTimingEntries('resources/square.png?from-header&2x') == expectation[1] &&
22 numberOfResourceTimingEntries('resources/square.png?from-header&3x') == expectation[2] &&
23 numberOfResourceTimingEntries('resources/square.png?from-header&base') == expectation[3] &&
24 numberOfResourceTimingEntries('resources/square.png?from-header&200') == expectation[4] &&
25 numberOfResourceTimingEntries('resources/square.png?from-header&400') == expectation[5] &&
26 numberOfResourceTimingEntries('resources/square.png?from-header&800') == expectation[6] &&
27 numberOfResourceTimingEntries('resources/square.png?from-header&150') == expectation[7] &&
28 numberOfResourceTimingEntries('resources/square.png?from-header&300') == expectation[8] &&
29 numberOfResourceTimingEntries('resources/square.png?from-header&600') == expectation[9]) {
Rob Buisb1ef6ae2019-05-16 13:44:4630 done();
31 }
32 iterations++;
33 if (iterations == 10) {
34 // At least one is expected to fail, but this should give details to the exact failure(s).
Rob Buisb0fefa62019-06-04 16:11:4735 verifyNumberOfResourceTimingEntries('resources/square.png?from-header&1x', expectation[0]);
36 verifyNumberOfResourceTimingEntries('resources/square.png?from-header&2x', expectation[1]);
37 verifyNumberOfResourceTimingEntries('resources/square.png?from-header&3x', expectation[2]);
38 verifyNumberOfResourceTimingEntries('resources/square.png?from-header&base', expectation[3]);
39 verifyNumberOfResourceTimingEntries('resources/square.png?from-header&200', expectation[4]);
40 verifyNumberOfResourceTimingEntries('resources/square.png?from-header&400', expectation[5]);
41 verifyNumberOfResourceTimingEntries('resources/square.png?from-header&800', expectation[6]);
42 verifyNumberOfResourceTimingEntries('resources/square.png?from-header&150', expectation[7]);
43 verifyNumberOfResourceTimingEntries('resources/square.png?from-header&300', expectation[8]);
44 verifyNumberOfResourceTimingEntries('resources/square.png?from-header&600', expectation[9]);
Rob Buisb1ef6ae2019-05-16 13:44:4645 done();
46 } else {
47 step_timeout(check_finished, 500);
48 }
49 }
50
51 window.addEventListener("load", function() {
52 verifyPreloadAndRTSupport();
53 step_timeout(check_finished, 500);
54 });
Kunihiko Sakamotofc9b6502018-02-22 06:31:5455</script>
56</body>