| Yoav Weiss | 807956f | 2019-09-11 13:36:57 | [diff] [blame] | 1 | <!doctype html> |
| 2 | <html> |
| 3 | <head> |
| 4 | <script src="/resources/testharness.js"></script> |
| 5 | <script src="/resources/testharnessreport.js"></script> |
| 6 | </head> |
| 7 | <body> |
| 8 | <img src="resources/status-code.py?status=200"> |
| 9 | <img src="resources/status-code.py?status=307"> |
| 10 | <img src="resources/status-code.py?status=404"> |
| 11 | <img src="resources/status-code.py?status=502"> |
| Nicolás Peña Moreno | f4bf034 | 2020-05-06 21:07:58 | [diff] [blame] | 12 | <script src="resources/status-code.py?status=200&script=1"></script> |
| 13 | <script src="resources/status-code.py?status=307&script=1"></script> |
| 14 | <script src="resources/status-code.py?status=404&script=1"></script> |
| 15 | <script src="resources/status-code.py?status=502&script=1"></script> |
| Yoav Weiss | 807956f | 2019-09-11 13:36:57 | [diff] [blame] | 16 | <script> |
| 17 | async_test(t => { |
| Nicolás Peña Moreno | f4bf034 | 2020-05-06 21:07:58 | [diff] [blame] | 18 | window.addEventListener("load", t.step_func_done(() => { |
| Yoav Weiss | 807956f | 2019-09-11 13:36:57 | [diff] [blame] | 19 | const images = document.getElementsByTagName("img"); |
| 20 | for (let img of images) { |
| Yoav Weiss | d9a933a | 2021-01-07 20:31:48 | [diff] [blame] | 21 | const entries = performance.getEntriesByName(img.src); |
| 22 | assert_greater_than(entries.length, 0, img.src); |
| 23 | assert_greater_than(entries[0].duration, 0, img.src); |
| Yoav Weiss | 807956f | 2019-09-11 13:36:57 | [diff] [blame] | 24 | } |
| Nicolás Peña Moreno | f4bf034 | 2020-05-06 21:07:58 | [diff] [blame] | 25 | const scripts = document.getElementsByTagName("script"); |
| Jonathan Lee | dbf4b1c | 2024-09-27 22:17:02 | [diff] [blame] | 26 | let ignoredScripts = 0; |
| Nicolás Peña Moreno | f4bf034 | 2020-05-06 21:07:58 | [diff] [blame] | 27 | for (let script of scripts) { |
| Jonathan Lee | dbf4b1c | 2024-09-27 22:17:02 | [diff] [blame] | 28 | if (!script.src || script.src.match(/testharness(report)?\.js$/)) { |
| 29 | // Ignore this script, which has no src value, and the `testharness*.js` |
| 30 | // scripts. `testharness*.js` may be cached from a previous test and |
| 31 | // served quickly enough for a coarsened `duration` to be zero exactly. |
| 32 | ignoredScripts++; |
| 33 | } else { |
| Yoav Weiss | d9a933a | 2021-01-07 20:31:48 | [diff] [blame] | 34 | const entries = performance.getEntriesByName(script.src); |
| 35 | assert_greater_than(entries.length, 0, script.src); |
| 36 | assert_greater_than(entries[0].duration, 0, script.src); |
| Nicolás Peña Moreno | f4bf034 | 2020-05-06 21:07:58 | [diff] [blame] | 37 | } |
| 38 | } |
| Jonathan Lee | dbf4b1c | 2024-09-27 22:17:02 | [diff] [blame] | 39 | assert_equals(ignoredScripts, 3); |
| Yoav Weiss | 807956f | 2019-09-11 13:36:57 | [diff] [blame] | 40 | })); |
| 41 | }, "Make sure all status codes are reported"); |
| 42 | </script> |