1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.htmlunit.javascript.host;
16
17 import org.htmlunit.WebDriverTestCase;
18 import org.htmlunit.junit.annotation.Alerts;
19 import org.junit.jupiter.api.Test;
20 import org.openqa.selenium.By;
21 import org.openqa.selenium.WebDriver;
22
23
24
25
26
27
28 public class WindowConcurrency2Test extends WebDriverTestCase {
29
30
31
32
33
34
35
36 @Test
37 @Alerts("xxx")
38 public void setIntervalZeroDelay() throws Exception {
39 final String html = DOCTYPE_HTML
40 + "<html><body><div id='d'></div>\n"
41 + "<script>\n"
42 + " var count = 0;\n"
43
44 + " function doTimeout() {\n"
45 + " document.getElementById('d').innerHTML += 'x';\n"
46 + " count++;\n"
47 + " if (count > 2) {\n"
48 + " clearInterval(id);\n"
49 + " }\n"
50 + " }\n"
51
52 + " var id = setInterval(doTimeout, 0);\n"
53 + "</script>\n"
54 + "</body></html>";
55
56 final WebDriver driver = loadPage2(html);
57
58 verify(() -> driver.findElement(By.id("d")).getText(), getExpectedAlerts()[0]);
59 }
60 }