[ https://issues.apache.org/jira/browse/TAP5-1770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13447406#comment-13447406 ]
Serge Eby commented on TAP5-1770: --------------------------------- Can someone look into this trivial fix? > PageTester causes StringIndexOutOfBoundsException for any page request path > with query parameter > ------------------------------------------------------------------------------------------------ > > Key: TAP5-1770 > URL: https://issues.apache.org/jira/browse/TAP5-1770 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-test > Affects Versions: 5.3 > Reporter: Kevin Lin > > I was running a web test using the latest source code from testify on a T5.3 > application. And I get the following exception for any tests that contains a > request/event: > java.lang.StringIndexOutOfBoundsException: String index out of range: -1 > at java.lang.String.substring(String.java:1937) > at java.lang.String.substring(String.java:1904) > at > org.apache.tapestry5.test.PageTester.setupRequestFromURI(PageTester.java:345) > at > org.apache.tapestry5.test.PageTester.setupRequestFromLink(PageTester.java:331) > at > org.apache.tapestry5.test.PageTester.runComponentEventRequest(PageTester.java:313) > at > org.apache.tapestry5.test.PageTester.clickLinkAndReturnResponse(PageTester.java:264) > ... > At bit digging through the code shows that there is mostly a coding bug in > org.apache.tapestry5.test.PageTester#setupRequestFromURI() > (PageTester.java:345): > -------------------- > private void setupRequestFromURI(String URI) > { > String linkPath = stripContextFromPath(URI); > int comma = linkPath.indexOf('?'); > String path = comma < 0 ? linkPath : linkPath.substring(0, comma); > request.clear().setPath(path); > if (comma > 0) > decodeParametersIntoRequest(path.substring(comma + 1)); > } > -------------------- > The path variable is the URL path with the event parameters (?xxx) stripped, > trying to substring it again cause the IndexOutOfBounds exception. The > correct variable to pass should instead be: linkPath. A comparison with the > same class file confirms my findings. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira