Author: craigmcc Date: Wed Mar 8 18:25:34 2006 New Revision: 384404 URL: http://svn.apache.org/viewcvs?rev=384404&view=rev Log: Fix MockRenderKitFactory to address issue 38294 in a way that preserves backwards compatibility.
* Remove automatic creation of the default HTML BASIC RenderKit from the constructor of MockRenderKitFactory. * Change AbstractJsfTestCase to create a MockRenderKit instance, and add it to the factory. * To preserve backwards compatibility for users of MockRenderKitFactory that do not use AbstractJsfTestCase, make getRenderKit() create a MockRenderKit on the fly (if necessary) for the HTML BASIC render kit. PR: Bugzilla #38294 Submitted by: Dennic C Byrne <dennis AT dbyrne.net> Modified: struts/shale/trunk/test-framework/src/java/org/apache/shale/test/base/AbstractJsfTestCase.java struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockRenderKitFactory.java Modified: struts/shale/trunk/test-framework/src/java/org/apache/shale/test/base/AbstractJsfTestCase.java URL: http://svn.apache.org/viewcvs/struts/shale/trunk/test-framework/src/java/org/apache/shale/test/base/AbstractJsfTestCase.java?rev=384404&r1=384403&r2=384404&view=diff ============================================================================== --- struts/shale/trunk/test-framework/src/java/org/apache/shale/test/base/AbstractJsfTestCase.java (original) +++ struts/shale/trunk/test-framework/src/java/org/apache/shale/test/base/AbstractJsfTestCase.java Wed Mar 8 18:25:34 2006 @@ -136,8 +136,8 @@ facesContext.setApplication(application); RenderKitFactory renderKitFactory = (RenderKitFactory) FactoryFinder.getFactory(FactoryFinder.RENDER_KIT_FACTORY); - renderKit = (MockRenderKit) - renderKitFactory.getRenderKit(null, RenderKitFactory.HTML_BASIC_RENDER_KIT); + renderKit = new MockRenderKit(); + renderKitFactory.addRenderKit(RenderKitFactory.HTML_BASIC_RENDER_KIT, renderKit); } Modified: struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockRenderKitFactory.java URL: http://svn.apache.org/viewcvs/struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockRenderKitFactory.java?rev=384404&r1=384403&r2=384404&view=diff ============================================================================== --- struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockRenderKitFactory.java (original) +++ struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockRenderKitFactory.java Wed Mar 8 18:25:34 2006 @@ -42,8 +42,6 @@ public MockRenderKitFactory() { renderKits = new HashMap(); - renderKits.put(RenderKitFactory.HTML_BASIC_RENDER_KIT, - new MockRenderKit()); } @@ -80,6 +78,18 @@ } RenderKit renderKit = (RenderKit) renderKits.get(renderKitId); if (renderKit == null) { + // Issue 38294 -- We removed the automatic creation of the + // default renderkit in the constructor, allowing it to be + // added by AbstractJsfTestCase in the usual case. To preserve + // backwards compatibility, however, create one on the fly + // if the user asks for the default HTML renderkit and it has + // not been manually added yet + if (RenderKitFactory.HTML_BASIC_RENDER_KIT.equals(renderKitId)) { + renderKit = new MockRenderKit(); + renderKits.put(RenderKitFactory.HTML_BASIC_RENDER_KIT, + renderKit); + return renderKit; + } throw new IllegalArgumentException(renderKitId); } return renderKit; --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]