4 Replies Latest reply on Jan 25, 2011 6:13 AM by xilosh

    Error javascript testing jsf application

    xilosh

      Hi all,

       

      I am trying to test a JSF application, it uses richfaces 3.3.3 and jsfunit 1.3.0 final. When I execute the test I'm getting an exception executing a javascript that is not present in my application. Here you can see the exception.

       

      Caused by: java.lang.IndexOutOfBoundsException: No group 2

          at java.util.regex.Matcher.group(Matcher.java:470)

          at java.util.regex.Matcher.appendReplacement(Matcher.java:737)

          at com.gargoylesoftware.htmlunit.javascript.IEConditionalCompilationScriptPreProcessor.replaceCompilationVariables(IEConditionalCompilationScriptPreProcessor.java:161)

          at com.gargoylesoftware.htmlunit.javascript.IEConditionalCompilationScriptPreProcessor.processConditionalCompilation(IEConditionalCompilationScriptPreProcessor.java:100)

          at com.gargoylesoftware.htmlunit.javascript.IEConditionalCompilationScriptPreProcessor.preProcess(IEConditionalCompilationScriptPreProcessor.java:72)

          at com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory$TimeoutContext.compileString(HtmlUnitContextFactory.java:170)

          at net.sourceforge.htmlunit.corejs.javascript.Context.compileString(Context.java:1372)

          at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$2.doRun(JavaScriptEngine.java:447)

          at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:595)

          ... 97 more

      Enclosed exception:

      java.lang.IndexOutOfBoundsException: No group 2

          at java.util.regex.Matcher.group(Matcher.java:470)

          at java.util.regex.Matcher.appendReplacement(Matcher.java:737)

          at com.gargoylesoftware.htmlunit.javascript.IEConditionalCompilationScriptPreProcessor.replaceCompilationVariables(IEConditionalCompilationScriptPreProcessor.java:161)

          at com.gargoylesoftware.htmlunit.javascript.IEConditionalCompilationScriptPreProcessor.processConditionalCompilation(IEConditionalCompilationScriptPreProcessor.java:100)

          at com.gargoylesoftware.htmlunit.javascript.IEConditionalCompilationScriptPreProcessor.preProcess(IEConditionalCompilationScriptPreProcessor.java:72)

          at com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory$TimeoutContext.compileString(HtmlUnitContextFactory.java:170)

          at net.sourceforge.htmlunit.corejs.javascript.Context.compileString(Context.java:1372)

          at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$2.doRun(JavaScriptEngine.java:447)

          at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:595)

          at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:537)

          at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:538)

          at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.compile(JavaScriptEngine.java:456)

          at com.gargoylesoftware.htmlunit.html.HtmlPage.loadJavaScriptFromUrl(HtmlPage.java:1047)

          at com.gargoylesoftware.htmlunit.html.HtmlPage.loadExternalJavaScriptFile(HtmlPage.java:959)

          at com.gargoylesoftware.htmlunit.html.HtmlScript.executeScriptIfNeeded(HtmlScript.java:363)

          at com.gargoylesoftware.htmlunit.html.HtmlScript$1.execute(HtmlScript.java:225)

          at com.gargoylesoftware.htmlunit.html.HtmlScript.onAllChildrenAddedToPage(HtmlScript.java:245)

          at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:578)

          at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)

          at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:536)

          at org.cyberneko.html.HTMLTagBalancer.callEndElement(HTMLTagBalancer.java:1136)

          at org.cyberneko.html.HTMLTagBalancer.endElement(HTMLTagBalancer.java:1038)

          at org.cyberneko.html.filters.DefaultFilter.endElement(DefaultFilter.java:206)

          at org.cyberneko.html.filters.NamespaceBinder.endElement(NamespaceBinder.java:329)

          at org.cyberneko.html.HTMLScanner$ContentScanner.scanEndElement(HTMLScanner.java:2999)

          at org.cyberneko.html.HTMLScanner$ContentScanner.scan(HTMLScanner.java:1991)

          at org.cyberneko.html.HTMLScanner.scanDocument(HTMLScanner.java:895)

          at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:499)

          at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:452)

          at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)

          at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.parse(HTMLParser.java:765)

          at com.gargoylesoftware.htmlunit.html.HTMLParser.parse(HTMLParser.java:211)

          at com.gargoylesoftware.htmlunit.html.HTMLParser.parseXHtml(HTMLParser.java:179)

          at com.gargoylesoftware.htmlunit.DefaultPageCreator.createXHtmlPage(DefaultPageCreator.java:237)

          at com.gargoylesoftware.htmlunit.DefaultPageCreator.createPage(DefaultPageCreator.java:117)

          at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:429)

          at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:307)

          at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:369)

          at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:354)

          at org.jboss.jsfunit.framework.SimpleInitialRequestStrategy.doInitialRequest(SimpleInitialRequestStrategy.java:48)

          at org.jboss.jsfunit.framework.WebClientSpec.doInitialRequest(WebClientSpec.java:259)

          at org.jboss.jsfunit.jsfsession.JSFSession.<init>(JSFSession.java:81)

          at org.jboss.jsfunit.jsfsession.JSFSession.<init>(JSFSession.java:58)

          at com.playence.media.test.JSFunitHelloWorld.setUp(JSFunitHelloWorld.java:28)

          at junit.framework.TestCase.runBare(TestCase.java:125)

          at org.apache.cactus.internal.AbstractCactusTestCase.runBareServer(AbstractCactusTestCase.java:153)

          at org.apache.cactus.internal.server.AbstractWebTestCaller.doTest(AbstractWebTestCaller.java:119)

          at org.apache.cactus.internal.server.AbstractWebTestController.handleRequest_aroundBody0(AbstractWebTestController.java:93)

          at org.apache.cactus.internal.server.AbstractWebTestController.handleRequest_aroundBody1$advice(AbstractWebTestController.java:224)

          at org.apache.cactus.internal.server.AbstractWebTestController.handleRequest(AbstractWebTestController.java)

          at org.apache.cactus.server.ServletTestRedirector.doPost_aroundBody2(ServletTestRedirector.java:101)

          at org.apache.cactus.server.ServletTestRedirector.doPost_aroundBody3$advice(ServletTestRedirector.java:224)

          at org.apache.cactus.server.ServletTestRedirector.doPost(ServletTestRedirector.java)

          at org.apache.cactus.server.ServletTestRedirector.doGet_aroundBody0(ServletTestRedirector.java:72)

          at org.apache.cactus.server.ServletTestRedirector.doGet_aroundBody1$advice(ServletTestRedirector.java:224)

          at org.apache.cactus.server.ServletTestRedirector.doGet(ServletTestRedirector.java)

          at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)

          at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

          at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)

          at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074)

          at org.jboss.jsfunit.framework.JSFUnitFilter.doFilter(JSFUnitFilter.java:119)

          at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)

          at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:343)

          at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)

          at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)

          at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)

          at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)

          at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)

          at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)

          at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)

          at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)

          at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)

          at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:112)

          at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)

          at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)

          at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)

          at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)

          at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)

          at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177)

          at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)

          at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:188)

          at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)

          at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)

          at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)

          at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)

          at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)

          at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:149)

          at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)

          at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)

          at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)

          at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)

          at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)

          at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)

          at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)

          at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)

          at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)

          at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)

          at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)

          at org.mortbay.jetty.Server.handle(Server.java:285)

          at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)

          at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:751)

          at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)

          at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)

          at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)

          at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)

          at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)

      == CALLING JAVASCRIPT ==

      // html5shiv MIT @rem remysharp.com/html5-enabling-script

      // iepp v1.6.2 MIT @jon_neal iecss.com/print-protector

      /*@cc_on(function(m,c){var z="abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video";function n(d){for(var a=-1;++a<o;)d.createElement(i[a])}function p(d,a){for(var e=-1,b=d.length,j,q=[];++e<b;){j=d[e];if((a=j.media||a)!="screen")q.push(p(j.imports,a),j.cssText)}return q.join("")}var g=c.createElement("div");g.innerHTML="<z>i</z>";if(g.childNodes.length!==1){var i=z.split("|"),o=i.length,s=RegExp("(^|\\s)("+z+")",

      "gi"),t=RegExp("<(/*)("+z+")","gi"),u=RegExp("(^|[^\\n]*?\\s)("+z+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),r=c.createDocumentFragment(),k=c.documentElement;g=k.firstChild;var h=c.createElement("body"),l=c.createElement("style"),f;n(c);n(r);g.insertBefore(l,

      g.firstChild);l.media="print";m.attachEvent("onbeforeprint",function(){var d=-1,a=p(c.styleSheets,"all"),e=[],b;for(f=f||c.body;(b=u.exec(a))!=null;)e.push((b[1]+b[2]+b[3]).replace(s,"$1.iepp_$2")+b[4]);for(l.styleSheet.cssText=e.join("\n");++d<o;){a=c.getElementsByTagName(i[d]);e=a.length;for(b=-1;++b<e;)if(a[b].className.indexOf("iepp_")<0)a[b].className+=" iepp_"+i[d]}r.appendChild(f);k.appendChild(h);h.className=f.className;h.innerHTML=f.innerHTML.replace(t,"<$1font")});m.attachEvent("onafterprint",

      function(){h.innerHTML="";k.removeChild(h);k.appendChild(f);l.styleSheet.cssText=""})}})(this,document);@*/

      ======= EXCEPTION END ========