WICKET-6105 split tests

Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/a4aed9e3
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/a4aed9e3
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/a4aed9e3

Branch: refs/heads/master
Commit: a4aed9e35a6055d627960a58eee40e29d84c461d
Parents: 0a4b5f2
Author: Sven Meier <[email protected]>
Authored: Mon Oct 16 08:57:43 2017 +0200
Committer: Sven Meier <[email protected]>
Committed: Tue Oct 17 22:32:40 2017 +0200

----------------------------------------------------------------------
 .../html/form/datetime/DateTimeFieldTest.java   | 200 +++++--------------
 .../form/datetime/LocalDateTextFieldTest.java   |  89 +++++++++
 .../html/form/datetime/TimeFieldTest.java       | 107 ++++++++++
 3 files changed, 242 insertions(+), 154 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/a4aed9e3/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/datetime/DateTimeFieldTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/datetime/DateTimeFieldTest.java
 
b/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/datetime/DateTimeFieldTest.java
index 64efda6..8296ad6 100644
--- 
a/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/datetime/DateTimeFieldTest.java
+++ 
b/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/datetime/DateTimeFieldTest.java
@@ -16,19 +16,15 @@
  */
 package org.apache.wicket.extensions.markup.html.form.datetime;
 
-import java.io.Serializable;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
-import java.time.format.FormatStyle;
 import java.util.Locale;
 
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.markup.IMarkupResourceStreamProvider;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.form.FormComponent;
-import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.util.convert.converter.LocalDateConverter;
 import org.apache.wicket.util.resource.IResourceStream;
