You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2017/10/17 20:44:30 UTC

[16/20] wicket git commit: WICKET-6105 split tests

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 <sv...@apache.org>
Authored: Mon Oct 16 08:57:43 2017 +0200
Committer: Sven Meier <sv...@apache.org>
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>");
+		}
+	}
+}