Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /server-timing/server_timing_header-parsing.https.html - WPT Dashboard Interop Dashboard
<!DOCTYPE html>
<!--
tests generated by:
-->
<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>