server_timing_header-parsing.https.html (2147B)
1 <!DOCTYPE html> 2 <!-- 3 tests generated by: 4 https://github.com/cvazac/generate-server-timing-tests 5 --> 6 7 <head> 8 <meta charset='utf-8' /> 9 <script src="/resources/testharness.js"></script> 10 <script src="/resources/testharnessreport.js"></script> 11 <script src="/common/performance-timeline-utils.js"></script> 12 <script> 13 setup({explicit_done: true}) 14 const tests = [] 15 const urlToIndex = {} 16 function testServerTiming(script, expectedResults) { 17 const url = script.src 18 tests[urlToIndex[url]] = {url, expectedResults} 19 } 20 function runTests() { 21 tests.forEach(function({url, expectedResults}) { 22 const {serverTiming} = performance.getEntriesByName(url)[0] 23 const fileName = url.substring(url.lastIndexOf('/') + 1) 24 25 test_equals(serverTiming.length, expectedResults.length, `${fileName} - count (${serverTiming.length} ?== ${expectedResults.length})`) 26 27 expectedResults.forEach(function(expectedResult, i) { 28 const dur = expectedResult.dur || 0 29 const desc = expectedResult.desc || '' 30 const index = expectedResults.length === 1 ? '' : `[${i}].` 31 const actual = serverTiming[i] 32 if (actual === undefined) { 33 // Protect against more expected results than actual results. 34 return 35 } 36 test_equals(expectedResult.name, actual.name, 37 `${fileName} - ${index}name (${expectedResult.name} ?== ${actual.name})`) 38 test_equals(dur, actual.duration, 39 `${fileName} - ${index}duration (${dur} ?== ${actual.duration})`) 40 test_equals(desc, actual.description, 41 `${fileName} - ${index}description (${desc} ?== ${actual.description})`) 42 }) 43 }) 44 done() 45 } 46 for (let i = 0; i <= 84; i++) { 47 const script = document.createElement('script') 48 script.src = `./resources/parsing/${i}.js` 49 document.getElementsByTagName('head')[0].appendChild(script) 50 urlToIndex[script.src] = i 51 } 52 delayedLoadListener(runTests) 53 </script> 54 </head>