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>


Reply via email to