1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.htmlunit;
16
17 import java.net.URL;
18
19 import org.htmlunit.html.HtmlPage;
20 import org.junit.jupiter.api.Test;
21
22
23
24
25
26
27
28 public final class NiceRefreshHandlerTest extends SimpleWebTestCase {
29
30
31
32
33 @Test
34 public void refreshImmediatelyForDelaySmallerThanMax() throws Exception {
35 doTest(2, URL_THIRD);
36 }
37
38
39
40
41 @Test
42 public void noRefreshForDelayLargerThanMax() throws Exception {
43 doTest(1, URL_FIRST);
44 }
45
46 private void doTest(final int handlerMaxDelay, final URL expectedUrl) throws Exception {
47 final String html = DOCTYPE_HTML
48 + "<html>\n"
49 + "<head><title>Meta Redirect Page</title>\n"
50 + "<meta http-equiv='Refresh' content='2; URL=" + URL_THIRD + "'>\n"
51 + "</head>\n"
52 + "<body>redirect page body</body>\n"
53 + "</html>";
54
55 final WebClient client = getWebClientWithMockWebConnection();
56 final MockWebConnection conn = getMockWebConnection();
57 conn.setResponse(URL_FIRST, html);
58 conn.setDefaultResponse("");
59 client.setRefreshHandler(new NiceRefreshHandler(handlerMaxDelay));
60
61 final HtmlPage page = client.getPage(URL_FIRST);
62 assertEquals(expectedUrl, page.getUrl());
63 }
64 }