summaryrefslogtreecommitdiffstats
path: root/server/src/test
diff options
context:
space:
mode:
authorArtur <artur@vaadin.com>2017-06-12 13:19:12 +0300
committerIlia Motornyi <elmot@vaadin.com>2017-06-12 13:19:12 +0300
commit585c9ec24dc6f71f008218929aa91cabdc54c000 (patch)
treeb40a76fd6476be23db151158f9556faefc90aad7 /server/src/test
parentf8f8cc0385acc3d205de16d3183dd1fc410524a1 (diff)
downloadvaadin-framework-585c9ec24dc6f71f008218929aa91cabdc54c000.tar.gz
vaadin-framework-585c9ec24dc6f71f008218929aa91cabdc54c000.zip
Add support for Views which are not components
Diffstat (limited to 'server/src/test')
-rw-r--r--server/src/test/java/com/vaadin/tests/server/navigator/NavigatorTest.java73
1 files changed, 69 insertions, 4 deletions
diff --git a/server/src/test/java/com/vaadin/tests/server/navigator/NavigatorTest.java b/server/src/test/java/com/vaadin/tests/server/navigator/NavigatorTest.java
index 9ac9492d95..6991fd1b9e 100644
--- a/server/src/test/java/com/vaadin/tests/server/navigator/NavigatorTest.java
+++ b/server/src/test/java/com/vaadin/tests/server/navigator/NavigatorTest.java
@@ -40,9 +40,12 @@ import com.vaadin.navigator.ViewProvider;
import com.vaadin.server.Page;
import com.vaadin.server.VaadinRequest;
import com.vaadin.shared.Registration;
+import com.vaadin.shared.ui.ui.PageState;
import com.vaadin.tests.server.navigator.ClassBasedViewProviderTest.TestView;
import com.vaadin.tests.server.navigator.ClassBasedViewProviderTest.TestView2;
import com.vaadin.ui.Component;
+import com.vaadin.ui.HorizontalLayout;
+import com.vaadin.ui.Label;
import com.vaadin.ui.UI;
import com.vaadin.ui.VerticalLayout;
@@ -462,12 +465,15 @@ public class NavigatorTest {
@Test
public void testComponentContainerViewDisplay() {
- abstract class TestView implements Component, View {
+ class TestView extends VerticalLayout implements View {
+ @Override
+ public void enter(ViewChangeEvent event) {
+
+ }
}
- TestView tv1 = EasyMock.createNiceMock(TestView.class);
- TestView tv2 = EasyMock.createNiceMock(TestView.class);
- EasyMock.replay(tv1, tv2);
+ TestView tv1 = new TestView();
+ TestView tv2 = new TestView();
VerticalLayout container = new VerticalLayout();
ViewDisplay display = new Navigator.ComponentContainerViewDisplay(
@@ -904,4 +910,63 @@ public class NavigatorTest {
navigator.navigateTo(viewName);
Assert.assertEquals(1, count[0]);
}
+
+ public static class ViewIsNotAComponent implements View {
+
+ private HorizontalLayout layout = new HorizontalLayout(
+ new Label("Hello"));
+
+ @Override
+ public Component getViewComponent() {
+ return layout;
+ }
+
+ @Override
+ public void enter(ViewChangeEvent event) {
+
+ }
+ }
+
+ @Test
+ public void viewWhichIsNotAComponent() {
+ UI ui = new UI() {
+
+ private Page page;
+ {
+ page = new Page(this, new PageState()) {
+ private String fragment = "";
+
+ @Override
+ public String getUriFragment() {
+ return fragment;
+ };
+
+ @Override
+ public void setUriFragment(String newUriFragment,
+ boolean fireEvents) {
+ fragment = newUriFragment;
+ };
+ };
+ }
+
+ @Override
+ protected void init(VaadinRequest request) {
+ }
+
+ @Override
+ public Page getPage() {
+ return page;
+ }
+ };
+
+ Navigator navigator = new Navigator(ui, ui);
+ ui.setNavigator(navigator);
+ navigator.addView("foo", ViewIsNotAComponent.class);
+ navigator.navigateTo("foo");
+
+ Assert.assertEquals(HorizontalLayout.class, ui.getContent().getClass());
+ Assert.assertEquals("Hello",
+ ((Label) ((HorizontalLayout) ui.getContent()).getComponent(0))
+ .getValue());
+ }
}