]> source.dussan.org Git - vaadin-framework.git/commitdiff
Test error views and error providers (#9060)
authorJohannes Dahlström <johannesd@vaadin.com>
Mon, 24 Sep 2012 09:46:20 +0000 (12:46 +0300)
committerJohannes Dahlström <johannesd@vaadin.com>
Mon, 24 Sep 2012 09:47:01 +0000 (12:47 +0300)
server/tests/src/com/vaadin/tests/server/navigator/NavigatorTest.java

index f97c2fdeb555cd8244d02cf3e8daf37fe3fd8a93..fc36c77e56e7b2ddca9b22f34d3e8fc2f4ac625a 100644 (file)
@@ -77,7 +77,11 @@ public class NavigatorTest extends TestCase {
         }
 
         public View getView(String viewAndParameters) {
-            navigateTo(viewAndParameters);
+            try {
+                navigateTo(viewAndParameters);
+            } catch (IllegalArgumentException e) {
+                // ignore
+            }
             return ((TestDisplay) getDisplay()).getCurrentView();
         }
     }
@@ -593,4 +597,43 @@ public class NavigatorTest extends TestCase {
         assertEquals("Incorrect view name found", TestView.class, navigator2
                 .getView("test").getClass());
     }
+
+    public void testNavigateToUnknownView() {
+        TestNavigator navigator = new TestNavigator();
+
+        View errorView = EasyMock.createMock(View.class);
+        errorView.enter(EasyMock.anyObject(ViewChangeEvent.class));
+        EasyMock.replay(errorView);
+
+        try {
+            navigator.navigateTo("doesnotexist");
+            fail("Should throw IllegalArgumentException");
+        } catch (IllegalArgumentException iae) {
+        }
+
+        navigator.setErrorView(errorView);
+        navigator.navigateTo("doesnotexist");
+
+        View testView = EasyMock.createMock(View.class);
+        testView.enter(EasyMock.anyObject(ViewChangeEvent.class));
+        EasyMock.replay(testView);
+
+        navigator.addView("doesnotexist", testView);
+        navigator.navigateTo("doesnotexist");
+
+        View errorView2 = EasyMock.createMock(View.class);
+        errorView2.enter(EasyMock.anyObject(ViewChangeEvent.class));
+        EasyMock.replay(errorView2);
+
+        ViewProvider errorProvider = EasyMock.createMock(ViewProvider.class);
+        EasyMock.expect(errorProvider.getView("doesnotexist2")).andReturn(
+                errorView2);
+        EasyMock.expect(errorProvider.getViewName("doesnotexist2")).andReturn(
+                "doesnotexist2");
+        EasyMock.replay(errorProvider);
+
+        navigator.setErrorProvider(errorProvider);
+        navigator.navigateTo("doesnotexist2");
+
+    }
 }