47 lines
No EOL
1.6 KiB
HTML
47 lines
No EOL
1.6 KiB
HTML
<!DOCTYPE html>
|
|
<meta charset="utf-8">
|
|
<title>Test fractional values in meta http-equiv=refresh</title>
|
|
<link rel="author" title="Psychpsyo" href="mailto:psychpsyo@gmail.com">
|
|
<link rel="help" href="https://html.spec.whatwg.org/#pragma-directives">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
|
|
<body>
|
|
<script>
|
|
async function measureRefreshTime(src) {
|
|
const frame = document.createElement("iframe");
|
|
document.body.appendChild(frame);
|
|
|
|
const loadPromise = new Promise(resolve => {
|
|
frame.addEventListener("load", () => {
|
|
resolve(performance.now());
|
|
});
|
|
});
|
|
frame.src = src;
|
|
const startTime = await loadPromise;
|
|
|
|
const unloadPromise = new Promise(resolve => {
|
|
frame.contentWindow.addEventListener("beforeunload", () => {
|
|
resolve(performance.now());
|
|
});
|
|
});
|
|
const endTime = await unloadPromise;
|
|
return endTime - startTime;
|
|
}
|
|
|
|
promise_test(async test => {
|
|
const refreshTime = await measureRefreshTime("resources/refresh1.html");
|
|
assert_greater_than(refreshTime, 900);
|
|
}, "Ensure that refresh is observed");
|
|
|
|
promise_test(async test => {
|
|
const refreshTime = await measureRefreshTime("resources/refresh1.99.html");
|
|
assert_greater_than(refreshTime, 900);
|
|
}, "Ensure that non-fractional part in refresh time does not get discarded");
|
|
|
|
promise_test(async test => {
|
|
const refreshTime = await measureRefreshTime("resources/refresh1dotdot9dot.html");
|
|
assert_greater_than(refreshTime, 900);
|
|
}, "Ensure that multiple periods in refresh time just get ignored");
|
|
</script>
|
|
</body> |