Modified: incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-api/src/test/java/org/apache/myfaces/adfbuild/test/FacesTestCase.java URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-api/src/test/java/org/apache/myfaces/adfbuild/test/FacesTestCase.java?rev=421025&r1=421024&r2=421025&view=diff ============================================================================== --- incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-api/src/test/java/org/apache/myfaces/adfbuild/test/FacesTestCase.java (original) +++ incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-api/src/test/java/org/apache/myfaces/adfbuild/test/FacesTestCase.java Tue Jul 11 16:29:16 2006 @@ -23,19 +23,22 @@ import javax.faces.FactoryFinder; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; +import javax.faces.render.RenderKit; import javax.faces.render.RenderKitFactory; -import junit.framework.Test; -import junit.framework.TestCase; - -import javax.faces.render.MockRenderKitFactory; +import org.apache.shale.test.jmock.AbstractJsfTestCase; +import org.apache.shale.test.mock.MockFacesContext; +import org.apache.shale.test.mock.MockRenderKitFactory; +import org.jmock.Mock; /** * Base class for JavaServer Faces unit tests. - * + * Acts as a wrapper class to <code>AbstractJsfTestCase</code> + * * @author John Fallows + * @author Matthias Wessendorf */ -public class FacesTestCase extends TestCase +public class FacesTestCase extends AbstractJsfTestCase { /** * Creates a new FacesTestCase. @@ -48,14 +51,21 @@ super(testName); } - protected void setUp() + public void setUp() { - setupFactoryFinder(); + super.setUp(); + facesContext.getViewRoot().setRenderKitId("org.apache.myfaces.adf.core"); + RenderKitFactory renderKitFactory = (RenderKitFactory) + FactoryFinder.getFactory(FactoryFinder.RENDER_KIT_FACTORY); + Mock mockRenderKitty = mock(RenderKit.class); + RenderKit renderKit = (RenderKit) mockRenderKitty.proxy(); + _mockRenderKit = new MockRenderKitWrapper(mockRenderKitty, renderKit); + renderKitFactory.addRenderKit("org.apache.myfaces.adf.core", renderKit); } - protected void tearDown() + public void tearDown() { - tearDownFactoryFinder(); + super.tearDown(); } /** @@ -66,7 +76,7 @@ protected RenderKitFactory setupRenderKitFactory( Class renderkitFactoryClass) { - setupFactoryFinder(); + FactoryFinder.setFactory(FactoryFinder.RENDER_KIT_FACTORY, renderkitFactoryClass.getName()); return (RenderKitFactory) @@ -75,6 +85,8 @@ /** * Configures the FactoryFinder MockRenderKitFactory implementation class. + * @TODO rename the class. + * @TODO move to Shale. */ protected MockRenderKitFactory setupMockRenderKitFactory() { @@ -82,32 +94,6 @@ setupRenderKitFactory(MockRenderKitFactory.class); } - /** - * Ensures that this test case uses its own FactoryFinder to avoid - * side effects between tests. - */ - protected void setupFactoryFinder() - { - Thread t = Thread.currentThread(); - ClassLoader ccl = t.getContextClassLoader(); - t.setContextClassLoader(TestClassLoader.getTestClassLoader(ccl, this)); - } - - /** - * Tears down the FactoryFinder for this test case to avoid - * side effects between tests. - */ - protected void tearDownFactoryFinder() - { - FactoryFinder.releaseFactories(); - Thread t = Thread.currentThread(); - ClassLoader ccl = t.getContextClassLoader(); - while (ccl instanceof TestClassLoader) - { - ccl = ccl.getParent(); - } - t.setContextClassLoader(ccl); - } /** * Renders the component tree. @@ -143,11 +129,18 @@ { TestFacesContext.setCurrentInstance(context); } + + private MockRenderKitWrapper _mockRenderKit = null; + + public MockRenderKitWrapper getMockRenderKitWrapper() + { + return _mockRenderKit; + } /** * @todo add this code to MockFacesContext */ - public static abstract class TestFacesContext extends FacesContext + public static abstract class TestFacesContext extends MockFacesContext { public static void setCurrentInstance( FacesContext context) @@ -155,45 +148,4 @@ FacesContext.setCurrentInstance(context); } } - - /** - * Internal marker to determine if we have already created - * a test context class loader. - */ - private static class TestClassLoader extends ClassLoader - { - public TestClassLoader( - ClassLoader parent, - Test test) - { - super(parent); - _test = test; - } - - public static ClassLoader getTestClassLoader( - ClassLoader cl, - Test test) - { - if (cl instanceof TestClassLoader) - { - TestClassLoader tcl = (TestClassLoader)cl; - - // if this is the right test class loader, return it - if (test == tcl._test) - return tcl; - - // strip off any TestClassLoader parents - cl = tcl.getParent(); - while (cl instanceof TestClassLoader) - { - cl = cl.getParent(); - } - } - - // return the new TestClassLoader for this test - return new TestClassLoader(cl, test); - } - - private final Test _test; - } -} +} \ No newline at end of file
Added: incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-api/src/test/java/org/apache/myfaces/adfbuild/test/MockRenderKitWrapper.java URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-api/src/test/java/org/apache/myfaces/adfbuild/test/MockRenderKitWrapper.java?rev=421025&view=auto ============================================================================== --- incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-api/src/test/java/org/apache/myfaces/adfbuild/test/MockRenderKitWrapper.java (added) +++ incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-api/src/test/java/org/apache/myfaces/adfbuild/test/MockRenderKitWrapper.java Tue Jul 11 16:29:16 2006 @@ -0,0 +1,48 @@ +/* + * Copyright 2005,2006 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.myfaces.adfbuild.test; + +import javax.faces.render.RenderKit; + +import org.jmock.Mock; + +/** + * + * @author Apache Trinidad Team + * + */ +public class MockRenderKitWrapper +{ + + public MockRenderKitWrapper(Mock mock, RenderKit renderKit) + { + _mock = mock; + _renderKit = renderKit; + } + + public Mock getMock() + { + return _mock; + } + + public RenderKit getRenderKit() + { + return _renderKit; + } + + private Mock _mock; + private RenderKit _renderKit; +} \ No newline at end of file Propchange: incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-api/src/test/java/org/apache/myfaces/adfbuild/test/MockRenderKitWrapper.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-api/src/test/java/org/apache/myfaces/adfbuild/test/MockRenderKitWrapper.java ------------------------------------------------------------------------------ svn:keywords = Date Author Id Revision HeadURL Added: incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-api/src/test/java/org/apache/myfaces/adfbuild/test/MockUIComponentWrapper.java URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-api/src/test/java/org/apache/myfaces/adfbuild/test/MockUIComponentWrapper.java?rev=421025&view=auto ============================================================================== --- incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-api/src/test/java/org/apache/myfaces/adfbuild/test/MockUIComponentWrapper.java (added) +++ incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-api/src/test/java/org/apache/myfaces/adfbuild/test/MockUIComponentWrapper.java Tue Jul 11 16:29:16 2006 @@ -0,0 +1,49 @@ +/* + * Copyright 2005,2006 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.myfaces.adfbuild.test; + +import javax.faces.component.UIComponent; + +import org.jmock.Mock; + +/** + * + * @author Apache Trinidad Team + * + */ +public class MockUIComponentWrapper +{ + + public MockUIComponentWrapper(Mock mock, UIComponent component) + { + _mock = mock; + _component = component; + } + + public Mock getMock() + { + return _mock; + } + + public UIComponent getUIComponent() + { + return _component; + } + + private Mock _mock; + private UIComponent _component; + +} \ No newline at end of file Propchange: incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-api/src/test/java/org/apache/myfaces/adfbuild/test/MockUIComponentWrapper.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-api/src/test/java/org/apache/myfaces/adfbuild/test/MockUIComponentWrapper.java ------------------------------------------------------------------------------ svn:keywords = Date Author Id Revision HeadURL Modified: incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/pom.xml URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/pom.xml?rev=421025&r1=421024&r2=421025&view=diff ============================================================================== --- incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/pom.xml (original) +++ incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/pom.xml Tue Jul 11 16:29:16 2006 @@ -216,14 +216,20 @@ </dependency> <dependency> - <groupId>javax.faces</groupId> - <artifactId>jsf-mock</artifactId> + <groupId>org.apache.shale</groupId> + <artifactId>shale-test</artifactId> <scope>test</scope> </dependency> <dependency> - <groupId>org.apache.shale</groupId> - <artifactId>shale-test</artifactId> + <groupId>jmock</groupId> + <artifactId>jmock</artifactId> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>jmock</groupId> + <artifactId>jmock-cglib</artifactId> <scope>test</scope> </dependency> Modified: incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/application/ViewHandlerImplTest.java URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/application/ViewHandlerImplTest.java?rev=421025&r1=421024&r2=421025&view=diff ============================================================================== --- incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/application/ViewHandlerImplTest.java (original) +++ incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/application/ViewHandlerImplTest.java Tue Jul 11 16:29:16 2006 @@ -15,26 +15,41 @@ */ package org.apache.myfaces.adfinternal.application; -import junit.framework.TestCase; +import junit.framework.Test; +import junit.framework.TestSuite; import javax.faces.component.UIViewRoot; import javax.faces.render.RenderKitFactory; -import org.apache.myfaces.adfinternal.renderkit.MFacesContext; +import org.apache.myfaces.adfbuild.test.FacesTestCase; import org.apache.myfaces.adfinternal.renderkit.RenderKitBootstrap; -public class ViewHandlerImplTest extends TestCase +public class ViewHandlerImplTest extends FacesTestCase { public ViewHandlerImplTest( String testName) { super(testName); + } + + public void setUp() + { + super.setUp(); + } + + public void tearDown() + { + super.tearDown(); + } + + public static Test suite() + { + return new TestSuite(ViewHandlerImplTest.class); } public void testInternalView() throws Throwable { ViewHandlerImpl vh = new ViewHandlerImpl(new NullViewHandler()); - MFacesContext facesContext = new MFacesContext(false); RenderKitBootstrap.setFactories(null); try { Modified: incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/metadata/RegionMetadataTest.java URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/metadata/RegionMetadataTest.java?rev=421025&r1=421024&r2=421025&view=diff ============================================================================== --- incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/metadata/RegionMetadataTest.java (original) +++ incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/metadata/RegionMetadataTest.java Tue Jul 11 16:29:16 2006 @@ -26,26 +26,40 @@ import javax.faces.context.FacesContext; -import junit.framework.TestCase; +import junit.framework.Test; +import junit.framework.TestSuite; import junit.textui.TestRunner; +import org.apache.myfaces.adfbuild.test.FacesTestCase; import org.apache.myfaces.adfinternal.metadata.RegionMetadata.AttributeMetaData; import org.apache.myfaces.adfinternal.metadata.RegionMetadata.ComponentMetaData; - -import javax.faces.context.MockExternalContext; - -import org.apache.myfaces.adfbuild.test.MockFContext; + /** * Test for parsing region-metadata.xml * @author Arjuna Wijeyekoon */ -public class RegionMetadataTest extends TestCase +public class RegionMetadataTest extends FacesTestCase { public RegionMetadataTest( String testName) { super(testName); + } + + public void setUp() + { + super.setUp(); + } + + public void tearDown() + { + super.tearDown(); + } + + public static Test suite() + { + return new TestSuite(RegionMetadataTest.class); } // test loading the region-metadata from the classpath: @@ -57,12 +71,10 @@ { t.setContextClassLoader(new RegionClassLoader(loader)); - MockFContext context = new MockFContext(); - ((MockExternalContext) context.getExternalContext()).setupGetContext(null); - _testRegionMetadata(context); + _testRegionMetadata(facesContext); - MockFContext.clearContext(); + //MockFContext.clearContext(); } finally { Modified: incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/renderkit/BasicHtmlRenderKit.java URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/renderkit/BasicHtmlRenderKit.java?rev=421025&r1=421024&r2=421025&view=diff ============================================================================== --- incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/renderkit/BasicHtmlRenderKit.java (original) +++ incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/renderkit/BasicHtmlRenderKit.java Tue Jul 11 16:29:16 2006 @@ -20,8 +20,6 @@ import javax.faces.component.UIComponent; import javax.faces.component.UICommand; -import javax.faces.component.UIData; -import javax.faces.component.UIForm; import javax.faces.component.UIGraphic; import javax.faces.component.UIInput; import javax.faces.component.UIMessage; Added: incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/renderkit/MFacesContext.java URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/renderkit/MFacesContext.java?rev=421025&view=auto ============================================================================== --- incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/renderkit/MFacesContext.java (added) +++ incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/renderkit/MFacesContext.java Tue Jul 11 16:29:16 2006 @@ -0,0 +1,267 @@ +/* +* Copyright 2006 The Apache Software Foundation. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +package org.apache.myfaces.adfinternal.renderkit; + +import java.io.File; +import java.io.InputStream; + +import java.net.MalformedURLException; +import java.net.URL; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +import javax.faces.application.Application; +import javax.faces.application.FacesMessage; +import javax.faces.component.UIViewRoot; +import javax.faces.context.ExternalContext; +import javax.faces.context.FacesContext; +import javax.faces.context.ResponseWriter; +import javax.faces.render.RenderKit; + +import org.apache.myfaces.adfinternal.share.config.Configuration; +import org.apache.shale.test.mock.MockExternalContext; +import org.apache.shale.test.mock.MockFacesContext; + +/** + * Mock faces context for use with unit tests + * @author Arjuna Wijeyekoon + */ +public class MFacesContext extends MockFacesContext +{ + public MFacesContext(boolean testMode) + { + setCurrentInstance(this); + _external = new External(testMode); + } + + public ResponseWriter getResponseWriter() + { + return _responseWriter; + } + + public void setResponseWriter(ResponseWriter responseWriter) + { + _responseWriter = responseWriter; + } + + public Iterator getMessages() + { + return getMessages(_GLOBAL_MESSAGE); + } + + public Iterator getMessages(String id) + { + if (id == null) + id = _GLOBAL_MESSAGE; + + List messages = (List) _messages.get(id); + if (messages == null) + messages = Collections.EMPTY_LIST; + return messages.iterator(); + } + + public void addMessage(String id, FacesMessage message) + { + if (id == null) + id = _GLOBAL_MESSAGE; + + List messages = (List) _messages.get(id); + if (messages == null) + { + messages = new ArrayList(); + _messages.put(id, messages); + } + messages.add(message); + } + + public FacesMessage.Severity getMaximumSeverity() + { + FacesMessage.Severity max = FacesMessage.SEVERITY_INFO; + + Iterator clients = getClientIdsWithMessages(); + while (clients.hasNext()) + { + String messagesKey = (String) clients.next(); + List messages = (List) _messages.get(messagesKey); + int len = _messages.size(); + for (int i = 0; i < len; i++) + { + FacesMessage fm = (FacesMessage) messages.get(i); + FacesMessage.Severity nextSev = fm.getSeverity(); + + if (max.compareTo(nextSev) < 0) + { + max = nextSev; + if (max.compareTo(FacesMessage.SEVERITY_FATAL) >= 0) + { + return max; + } + } + } + } + return max; + } + + public Iterator getClientIdsWithMessages() + { + return _messages.keySet().iterator(); + } + + public Application getApplication() + { + return MApplication.sharedInstance(); + } + + public UIViewRoot getViewRoot() + { + return _viewRoot; + } + + public void setViewRoot(UIViewRoot viewRoot) + { + _viewRoot = viewRoot; + if (_viewRoot != null) + { + _kit = RenderKitBootstrap.getRenderKit(this); + } + else + _kit = null; + } + + public static void clearContext() + { + FacesContext.setCurrentInstance(null); + } + + public Locale getLocale() + { + return Locale.ENGLISH; + } + + + public ExternalContext getExternalContext() + { + // this method is called a lot, so we don't want to use the "mock" + // implementations as those expect a specific number of calls: + return _external; + } + + public RenderKit getRenderKit() + { + if (_viewRoot == null) + throw new IllegalStateException("Trying to get a RenderKit without a UIViewRoot"); + // this method is called a lot, so we don't want to use the "mock" + // implementations as those expect a specific number of calls: + return _kit; + } + + private RenderKit _kit; + private ExternalContext _external; + private ResponseWriter _responseWriter; + private UIViewRoot _viewRoot; + private Map _messages = new HashMap(); + + private static final class External extends MockExternalContext + { + public External(boolean testMode) + { + super(null, null, null); + + _testMode = testMode; + File file = null; + try + { + String tmpdir = System.getProperty("java.io.tmpdir"); + file = new File(tmpdir, + "adftest/view/faces/cache".replace('/', + File.separatorChar)); + file.mkdirs(); + _applicationMap.put("javax.servlet.context.tempdir", file); + } + catch (Exception e) + { + System.err.println("Could not create temp directory " + file + ": " + e); + } + } + + public Object getContext() { return null; } + public Object getRequest() { return null; } + public Object getResponse() { return null; } + public Object getSession(boolean create) { return null; } + public String getRequestContextPath() { return "/test-context-path"; } + public String getRequestServletPath() { return "/test-faces"; } + public String getInitParameter(String name) + { + if (_testMode && Configuration.DISABLE_CONTENT_COMPRESSION.equals(name)) + return "true"; + // A hack to disable image generation + if ("org.apache.myfaces.adfinternal.BLOCK_IMAGE_GENERATION".equals(name)) + return "true"; + return null; + } + + public String encodeNamespace(String in) { return in; } + + public String encodeResourceURL(String url) { return "encoded-resource-url:" + url; } + public String encodeActionURL(String url) { return "encoded-action-url:" + url; } + + public Map getRequestHeaderMap() + { + return Collections.EMPTY_MAP; + } + + public Map getRequestParameterMap() + { + return Collections.EMPTY_MAP; + } + + + public InputStream getResourceAsStream(String path) + { + return MFacesContext.class.getResourceAsStream(path); + } + + public URL getResource(String path) throws MalformedURLException + { + return MFacesContext.class.getResource(path); + } + + public Map getApplicationMap() + { + // Return an unmodifiable map - noone should be putting + // things into application scope during rendering. + return Collections.unmodifiableMap(_applicationMap); + } + + public Map getRequestMap() + { + // this method is called a lot, so we don't want to use the "mock" + // implementations as those expect a specific number of calls: + return _requestMap; + } + + private final Map _requestMap = new HashMap(2); + private final Map _applicationMap = new HashMap(2); + private final boolean _testMode; + } + private static final String _GLOBAL_MESSAGE = "org.apache.myfaces.adfinternal.renderkit.MFacesContext.GLOBAL_MESSAGE"; +} \ No newline at end of file Propchange: incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/renderkit/MFacesContext.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/renderkit/MFacesContext.java ------------------------------------------------------------------------------ svn:keywords = Date Author Id Revision HeadURL Modified: incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/renderkit/core/xhtml/table/TableSelectOneRendererTest.java URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/renderkit/core/xhtml/table/TableSelectOneRendererTest.java?rev=421025&r1=421024&r2=421025&view=diff ============================================================================== --- incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/renderkit/core/xhtml/table/TableSelectOneRendererTest.java (original) +++ incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/renderkit/core/xhtml/table/TableSelectOneRendererTest.java Tue Jul 11 16:29:16 2006 @@ -21,11 +21,11 @@ import java.util.Map; import javax.faces.component.UIViewRoot; -import javax.faces.context.FacesContext; -import javax.faces.context.MockExternalContext; import javax.faces.event.FacesEvent; +import javax.faces.render.RenderKit; -import junit.textui.TestRunner; +import junit.framework.Test; +import junit.framework.TestSuite; import org.apache.myfaces.adf.component.core.data.CoreTable; import org.apache.myfaces.adf.event.SelectionEvent; @@ -33,7 +33,7 @@ import org.apache.myfaces.adf.model.RowKeySetImpl; import org.apache.myfaces.adfbuild.test.FacesTestCase; -import org.apache.myfaces.adfbuild.test.MockFContext; +import org.jmock.Mock; /** @@ -46,19 +46,20 @@ { super(testName); } - - public static void main(String[] args) + + public void setUp() { - TestRunner.run(TableSelectOneRendererTest.class); - try - { - //new TreeStateTest("test").testExpandAllDepth(); - //new TreeStateTest("test").testSerialization(); - } - catch (Throwable e) - { - e.printStackTrace(); - } + super.setUp(); + } + + public void tearDown() + { + super.tearDown(); + } + + public static Test suite() + { + return new TestSuite(TableSelectOneRendererTest.class); } /** @@ -67,12 +68,10 @@ */ public void testDecodeNothing() { - new MockFContext(); CoreTable table = _createComponent(); _doDecode(table, -1); _testSelection(table, _INIT_SELECTION); - MockFContext.clearContext(); } /** @@ -82,7 +81,6 @@ public void testDecodeSelected() { final int selectedIndex = 4; - new MockFContext(); TestTable table = (TestTable) _createComponent(); _doDecode(table, selectedIndex); @@ -105,7 +103,6 @@ table.setRowIndex(oldIndex); _testSelection(table, selectedIndex); - MockFContext.clearContext(); } private CoreTable _createComponent() @@ -137,11 +134,13 @@ private void _doDecode(CoreTable table, int selectedIndex) { - MockFContext context = (MockFContext) FacesContext.getCurrentInstance(); - context.setupGetViewRoot(new UIViewRoot()); - MockExternalContext external = - (MockExternalContext) context.getExternalContext(); + //this.facesContext.setViewRoot(new UIViewRoot()); + Mock mockRenderKit = getMockRenderKitWrapper().getMock(); + RenderKit renderKit = getMockRenderKitWrapper().getRenderKit(); + TableSelectOneRenderer renderer = new TableSelectOneRenderer(); + mockRenderKit.expects(atLeastOnce()).method("getRenderer").will(returnValue(renderer)); + if (selectedIndex >= 0) { int oldIndex = table.getRowIndex(); @@ -151,21 +150,20 @@ Map requestParams = new HashMap(2); String selectionParam = - TableSelectOneRenderer.__getSelectionParameterName(context, table); + TableSelectOneRenderer.__getSelectionParameterName(facesContext, table); requestParams.put(selectionParam, selectedParam); - external.setupGetRequestParameterMap(requestParams); + externalContext.setRequestParameterMap(requestParams); } else { - external.setupGetRequestParameterMap(Collections.EMPTY_MAP); + externalContext.setRequestParameterMap(Collections.EMPTY_MAP); } - TableSelectOneRenderer renderer = new TableSelectOneRenderer(); - renderer.decode(context, table); + renderer.decode(facesContext, table); + + mockRenderKit.verify(); - external.verify(); - context.verify(); } private static class TestTable extends CoreTable Modified: incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/uinode/nav/GoButtonFacesBeanTest.java URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/uinode/nav/GoButtonFacesBeanTest.java?rev=421025&r1=421024&r2=421025&view=diff ============================================================================== --- incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/uinode/nav/GoButtonFacesBeanTest.java (original) +++ incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/uinode/nav/GoButtonFacesBeanTest.java Tue Jul 11 16:29:16 2006 @@ -15,22 +15,16 @@ */ package org.apache.myfaces.adfinternal.uinode.nav; -import junit.framework.TestCase; - -import javax.faces.context.MockExternalContext; -import javax.faces.context.MockFacesContext; +import junit.framework.Test; +import junit.framework.TestSuite; import org.apache.myfaces.adfinternal.ui.UIConstants; -import org.apache.myfaces.adf.bean.FacesBean; -import org.apache.myfaces.adf.bean.FacesBeanFactory; -import org.apache.myfaces.adf.component.UIXComponent; import org.apache.myfaces.adf.component.core.nav.CoreGoButton; -//import org.apache.myfaces.adfinternal.MockUIXComponent; import org.apache.myfaces.adfinternal.uinode.UINodeFacesBean; import org.apache.myfaces.adfinternal.uinode.UINodeFacesBeanTestCase; -import org.apache.myfaces.adfinternal.uinode.UINodePropertyKey; +import org.apache.shale.test.mock.MockExternalContext; /** * Unit tests for GoButtonFacesBean. @@ -51,6 +45,20 @@ super(testName); } + public void setUp() + { + super.setUp(); + } + + public void tearDown() + { + super.tearDown(); + } + + public static Test suite() + { + return new TestSuite(GoButtonFacesBeanTest.class); + } /** * Tests that UINode property keys correctly update UINode attributes. @@ -66,14 +74,13 @@ assertEquals(fb.getUINode().getAttributeValue( null, UIConstants.DESTINATION_ATTR), "someURL"); + + //setting up the context path + request.setPathElements("/foo", null, null, null); + externalContext = new MockExternalContext(servletContext, request, response); + setCurrentContext(facesContext); - MockExternalContext external = new MockExternalContext(); - MockFacesContext context = new MockFacesContext(); - setCurrentContext(context); - - context.setupGetExternalContext(external); - external.setupGetRequestContextPath("/foo"); - + fb.setProperty(CoreGoButton.DESTINATION_KEY, "/someURL"); // Verify a context-relative URL gets recorded correctly assertEquals(fb.getUINode().getAttributeValue( Modified: incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/validator/ByteLengthValidatorTest.java URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/validator/ByteLengthValidatorTest.java?rev=421025&r1=421024&r2=421025&view=diff ============================================================================== --- incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/validator/ByteLengthValidatorTest.java (original) +++ incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/adf-faces-impl/src/test/java/org/apache/myfaces/adfinternal/validator/ByteLengthValidatorTest.java Tue Jul 11 16:29:16 2006 @@ -15,28 +15,45 @@ */ package org.apache.myfaces.adfinternal.validator; + import java.util.Locale; +import javax.faces.component.UIComponent; import javax.faces.component.UIViewRoot; -import junit.framework.TestCase; +import org.apache.myfaces.adfbuild.test.AbstractBaseTestCase; +import org.jmock.Mock; -import javax.faces.component.MockUIComponent; -import javax.faces.context.MockFacesContext; +import junit.framework.Test; +import junit.framework.TestSuite; -import org.apache.myfaces.adfbuild.test.MockUtils; /** * Tests for ByteLenghtValidator which renderes the client side scripts. * the ByteLengthValidator class. * @author Vijay Venkataraman ([EMAIL PROTECTED]) */ -public class ByteLengthValidatorTest extends TestCase +public class ByteLengthValidatorTest extends AbstractBaseTestCase { public ByteLengthValidatorTest(String name) { super(name); } + + public void setUp() + { + super.setUp(); + } + + public void tearDown() + { + super.tearDown(); + } + + public static Test suite() + { + return new TestSuite(ByteLengthValidatorTest.class); + } public void testPickedUpClientByteLengthValidator() { @@ -50,28 +67,27 @@ String expectedConstructorName ) { - MockFacesContext context = new MockFacesContext(); - MockUIComponent component = MockUtils.buildMockUIComponent(); + + Mock mockComponent = buildMockUIComponent(); + UIComponent component = (UIComponent) mockComponent.proxy(); UIViewRoot uiRoot = new UIViewRoot(); uiRoot.setLocale(Locale.US); for (int i = 0; i < 4; i++) - context.setupGetViewRoot(uiRoot); + facesContext.setViewRoot(uiRoot); ByteLengthValidator blv = new ByteLengthValidator(); blv.setEncoding(encoding); - String libKey = blv.getLibKey(context, component); - String constructorInfo = blv.getClientValidation(context, component); - String clientScript = blv.getClientScript(context, component); + String libKey = blv.getLibKey(facesContext, component); + String constructorInfo = blv.getClientValidation(facesContext, component); + String clientScript = blv.getClientScript(facesContext, component); assertEquals(null, clientScript); assertEquals(true, libKey.equals(expectedConstructorName + "()")); assertEquals(true, constructorInfo.startsWith("new " + expectedConstructorName)); - context.verify(); - component.verify(); } /** Modified: incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/pom.xml URL: http://svn.apache.org/viewvc/incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/pom.xml?rev=421025&r1=421024&r2=421025&view=diff ============================================================================== --- incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/pom.xml (original) +++ incubator/adffaces/branches/matzew-mock-overhaul/adf-faces/pom.xml Tue Jul 11 16:29:16 2006 @@ -324,13 +324,6 @@ </dependency> <dependency> - <groupId>javax.faces</groupId> - <artifactId>jsf-mock</artifactId> - <version>1.1_01</version> - <scope>test</scope> - </dependency> - - <dependency> <groupId>org.apache.shale</groupId> <artifactId>shale-test</artifactId> <version>1.0.3-SNAPSHOT</version>
