summaryrefslogtreecommitdiffstats
path: root/uitest/src/com/vaadin/tests/components/TestBase.java
diff options
context:
space:
mode:
Diffstat (limited to 'uitest/src/com/vaadin/tests/components/TestBase.java')
-rw-r--r--uitest/src/com/vaadin/tests/components/TestBase.java64
1 files changed, 64 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/components/TestBase.java b/uitest/src/com/vaadin/tests/components/TestBase.java
new file mode 100644
index 0000000000..19c6826977
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/TestBase.java
@@ -0,0 +1,64 @@
+package com.vaadin.tests.components;
+
+import com.vaadin.shared.ui.label.ContentMode;
+import com.vaadin.ui.Component;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.UI.LegacyWindow;
+import com.vaadin.ui.VerticalLayout;
+
+public abstract class TestBase extends AbstractTestCase {
+
+ @Override
+ public final void init() {
+ window = new LegacyWindow(getClass().getName());
+ setMainWindow(window);
+ window.getContent().setSizeFull();
+
+ Label label = new Label(getDescription(), ContentMode.XHTML);
+ label.setWidth("100%");
+ window.getContent().addComponent(label);
+
+ layout = new VerticalLayout();
+ window.getContent().addComponent(layout);
+ ((VerticalLayout) window.getContent()).setExpandRatio(layout, 1);
+
+ setup();
+ }
+
+ private LegacyWindow window;
+
+ @Override
+ public void setMainWindow(LegacyWindow mainWindow) {
+ if (mainWindow != window) {
+ throw new IllegalStateException(
+ "You should not set your own main window when using TestBase. If you need to use a custom Window as the main window, use AbstractTestCase instead.");
+ }
+ super.setMainWindow(mainWindow);
+ }
+
+ private VerticalLayout layout;
+
+ public TestBase() {
+
+ }
+
+ protected VerticalLayout getLayout() {
+ return layout;
+ }
+
+ protected abstract void setup();
+
+ protected void addComponent(Component c) {
+ getLayout().addComponent(c);
+ }
+
+ protected void removeComponent(Component c) {
+ getLayout().removeComponent(c);
+ }
+
+ protected void replaceComponent(Component oldComponent,
+ Component newComponent) {
+ getLayout().replaceComponent(oldComponent, newComponent);
+ }
+
+}