<!
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>