ICEfaces4 trunk revision# 40082 Test Results
Test app is located at: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Manual/videoPlayer
1) The video does not play on page load when using autoplay=true.
2) Setting the value attribute to null or an empty string throws an exception:
java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(String.java:658)
at com.sun.faces.application.view.MultiViewHandler.getResourceURL(MultiViewHandler.java:383)
at javax.faces.application.ViewHandlerWrapper.getResourceURL(ViewHandlerWrapper.java:291)
at org.icefaces.impl.application.ExternalServletContextSetup.getResourceURL(ExternalServletContextSetup.java:43)
at org.icefaces.ace.util.MediaPlayerUtils.processStaticSrc(MediaPlayerUtils.java:67)
at org.icefaces.ace.util.MediaPlayerUtils.processSrcAttribute(MediaPlayerUtils.java:92)
at org.icefaces.ace.util.MediaPlayerUtils.deriveAndSetSourceAttribute(MediaPlayerUtils.java:53)
at org.icefaces.ace.component.videoplayer.VideoPlayerRenderer.encodeEnd(VideoPlayerRenderer.java:42)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1903)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
at org.icefaces.impl.renderkit.RendererWrapper.encodeChildren(RendererWrapper.java:49)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1896)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899)
at org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:162)
at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:1004)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1896)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:425)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
3) The url attribute is not being used at all, even if the value attribute is not present the URL attribute does nothing.
4) Changing the value attribute dynamically when using a byte array does nothing, the video source stays as what it was originally. No dynamic issues when using a filename or JSF resource as the value.
5) In the add row to top/bottom tests, sometimes adding rows will cause the videoPlayers on the page to disappear. They don't show up again unless you clear the cache and reload the page. In the console there is a warning:
Media resource (url-to-file) could not be decoded.
6) Not sure what playsinline is supposed to do. On all browsers I tried the video always played inline even if this attribute was false.
7) Need more info / further test instructions on the scope attribute.
ICEfaces4 trunk revision# 40082 Test Results
Test app is located at: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Manual/videoPlayer
1) The video does not play on page load when using autoplay=true.
2) Setting the value attribute to null or an empty string throws an exception:
java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(String.java:658)
at com.sun.faces.application.view.MultiViewHandler.getResourceURL(MultiViewHandler.java:383)
at javax.faces.application.ViewHandlerWrapper.getResourceURL(ViewHandlerWrapper.java:291)
at org.icefaces.impl.application.ExternalServletContextSetup.getResourceURL(ExternalServletContextSetup.java:43)
at org.icefaces.ace.util.MediaPlayerUtils.processStaticSrc(MediaPlayerUtils.java:67)
at org.icefaces.ace.util.MediaPlayerUtils.processSrcAttribute(MediaPlayerUtils.java:92)
at org.icefaces.ace.util.MediaPlayerUtils.deriveAndSetSourceAttribute(MediaPlayerUtils.java:53)
at org.icefaces.ace.component.videoplayer.VideoPlayerRenderer.encodeEnd(VideoPlayerRenderer.java:42)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1903)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
at org.icefaces.impl.renderkit.RendererWrapper.encodeChildren(RendererWrapper.java:49)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1896)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1899)
at org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:162)
at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:1004)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1896)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:425)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
3) The url attribute is not being used at all, even if the value attribute is not present the URL attribute does nothing.
4) Changing the value attribute dynamically when using a byte array does nothing, the video source stays as what it was originally. No dynamic issues when using a filename or JSF resource as the value.
5) In the add row to top/bottom tests, sometimes adding rows will cause the videoPlayers on the page to disappear. They don't show up again unless you clear the cache and reload the page. In the console there is a warning:
Media resource (url-to-file) could not be decoded.
6) Not sure what playsinline is supposed to do. On all browsers I tried the video always played inline even if this attribute was false.
7) Need more info / further test instructions on the scope attribute.