From: <rb...@us...> - 2017-12-21 13:04:22
|
Revision: 15030 http://sourceforge.net/p/htmlunit/code/15030 Author: rbri Date: 2017-12-21 13:04:19 +0000 (Thu, 21 Dec 2017) Log Message: ----------- make our test suite working again and some cleanup (wip) Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/MockWebConnection.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlForm2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/LocationTest.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/MockWebConnection.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/MockWebConnection.java 2017-12-21 07:59:03 UTC (rev 15029) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/MockWebConnection.java 2017-12-21 13:04:19 UTC (rev 15030) @@ -38,6 +38,7 @@ * @author Marc Guillemot * @author Brad Clarke * @author Ahmed Ashour + * @author Ronald Brill */ public class MockWebConnection implements WebConnection { @@ -179,17 +180,23 @@ requestedUrls_.add(url); String urlString = url.toExternalForm(); - final int queryStart = urlString.lastIndexOf('?'); - if (queryStart > -1) { - urlString = urlString.substring(0, queryStart); - } RawResponseData rawResponse = responseMap_.get(urlString); if (rawResponse == null) { - rawResponse = defaultResponse_; + // try to find without query params + final int queryStart = urlString.lastIndexOf('?'); + if (queryStart > -1) { + urlString = urlString.substring(0, queryStart); + rawResponse = responseMap_.get(urlString); + } + + // fall back to default if (rawResponse == null) { - throw new IllegalStateException("No response specified that can handle URL [" - + urlString - + "]"); + rawResponse = defaultResponse_; + if (rawResponse == null) { + throw new IllegalStateException("No response specified that can handle URL [" + + urlString + + "]"); + } } } Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlForm2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlForm2Test.java 2017-12-21 07:59:03 UTC (rev 15029) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlForm2Test.java 2017-12-21 13:04:19 UTC (rev 15030) @@ -49,6 +49,7 @@ import com.gargoylesoftware.htmlunit.MockWebConnection; import com.gargoylesoftware.htmlunit.WebDriverTestCase; import com.gargoylesoftware.htmlunit.util.NameValuePair; +import com.gargoylesoftware.htmlunit.util.UrlUtils; /** * Tests for {@link HtmlForm}, with BrowserRunner. @@ -669,7 +670,8 @@ driver.findElement(By.id("myButton")).click(); assertEquals(2, getMockWebConnection().getRequestCount()); - assertEquals(URL_SECOND.toString(), getMockWebConnection().getLastWebRequest().getUrl()); + assertEquals(URL_SECOND.toString(), + UrlUtils.getUrlWithNewQuery(getMockWebConnection().getLastWebRequest().getUrl(), null)); assertEquals(getExpectedAlerts()[0], getMockWebConnection().getLastWebRequest().getHttpMethod().name()); } Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/LocationTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/LocationTest.java 2017-12-21 07:59:03 UTC (rev 15029) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/LocationTest.java 2017-12-21 13:04:19 UTC (rev 15030) @@ -202,8 +202,6 @@ */ @Test public void setPathname() throws Exception { - final WebClient webClient = getWebClient(); - final MockWebConnection webConnection = new MockWebConnection(); final URL url = new URL("http://abc.com/index.html?blah=bleh"); final URL url2 = new URL("http://abc.com/en/index.html?blah=bleh"); final String html @@ -210,11 +208,11 @@ = "<html><head><title>Test 1</title></head>\n" + "<body onload='location.pathname=\"/en/index.html\"'>...</body></html>"; final String html2 = "<html><head><title>Test 2</title></head><body>...</body></html>"; - webConnection.setResponse(url, html); - webConnection.setResponse(url2, html2); - webClient.setWebConnection(webConnection); - final HtmlPage page = webClient.getPage(url); + getMockWebConnection().setResponse(url, html); + getMockWebConnection().setResponse(url2, html2); + + final HtmlPage page = getWebClientWithMockWebConnection().getPage(url); assertEquals("Test 2", page.getTitleText()); assertEquals(url2.toExternalForm(), page.getUrl().toExternalForm()); } @@ -246,8 +244,6 @@ */ @Test public void setProtocol() throws Exception { - final WebClient webClient = getWebClient(); - final MockWebConnection webConnection = new MockWebConnection(); final URL url = new URL("http://abc.com/index.html?blah=bleh"); final URL url2 = new URL("ftp://abc.com/index.html?blah=bleh"); final String html @@ -254,11 +250,11 @@ = "<html><head><title>Test 1</title></head>\n" + "<body onload='location.protocol=\"ftp\"'>...</body></html>"; final String html2 = "<html><head><title>Test 2</title></head><body>...</body></html>"; - webConnection.setResponse(url, html); - webConnection.setResponse(url2, html2); - webClient.setWebConnection(webConnection); - final HtmlPage page = webClient.getPage(url); + getMockWebConnection().setResponse(url, html); + getMockWebConnection().setResponse(url2, html2); + + final HtmlPage page = getWebClientWithMockWebConnection().getPage(url); assertEquals("Test 2", page.getTitleText()); assertEquals(url2.toExternalForm(), page.getUrl().toExternalForm()); } |