<!DOCTYPE html><!-- webkit-test-runner [ RequestIdleCallbackEnabled=true ] -->
<html>
<body>
<script src="../resources/js-test.js"></script>
<script>

description('This tests that the deadline can be reached.');

jsTestIsAsync = true;

function synchronouslyWait(milliseconds) {
    let start = performance.now();
    while (performance.now() - start < milliseconds);
}

let didRunIdleCallback = false;
onload = () => {
    requestIdleCallback((idleDeadline) => {
        window.idleDeadline = idleDeadline;
        shouldBe('idleDeadline.timeRemaining()', '0');
        shouldBeTrue('idleDeadline.didTimeout');
        didRunIdleCallback = true;
    }, {timeout: 20});
    synchronouslyWait(50);
    setTimeout(() => {
        shouldBeTrue('didRunIdleCallback');
        finishJSTest();
    }, 100);
}

</script>
</body>
</html>
