| <!DOCTYPE html> | |
| <!-- | |
| tests generated by: | |
| https://github.com/cvazac/generate-server-timing-tests | |
| --> | |
| <head> | |
| <meta charset='utf-8' /> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="/common/performance-timeline-utils.js"></script> | |
| <script> | |
| setup({explicit_done: true}) | |
| const tests = [] | |
| const urlToIndex = {} | |
| function testServerTiming(script, expectedResults) { | |
| const url = script.src | |
| tests[urlToIndex[url]] = {url, expectedResults} | |
| } | |
| function runTests() { | |
| tests.forEach(function({url, expectedResults}) { | |
| const {serverTiming} = performance.getEntriesByName(url)[0] | |
| const fileName = url.substring(url.lastIndexOf('/') + 1) | |
| test_equals(serverTiming.length, expectedResults.length, `${fileName} - count (${serverTiming.length} ?== ${expectedResults.length})`) | |
| expectedResults.forEach(function(expectedResult, i) { | |
| const dur = expectedResult.dur || 0 | |
| const desc = expectedResult.desc || '' | |
| const index = expectedResults.length === 1 ? '' : `[${i}].` | |
| const actual = serverTiming[i] | |
| if (actual === undefined) { | |
| // Protect against more expected results than actual results. | |
| return | |
| } | |
| test_equals(expectedResult.name, actual.name, | |
| `${fileName} - ${index}name (${expectedResult.name} ?== ${actual.name})`) | |
| test_equals(dur, actual.duration, | |
| `${fileName} - ${index}duration (${dur} ?== ${actual.duration})`) | |
| test_equals(desc, actual.description, | |
| `${fileName} - ${index}description (${desc} ?== ${actual.description})`) | |
| }) | |
| }) | |
| done() | |
| } | |
| for (let i = 0; i <= 84; i++) { | |
| const script = document.createElement('script') | |
| script.src = `./resources/parsing/${i}.js` | |
| document.getElementsByTagName('head')[0].appendChild(script) | |
| urlToIndex[script.src] = i | |
| } | |
| delayedLoadListener(runTests) | |
| </script> | |
| </head> |