You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2005/10/16 16:14:35 UTC

svn commit: r322474 - in /jakarta/tapestry/trunk/examples/Vlib/src: java/org/apache/tapestry/vlib/services/ErrorPresenterImpl.java test/org/apache/tapestry/vlib/services/ErrorPresenterTest.java

Author: hlship
Date: Sun Oct 16 07:14:30 2005
New Revision: 322474

URL: http://svn.apache.org/viewcvs?rev=322474&view=rev
Log:
Fix some problems that snuck into ErrorPresenterImpl and its test case.

Modified:
    jakarta/tapestry/trunk/examples/Vlib/src/java/org/apache/tapestry/vlib/services/ErrorPresenterImpl.java
    jakarta/tapestry/trunk/examples/Vlib/src/test/org/apache/tapestry/vlib/services/ErrorPresenterTest.java

Modified: jakarta/tapestry/trunk/examples/Vlib/src/java/org/apache/tapestry/vlib/services/ErrorPresenterImpl.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/examples/Vlib/src/java/org/apache/tapestry/vlib/services/ErrorPresenterImpl.java?rev=322474&r1=322473&r2=322474&view=diff
==============================================================================
--- jakarta/tapestry/trunk/examples/Vlib/src/java/org/apache/tapestry/vlib/services/ErrorPresenterImpl.java (original)
+++ jakarta/tapestry/trunk/examples/Vlib/src/java/org/apache/tapestry/vlib/services/ErrorPresenterImpl.java Sun Oct 16 07:14:30 2005
@@ -37,12 +37,7 @@
 
     public void presentError(String message, IRequestCycle cycle)
     {
-        IEngine engine = cycle.getEngine();
-
-        String pageName = "Home";
-
-        if (isLoggedIn())
-            pageName = "MyLibrary";
+        String pageName = isLoggedIn() ? "MyLibrary" : "Home";
 
         IErrorProperty page = (IErrorProperty) cycle.getPage(pageName);
 

Modified: jakarta/tapestry/trunk/examples/Vlib/src/test/org/apache/tapestry/vlib/services/ErrorPresenterTest.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/examples/Vlib/src/test/org/apache/tapestry/vlib/services/ErrorPresenterTest.java?rev=322474&r1=322473&r2=322474&view=diff
==============================================================================
--- jakarta/tapestry/trunk/examples/Vlib/src/test/org/apache/tapestry/vlib/services/ErrorPresenterTest.java (original)
+++ jakarta/tapestry/trunk/examples/Vlib/src/test/org/apache/tapestry/vlib/services/ErrorPresenterTest.java Sun Oct 16 07:14:30 2005
@@ -18,6 +18,7 @@
 import org.apache.tapestry.IEngine;
 import org.apache.tapestry.IPage;
 import org.apache.tapestry.IRequestCycle;
+import org.apache.tapestry.engine.state.ApplicationStateManager;
 import org.apache.tapestry.vlib.IErrorProperty;
 import org.apache.tapestry.vlib.Visit;
 
@@ -30,33 +31,62 @@
 public class ErrorPresenterTest extends HiveMindTestCase
 {
 
+    protected ErrorPresenter newErrorPresenter(ApplicationStateManager manager)
+    {
+        ErrorPresenterImpl result = new ErrorPresenterImpl();
+        result.setStateManager(manager);
+
+        return result;
+    }
+
     protected void trainGetPage(IRequestCycle cycle, String pageName, IPage page)
     {
         cycle.getPage(pageName);
         setReturnValue(cycle, page);
     }
 
-    protected void trainGetVisit(IEngine engine, Object visit)
+    protected Visit newVisit()
     {
-        engine.getVisit();
-        setReturnValue(engine, visit);
+        return (Visit) newMock(Visit.class);
     }
 
-    protected void trainGetEngine(IRequestCycle cycle, IEngine engine)
+    public void testNoVisit()
     {
-        cycle.getEngine();
-        setReturnValue(cycle, engine);
+        IRequestCycle cycle = newCycle();
+        IErrorProperty page = newPage();
+        ApplicationStateManager manager = newApplicationStateManager();
+
+        manager.exists("visit");
+        setReturnValue(manager, false);
+
+        trainGetPage(cycle, "Home", page);
+
+        page.setError("An error.");
+
+        cycle.activate(page);
+
+        replayControls();
+
+        newErrorPresenter(manager).presentError("An error.", cycle);
+
+        verifyControls();
     }
 
-    public void testLoggedOut()
+    public void testLoggedOff()
     {
         IRequestCycle cycle = newCycle();
-        IEngine engine = newEngine();
         IErrorProperty page = newPage();
+        ApplicationStateManager manager = newApplicationStateManager();
+        Visit visit = newVisit();
 
-        trainGetEngine(cycle, engine);
+        manager.exists("visit");
+        setReturnValue(manager, true);
 
-        trainGetVisit(engine, null);
+        manager.get("visit");
+        setReturnValue(manager, visit);
+
+        visit.isUserLoggedIn();
+        setReturnValue(visit, false);
 
         trainGetPage(cycle, "Home", page);
 
@@ -66,11 +96,16 @@
 
         replayControls();
 
-        new ErrorPresenterImpl().presentError("An error.", cycle);
+        newErrorPresenter(manager).presentError("An error.", cycle);
 
         verifyControls();
     }
 
+    private ApplicationStateManager newApplicationStateManager()
+    {
+        return (ApplicationStateManager) newMock(ApplicationStateManager.class);
+    }
+
     private IErrorProperty newPage()
     {
         return (IErrorProperty) newMock(IErrorProperty.class);
@@ -88,15 +123,16 @@
 
     public void testLoggedIn()
     {
-
         IRequestCycle cycle = newCycle();
-        IEngine engine = newEngine();
         IErrorProperty page = newPage();
-        Visit visit = (Visit) newMock(Visit.class);
+        ApplicationStateManager manager = newApplicationStateManager();
+        Visit visit = newVisit();
 
-        trainGetEngine(cycle, engine);
+        manager.exists("visit");
+        setReturnValue(manager, true);
 
-        trainGetVisit(engine, visit);
+        manager.get("visit");
+        setReturnValue(manager, visit);
 
         visit.isUserLoggedIn();
         setReturnValue(visit, true);
@@ -109,7 +145,7 @@
 
         replayControls();
 
-        new ErrorPresenterImpl().presentError("An error.", cycle);
+        newErrorPresenter(manager).presentError("An error.", cycle);
 
         verifyControls();
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org