]> source.dussan.org Git - vaadin-framework.git/commitdiff
Test case for InlineDateFields
authorArtur Signell <artur.signell@itmill.com>
Sun, 26 Sep 2010 09:20:39 +0000 (09:20 +0000)
committerArtur Signell <artur.signell@itmill.com>
Sun, 26 Sep 2010 09:20:39 +0000 (09:20 +0000)
svn changeset:15209/svn branch:6.4

tests/src/com/vaadin/tests/components/datefield/InlineDateFields.java [new file with mode: 0644]

diff --git a/tests/src/com/vaadin/tests/components/datefield/InlineDateFields.java b/tests/src/com/vaadin/tests/components/datefield/InlineDateFields.java
new file mode 100644 (file)
index 0000000..e0fb41a
--- /dev/null
@@ -0,0 +1,104 @@
+package com.vaadin.tests.components.datefield;\r
+\r
+import java.sql.Date;\r
+import java.util.LinkedHashMap;\r
+import java.util.List;\r
+import java.util.Locale;\r
+\r
+import com.vaadin.tests.components.ComponentTestCase;\r
+import com.vaadin.ui.Component;\r
+import com.vaadin.ui.DateField;\r
+import com.vaadin.ui.InlineDateField;\r
+\r
+@SuppressWarnings("serial")\r
+public class InlineDateFields extends ComponentTestCase<InlineDateField> {\r
+\r
+    private static final Locale[] LOCALES = new Locale[] { Locale.US,\r
+            Locale.TAIWAN, new Locale("fi", "FI") };\r
+\r
+    @Override\r
+    protected Class<InlineDateField> getTestClass() {\r
+        return InlineDateField.class;\r
+    }\r
+\r
+    @Override\r
+    protected void initializeComponents() {\r
+\r
+        Locale locale = LOCALES[0];\r
+\r
+        InlineDateField pd = createInlineDateField("Undefined width", "-1",\r
+                locale);\r
+        pd.setDebugId("Locale-" + locale.toString() + "-undefined-wide");\r
+        addTestComponent(pd);\r
+        pd = createInlineDateField("300px width", "300px", locale);\r
+        pd.setDebugId("Locale-" + locale.toString() + "-300px-wide");\r
+        addTestComponent(pd);\r
+        pd = createInlineDateField("Initially empty", "", locale);\r
+        pd.setValue(null);\r
+        pd.setDebugId("Locale-" + locale.toString() + "-initially-empty");\r
+        addTestComponent(pd);\r
+\r
+    }\r
+\r
+    private InlineDateField createInlineDateField(String caption, String width,\r
+            Locale locale) {\r
+        InlineDateField pd = new InlineDateField(caption + "("\r
+                + locale.toString() + ")");\r
+        pd.setWidth(width);\r
+        pd.setValue(new Date(12312312313L));\r
+        pd.setLocale(locale);\r
+        pd.setResolution(DateField.RESOLUTION_YEAR);\r
+\r
+        return pd;\r
+    }\r
+\r
+    @Override\r
+    protected String getDescription() {\r
+        return "A generic test for InlineDateFields in different configurations";\r
+    }\r
+\r
+    @Override\r
+    protected List<Component> createActions() {\r
+        List<Component> actions = super.createActions();\r
+        actions.add(createResolutionSelectAction());\r
+        actions.add(createLocaleSelectAction());\r
+        return actions;\r
+    }\r
+\r
+    private Component createResolutionSelectAction() {\r
+        LinkedHashMap<String, Integer> options = new LinkedHashMap<String, Integer>();\r
+        options.put("Year", DateField.RESOLUTION_YEAR);\r
+        options.put("Month", DateField.RESOLUTION_MONTH);\r
+        options.put("Day", DateField.RESOLUTION_DAY);\r
+        options.put("Hour", DateField.RESOLUTION_HOUR);\r
+        options.put("Min", DateField.RESOLUTION_MIN);\r
+        options.put("Sec", DateField.RESOLUTION_SEC);\r
+        options.put("Msec", DateField.RESOLUTION_MSEC);\r
+        return createSelectAction("Resolution", options, "Year",\r
+                new Command<InlineDateField, Integer>() {\r
+\r
+                    public void execute(InlineDateField c, Integer value) {\r
+                        c.setResolution(value);\r
+\r
+                    }\r
+                });\r
+    }\r
+\r
+    private Component createLocaleSelectAction() {\r
+        LinkedHashMap<String, Locale> options = new LinkedHashMap<String, Locale>();\r
+        for (Locale locale : LOCALES) {\r
+            options.put(locale.toString(), locale);\r
+        }\r
+        return createSelectAction("Locale", options, LOCALES[0].toString(),\r
+                new Command<InlineDateField, Locale>() {\r
+\r
+                    public void execute(InlineDateField c, Locale value) {\r
+                        c.setCaption(c.getCaption().replaceAll(\r
+                                c.getLocale().toString(), value.toString()));\r
+                        c.setLocale(value);\r
+\r
+                    }\r
+                });\r
+    }\r
+\r
+}\r