<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Security-Policy" content="script-src 'unsafe-inline' 'unsafe-eval'">
</head>
<pre>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

var id_string = setInterval("clearInterval(id_string); alert('PASS 1 of 2')", 0);
if (id_string == 0)
    document.write('FAIL: Return value for string (should not be 0): ' + id_string);

var id_function = setInterval(function() {
  clearInterval(id_function);
  alert('PASS 2 of 2');
  if (window.testRunner)
      testRunner.notifyDone();
}, 0);
if (id_function == 0)
    document.write('FAIL: Return value for function (should not be 0): ' + id_function);
</script>
</pre>
</body>
</html>