@@ -39,200 +35,96 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-public class DateTimeFieldTest extends WicketTestCase {
+/**
+ * Test for {@link LocalDateTimeField}.
+ */
+public class DateTimeFieldTest extends WicketTestCase
+{
        @Rule
        public ExpectedException expectedException = ExpectedException.none();
 
        @Test
-       public void timeNullTest() {
-               TestTimePage page = new TestTimePage(null);
-               tester.startPage(page);
-               FormTester formTester = tester.newFormTester("form", false);
-               formTester.submit();
-               assertNull(page.field.getModelObject());
-       }
-
-       @Test
-       public void timeNullHoursTest() {
-               TestTimePage page = new TestTimePage(null);
-               tester.startPage(page);
-               FormTester formTester = tester.newFormTester("form", false);
-               formTester.setValue("field:minutes", "8");
-               formTester.submit();
-               assertNull(page.field.getModelObject());
-       }
-
-       @Test
-       public void timeNullMinutesTest() {
-               TestTimePage page = new TestTimePage(null);
-               tester.startPage(page);
-               FormTester formTester = tester.newFormTester("form", false);
-               formTester.setValue("field:hours", "8");
-               formTester.submit();
-               assertNull(page.field.getModelObject());
-       }
-
-       @Test
-       public void timeNotNullTest() {
-               TestTimePage page = new TestTimePage(LocalTime.of(6, 15));
-               tester.startPage(page);
-               FormTester formTester = tester.newFormTester("form", false);
-               formTester.setValue("field:hours", "8");
-               formTester.submit();
-               LocalTime t = page.field.getModelObject();
-               assertNotNull(t);
-               assertEquals(8, t.getHour());
-               assertEquals(15, t.getMinute());
-       }
-
-       @Test
-       public void dateNullTest() {
-               TestDatePage page = new TestDatePage(null);
-               tester.startPage(page);
-               FormTester formTester = tester.newFormTester("form", false);
-               formTester.submit();
-               assertNull(page.field.getModelObject());
-       }
-
-       @Test
-       public void dateNotNullTest() {
-               LocalDate date = LocalDate.of(2017, 02, 13);
-               TestDatePage page = new TestDatePage(null);
-               tester.startPage(page);
-               FormTester formTester = tester.newFormTester("form", false);
-               formTester.setValue("field", new 
LocalDateConverter().convertToString(date, Locale.forLanguageTag("en-US")));
-               formTester.submit();
-               LocalDate d = page.field.getModelObject();
-               assertNotNull(d);
-               assertEquals(date, d);
-       }
-
-       @Test
-       public void dateTimeNullTest() {
-               TestDateTimePage page = new TestDateTimePage(null);
+       public void dateTimeNull()
+       {
+               TestPage page = new TestPage(null);
                tester.startPage(page);
                FormTester formTester = tester.newFormTester("form", false);
                formTester.submit();
+               tester.assertNoErrorMessage();
                assertNull(page.field.getModelObject());
        }
 
        @Test
-       public void dateTimeNullTest1() {
+       public void timeEmpty()
+       {
                LocalDate date = LocalDate.of(2017, 02, 13);
-               TestDateTimePage page = new TestDateTimePage(null);
+               TestPage page = new TestPage(null);
                tester.startPage(page);
                FormTester formTester = tester.newFormTester("form", false);
-               formTester.setValue("field:date", new 
LocalDateConverter().convertToString(date, Locale.forLanguageTag("en-US")));
+               formTester.setValue("field:date",
+                       new LocalDateConverter().convertToString(date, 
Locale.forLanguageTag("en-US")));
                formTester.submit();
-               assertNull(page.field.getModelObject());
+               tester.assertNoErrorMessage();
+               assertEquals(LocalDateTime.of(date, LocalTime.of(12, 0)), 
page.field.getModelObject());
        }
 
        @Test
-       public void dateTimeNullTest2() {
-               TestDateTimePage page = new TestDateTimePage(null);
+       public void dateEmpty()
+       {
+               TestPage page = new TestPage(null);
                tester.startPage(page);
                FormTester formTester = tester.newFormTester("form", false);
                formTester.setValue("field:time:hours", "6");
                formTester.setValue("field:time:minutes", "15");
                formTester.select("field:time:amOrPmChoice", 0);
                formTester.submit();
-               assertNull(page.field.getModelObject());
+               tester.assertErrorMessages("The value of 'field' is not a valid 
LocalDateTime.");
        }
 
        @Test
-       public void dateTimeNotNullTest() {
+       public void dateTimeNotEmpty()
+       {
                LocalDate date = LocalDate.of(2017, 02, 13);
-               TestDateTimePage page = new TestDateTimePage(null);
+               TestPage page = new TestPage(null);
                tester.startPage(page);
                FormTester formTester = tester.newFormTester("form", false);
-               formTester.setValue("field:date", new 
LocalDateConverter().convertToString(date, Locale.forLanguageTag("en-US")));
+               formTester.setValue("field:date",
+                       new LocalDateConverter().convertToString(date, 
Locale.forLanguageTag("en-US")));
                formTester.setValue("field:time:hours", "6");
                formTester.setValue("field:time:minutes", "15");
                formTester.select("field:time:amOrPmChoice", 0);
                formTester.submit();
-               assertNotNull(page.field.getModelObject());
-               assertEquals(LocalDateTime.of(date, LocalTime.of(6,  15)), 
page.field.getModelObject());
-       }
-
-       public static class TestDateTimePage extends TestPage<LocalDateTime>
-       {
-               private static final long serialVersionUID = 1L;
-
-               TestDateTimePage(LocalDateTime val)
-               {
-                       super(val);
-               }
-
-               @Override
-               FormComponent<LocalDateTime> newComponent()
-               {
-                       return new LocalDateTimeField("field", model);
-               }
-       }
-
-       public static class TestDatePage extends TestPage<LocalDate>
-       {
-               private static final long serialVersionUID = 1L;
-
-               TestDatePage(LocalDate val)
-               {
-                       super(val);
-                       tag = "input type=\"text\"";
-               }
-
-               @Override
-               FormComponent<LocalDate> newComponent()
-               {
-                       return new LocalDateTextField("field", model, 
FormatStyle.SHORT);
-               }
+               tester.assertNoErrorMessage();
+               assertEquals(LocalDateTime.of(date, LocalTime.of(6, 15)), 
page.field.getModelObject());
        }
 
-       public static class TestTimePage extends TestPage<LocalTime>
+       public static class TestPage extends WebPage implements 
IMarkupResourceStreamProvider
        {
                private static final long serialVersionUID = 1L;
 
-               TestTimePage(LocalTime val)
-               {
-                       super(val);
-               }
+               public LocalDateTimeField field;
 
-               @Override
-               FormComponent<LocalTime> newComponent()
-               {
-                       return new TimeField("field", model);
-               }
-       }
-
-       public abstract static class TestPage<T extends Serializable> extends 
WebPage implements IMarkupResourceStreamProvider
-       {
-               private static final long serialVersionUID = 1L;
-               Form<Void> form;
-               FormComponent<T> field;
-               IModel<T> model = new Model<T>();
-               String tag = "span";
-
-               /** */
-               public TestPage(T val)
-               {
-                       add(form = new Form<>("form"));
-                       model.setObject(val);
-                       form.add(field = newComponent());
-               }
-
-               abstract FormComponent<T> newComponent();
-
-               @Override
-               public IResourceStream getMarkupResourceStream(MarkupContainer 
container, Class<?> containerClass)
+               TestPage(LocalDateTime val)
                {
-                       return new 
StringResourceStream(String.format("<html><body>"
-                                       + "<form wicket:id=\"form\"><%s 
wicket:id=\"field\"/></form></body></html>", tag));
+                       Form<Void> form = new Form<>("form");
+                       add(form);
+
+                       form.add(field = new LocalDateTimeField("field", 
Model.of(val))
+                       {
+                               @Override
+                               protected LocalTime getDefaultTime()
+                               {
+                                       return LocalTime.NOON;
+                               }
+                       });
                }
 
                @Override
-               protected void onDetach()
+               public IResourceStream getMarkupResourceStream(MarkupContainer 
container,
+                       Class<?> containerClass)
                {
-                       super.onDetach();
-                       model.detach();
+                       return new StringResourceStream("<html><body>"
+                               + "<form wicket:id=\"form\"><span 
wicket:id=\"field\"/></form></body></html>");
                }
        }
-}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/a4aed9e3/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/datetime/LocalDateTextFieldTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/datetime/LocalDateTextFieldTest.java
 
b/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/datetime/LocalDateTextFieldTest.java
new file mode 100644
index 0000000..1d50158
--- /dev/null
+++ 
b/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/datetime/LocalDateTextFieldTest.java
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.extensions.markup.html.form.datetime;
+
+import java.time.LocalDate;
+import java.time.format.FormatStyle;
+import java.util.Locale;
+
+import org.apache.wicket.MarkupContainer;
+import org.apache.wicket.markup.IMarkupResourceStreamProvider;
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.util.convert.converter.LocalDateConverter;
+import org.apache.wicket.util.resource.IResourceStream;
+import org.apache.wicket.util.resource.StringResourceStream;
+import org.apache.wicket.util.tester.FormTester;
+import org.apache.wicket.util.tester.WicketTestCase;
+import org.junit.Test;
+
+/**
+ * Test for {@link LocalDateTextField}.
+ */
+public class LocalDateTextFieldTest extends WicketTestCase
+{
+
+       @Test
+       public void dateNullTest()
+       {
+               TestPage page = new TestPage(null);
+               tester.startPage(page);
+               FormTester formTester = tester.newFormTester("form", false);
+               formTester.submit();
+               tester.assertNoErrorMessage();
+               assertNull(page.field.getModelObject());
+       }
+
+       @Test
+       public void dateNotNullTest()
+       {
+               LocalDate date = LocalDate.of(2017, 02, 13);
+               TestPage page = new TestPage(null);
+               tester.startPage(page);
+               FormTester formTester = tester.newFormTester("form", false);
+               formTester.setValue("field",
+                       new LocalDateConverter().convertToString(date, 
Locale.forLanguageTag("en-US")));
+               formTester.submit();
+               tester.assertNoErrorMessage();
+               LocalDate d = page.field.getModelObject();
+               assertEquals(date, d);
+       }
+
+       public static class TestPage extends WebPage implements 
IMarkupResourceStreamProvider
+       {
+               private static final long serialVersionUID = 1L;
+
+               public LocalDateTextField field;
+
+               TestPage(LocalDate val)
+               {
+                       Form<Void> form = new Form<>("form");
+                       add(form);
+
+                       form.add(field = new LocalDateTextField("field", 
Model.of(val), FormatStyle.SHORT));
+               }
+
+               @Override
+               public IResourceStream getMarkupResourceStream(MarkupContainer 
container,
+                       Class<?> containerClass)
+               {
+                       return new StringResourceStream("<html><body>"
+                               + "<form wicket:id=\"form\"><input 
wicket:id=\"field\"/></form></body></html>");
+               }
+       }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/a4aed9e3/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/datetime/TimeFieldTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/datetime/TimeFieldTest.java
 
b/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/datetime/TimeFieldTest.java
new file mode 100644
index 0000000..1d698b0
--- /dev/null
+++ 
b/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/form/datetime/TimeFieldTest.java
@@ -0,0 +1,107 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.extensions.markup.html.form.datetime;
+
+import java.time.LocalTime;
+
+import org.apache.wicket.MarkupContainer;
+import org.apache.wicket.markup.IMarkupResourceStreamProvider;
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.util.resource.IResourceStream;
+import org.apache.wicket.util.resource.StringResourceStream;
+import org.apache.wicket.util.tester.FormTester;
+import org.apache.wicket.util.tester.WicketTestCase;
+import org.junit.Test;
+
+/**
+ * Test for {@link TimeField}.
+ */
+public class TimeFieldTest extends WicketTestCase
+{
+
+       @Test
+       public void timeNull()
+       {
+               TestPage page = new TestPage(null);
+               tester.startPage(page);
+               FormTester formTester = tester.newFormTester("form", false);
+               formTester.submit();
+               tester.assertNoErrorMessage();
+               assertNull(page.field.getModelObject());
+       }
+
+       @Test
+       public void timeEmptyHours()
+       {
+               TestPage page = new TestPage(null);
+               tester.startPage(page);
+               FormTester formTester = tester.newFormTester("form", false);
+               formTester.setValue("field:minutes", "8");
+               formTester.submit();
+               tester.assertErrorMessages("The value of 'field' is not a valid 
LocalTime.");
+       }
+
+       @Test
+       public void timeEmptyMinutes()
+       {
+               TestPage page = new TestPage(null);
+               tester.startPage(page);
+               FormTester formTester = tester.newFormTester("form", false);
+               formTester.setValue("field:hours", "8");
+               formTester.submit();
+               tester.assertErrorMessages("The value of 'field' is not a valid 
LocalTime.");
+       }
+
+       @Test
+       public void timeNotNull()
+       {
+               TestPage page = new TestPage(LocalTime.of(6, 15));
+               tester.startPage(page);
+               FormTester formTester = tester.newFormTester("form", false);
+               formTester.setValue("field:hours", "8");
+               formTester.submit();
+               LocalTime t = page.field.getModelObject();
+               assertNotNull(t);
+               assertEquals(8, t.getHour());
+               assertEquals(15, t.getMinute());
+       }
+
+       public static class TestPage extends WebPage implements 
IMarkupResourceStreamProvider
+       {
+               private static final long serialVersionUID = 1L;
+
+               public TimeField field;
+
+               TestPage(LocalTime val)
+               {
+                       Form<Void> form = new Form<>("form");
+                       add(form);
+
+                       form.add(field = new TimeField("field", Model.of(val)));
+               }
+
+               @Override
+               public IResourceStream getMarkupResourceStream(MarkupContainer 
container,
+                       Class<?> containerClass)
+               {
+                       return new StringResourceStream("<html><body>"
+                               + "<form wicket:id=\"form\"><span 
wicket:id=\"field\"/></form></body></html>");
+               }
+       }
+}

Reply via email to