54 lines
2.1 KiB
HTML
54 lines
2.1 KiB
HTML
<!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>
|