import com.vaadin.ui.ComponentContainer.ComponentAttachListener;\r
import com.vaadin.ui.ComponentContainer.ComponentDetachEvent;\r
import com.vaadin.ui.ComponentContainer.ComponentDetachListener;\r
+import com.vaadin.ui.HorizontalSplitPanel;\r
import com.vaadin.ui.InlineDateField;\r
import com.vaadin.ui.NativeButton;\r
import com.vaadin.ui.PopupDateField;\r
import com.vaadin.ui.Table;\r
import com.vaadin.ui.TextArea;\r
import com.vaadin.ui.TextField;\r
+import com.vaadin.ui.VerticalSplitPanel;\r
\r
public abstract class AbstractComponentContainerTest<T extends AbstractComponentContainer>\r
extends AbstractComponentTest<T> implements ComponentAttachListener,\r
}\r
};\r
\r
+ private Command<T, ComponentSize> addVerticalSplitPanelCommand = new Command<T, ComponentSize>() {\r
+ public void execute(T c, ComponentSize size, Object data) {\r
+ VerticalSplitPanel vsp = new VerticalSplitPanel();\r
+ c.addComponent(vsp);\r
+ size.apply(vsp);\r
+ }\r
+ };\r
+\r
+ private Command<T, ComponentSize> addHorizontalSplitPanelCommand = new Command<T, ComponentSize>() {\r
+ public void execute(T c, ComponentSize size, Object data) {\r
+ HorizontalSplitPanel vsp = new HorizontalSplitPanel();\r
+ c.addComponent(vsp);\r
+ size.apply(vsp);\r
+ }\r
+ };\r
+\r
private Command<T, ComponentSize> addTabSheetCommand = new Command<T, ComponentSize>() {\r
public void execute(T c, ComponentSize size, Object data) {\r
TabSheet ts = createTabSheet();\r
addCommands.put("Table", addTableCommand);\r
addCommands.put("InlineDateField", addInlineDateFieldCommand);\r
addCommands.put("PopupDateField", addPopupDateFieldCommand);\r
+ addCommands.put("VerticalSplitPanel", addVerticalSplitPanelCommand);\r
+ addCommands.put("HorizontalSplitPanel", addHorizontalSplitPanelCommand);\r
// addCommands.put("AbsoluteLayout", addAbsoluteLayoutCommand);\r
// addCommands.put("HorizontalLayout", addHorizontalLayoutCommand);\r
// addCommands.put("VerticalLayout", addVerticalLayoutCommand);\r
return options;\r
}\r
\r
+ protected LinkedHashMap<String, Double> createDoubleOptions(double max) {\r
+ LinkedHashMap<String, Double> options = new LinkedHashMap<String, Double>();\r
+ for (double d = 0; d <= max && d < 10; d += 0.5) {\r
+ options.put(String.valueOf(d), d);\r
+ }\r
+ for (double d = 10; d <= max; d *= 10) {\r
+ options.put(String.valueOf(d), d);\r
+ if (2.5 * d <= max) {\r
+ options.put(String.valueOf(2 * d), 2 * d);\r
+ }\r
+ if (5 * d <= max) {\r
+ options.put(String.valueOf(5 * d), 5 * d);\r
+ }\r
+ }\r
+\r
+ return options;\r
+ }\r
+\r
protected LinkedHashMap<String, Resource> createIconOptions(\r
boolean cacheable) {\r
LinkedHashMap<String, Resource> options = new LinkedHashMap<String, Resource>();\r
import com.vaadin.ui.Button.ClickEvent;\r
import com.vaadin.ui.Button.ClickListener;\r
\r
-public class Buttons2 extends AbstractFieldTest<Button> implements\r
+public class Buttons2<T extends Button> extends AbstractFieldTest<T> implements\r
ClickListener {\r
\r
- private Command<Button, Boolean> switchModeCommand = new Command<Button, Boolean>() {\r
+ private Command<T, Boolean> switchModeCommand = new Command<T, Boolean>() {\r
\r
@SuppressWarnings("deprecation")\r
- public void execute(Button c, Boolean value, Object data) {\r
+ public void execute(T c, Boolean value, Object data) {\r
c.setSwitchMode(value);\r
}\r
};\r
\r
- private Command<Button, Boolean> clickListenerCommand = new Command<Button, Boolean>() {\r
+ private Command<T, Boolean> clickListenerCommand = new Command<T, Boolean>() {\r
\r
- public void execute(Button c, Boolean value, Object data) {\r
+ public void execute(T c, Boolean value, Object data) {\r
if (value) {\r
- c.addListener((ClickListener) Buttons2.this);\r
+ c.addListener((Button.ClickListener) Buttons2.this);\r
} else {\r
- c.removeListener((ClickListener) Buttons2.this);\r
+ c.removeListener((Button.ClickListener) Buttons2.this);\r
}\r
\r
}\r
};\r
\r
@Override\r
- protected Class<Button> getTestClass() {\r
- return Button.class;\r
+ protected Class<T> getTestClass() {\r
+ return (Class<T>) Button.class;\r
}\r
\r
@Override\r
--- /dev/null
+package com.vaadin.tests.components.nativebutton;\r
+\r
+import com.vaadin.tests.components.button.Buttons2;\r
+import com.vaadin.ui.NativeButton;\r
+\r
+public class NativeButtonTest extends Buttons2<NativeButton> {\r
+\r
+ @Override\r
+ protected Class<NativeButton> getTestClass() {\r
+ return NativeButton.class;\r
+ }\r
+}\r
--- /dev/null
+package com.vaadin.tests.components.passwordfield;\r
+\r
+import com.vaadin.event.FieldEvents.TextChangeListener;\r
+import com.vaadin.tests.components.abstractfield.AbstractTextFieldTest;\r
+import com.vaadin.ui.PasswordField;\r
+\r
+public class PasswordFieldTest extends AbstractTextFieldTest<PasswordField>\r
+ implements TextChangeListener {\r
+\r
+ @Override\r
+ protected Class<PasswordField> getTestClass() {\r
+ return PasswordField.class;\r
+ }\r
+\r
+ @Override\r
+ protected void createActions() {\r
+ super.createActions();\r
+ }\r
+\r
+}\r
--- /dev/null
+package com.vaadin.tests.components.select;\r
+\r
+import com.vaadin.ui.Select;\r
+\r
+public class SelectTest extends AbstractSelectTestCase<Select> {\r
+\r
+ @Override\r
+ protected Class<Select> getTestClass() {\r
+ return Select.class;\r
+ }\r
+\r
+}\r
--- /dev/null
+package com.vaadin.tests.components.slider;\r
+\r
+import java.util.LinkedHashMap;\r
+\r
+import com.vaadin.tests.components.abstractfield.AbstractFieldTest;\r
+import com.vaadin.ui.Slider;\r
+\r
+public class SliderTest extends AbstractFieldTest<Slider> {\r
+\r
+ private Command<Slider, Double> minCommand = new Command<Slider, Double>() {\r
+ public void execute(Slider c, Double value, Object data) {\r
+ c.setMin(value);\r
+ }\r
+ };\r
+\r
+ private Command<Slider, Double> maxCommand = new Command<Slider, Double>() {\r
+ public void execute(Slider c, Double value, Object data) {\r
+ c.setMax(value);\r
+ }\r
+ };\r
+\r
+ private Command<Slider, Integer> orientationCommand = new Command<Slider, Integer>() {\r
+ public void execute(Slider c, Integer value, Object data) {\r
+ c.setOrientation(value);\r
+ }\r
+ };\r
+ private Command<Slider, Integer> resolutionCommand = new Command<Slider, Integer>() {\r
+ public void execute(Slider c, Integer value, Object data) {\r
+ c.setResolution(value);\r
+ }\r
+ };\r
+\r
+ @Override\r
+ protected Class<Slider> getTestClass() {\r
+ return Slider.class;\r
+ }\r
+\r
+ @Override\r
+ protected void createActions() {\r
+ super.createActions();\r
+\r
+ createMinSelect(CATEGORY_FEATURES);\r
+ createMaxSelect(CATEGORY_FEATURES);\r
+ createResolutionSelect(CATEGORY_FEATURES);\r
+ createOrientationSelect(CATEGORY_FEATURES);\r
+ }\r
+\r
+ private void createResolutionSelect(String category) {\r
+ createSelectAction("Resolution", category, createIntegerOptions(10),\r
+ "1", resolutionCommand);\r
+\r
+ }\r
+\r
+ private void createOrientationSelect(String category) {\r
+ LinkedHashMap<String, Integer> options = new LinkedHashMap<String, Integer>();\r
+ options.put("Horizontal", Slider.ORIENTATION_HORIZONTAL);\r
+ options.put("Vertical", Slider.ORIENTATION_VERTICAL);\r
+ createSelectAction("Resolution", category, options, "Horizontal",\r
+ orientationCommand);\r
+\r
+ }\r
+\r
+ private void createMaxSelect(String category) {\r
+ createSelectAction("Max", category, createDoubleOptions(100), "0",\r
+ maxCommand);\r
+ }\r
+\r
+ private void createMinSelect(String category) {\r
+ createSelectAction("Min", category, createDoubleOptions(100), "0",\r
+ minCommand);\r
+\r
+ }\r
+\r
+}\r
value.apply(c);\r
}\r
};\r
+ private Command<T, Boolean> splitterLockCommand = new Command<T, Boolean>() {\r
+\r
+ public void execute(T c, Boolean value, Object data) {\r
+ c.setLocked(value);\r
+ }\r
+ };\r
\r
@Override\r
protected void createActions() {\r
super.createActions();\r
createSetSplitPositionAction(CATEGORY_FEATURES);\r
createSplitterClickListenerAction(CATEGORY_LISTENERS);\r
+ createSplitterLockAction(CATEGORY_FEATURES);\r
\r
// Default to 100% x 100% as SplitPanel does not work as undefined\r
for (T c : getTestComponents()) {\r
}\r
}\r
\r
+ private void createSplitterLockAction(String categoryFeatures) {\r
+ createBooleanAction("Splitter locked", categoryFeatures, false,\r
+ splitterLockCommand);\r
+\r
+ }\r
+\r
public static class SplitPosition {\r
\r
private boolean reverse = false;\r
@Override\r
protected void createActions() {\r
super.createActions();\r
- createSecretAction(CATEGORY_STATE);\r
- createWordwrapAction(CATEGORY_STATE);\r
- createRowsAction(CATEGORY_STATE);\r
+ createSecretAction(CATEGORY_FEATURES);\r
+ createWordwrapAction(CATEGORY_FEATURES);\r
+ createRowsAction(CATEGORY_FEATURES);\r
}\r
\r
private void createRowsAction(String category) {\r