You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jd...@apache.org on 2010/12/20 20:51:09 UTC

svn commit: r1051262 - in /wicket/trunk/wicket-datetime/src: main/java/org/apache/wicket/extensions/yui/calendar/ test/java/org/apache/wicket/extensions/yui/calendar/

Author: jdonnerstag
Date: Mon Dec 20 19:51:09 2010
New Revision: 1051262

URL: http://svn.apache.org/viewvc?rev=1051262&view=rev
Log:
WICKET-3249 fixed DateConverter improperly converts time, causing different results between DateField and DateTimeField

Removed:
    wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.html
Modified:
    wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java
    wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
    wicket/trunk/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java

Modified: wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java?rev=1051262&r1=1051261&r2=1051262&view=diff
==============================================================================
--- wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java (original)
+++ wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java Mon Dec 20 19:51:09 2010
@@ -19,10 +19,7 @@ package org.apache.wicket.extensions.yui
 import java.util.Date;
 
 import org.apache.wicket.datetime.markup.html.form.DateTextField;
-import org.apache.wicket.markup.html.form.FormComponentPanel;
 import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.PropertyModel;
-import org.joda.time.MutableDateTime;
 
 /**
  * Works on a {@link java.util.Date} object. Displays a {@link DateTextField} and a
@@ -53,14 +50,10 @@ import org.joda.time.MutableDateTime;
  * 
  * @author eelcohillenius
  */
-public class DateField extends FormComponentPanel<Date>
+public class DateField extends DateTimeField
 {
 	private static final long serialVersionUID = 1L;
 
-	private MutableDateTime date;
-
-	private DateTextField dateField;
-
 	/**
 	 * Construct.
 	 * 
@@ -80,116 +73,9 @@ public class DateField extends FormCompo
 	public DateField(String id, IModel<Date> model)
 	{
 		super(id, model);
-		setType(Date.class);
-	}
-
-	/**
-	 * Gets date.
-	 * 
-	 * @return date
-	 */
-	public Date getDate()
-	{
-		return (date != null) ? date.toDate() : null;
-	}
-
-	/**
-	 * @see org.apache.wicket.markup.html.form.FormComponent#getInput()
-	 */
-	@Override
-	public String getInput()
-	{
-		// since we override convertInput, we can let this method return a value
-		// that is just suitable for error reporting
-		return dateField.getInput();
-	}
-
-	/**
-	 * Sets date.
-	 * 
-	 * @param date
-	 *            date
-	 */
-	public void setDate(Date date)
-	{
-		this.date = (date != null) ? new MutableDateTime(date) : null;
-		setDefaultModelObject(date);
-	}
-
-	/**
-	 * Sets the converted input. In this case, we're really just interested in the nested date
-	 * field, as that is the element that receives the real user input. So we're just passing that
-	 * on.
-	 * <p>
-	 * Note that overriding this method is a better option than overriding {@link #updateModel()}
-	 * like the first versions of this class did. The reason for that is that this method can be
-	 * used by form validators without having to depend on the actual model being updated, and this
-	 * method is called by the default implementation of {@link #updateModel()} anyway (so we don't
-	 * have to override that anymore).
-	 * </p>
-	 * 
-	 * @see org.apache.wicket.markup.html.form.FormComponent#convertInput()
-	 */
-	@Override
-	protected void convertInput()
-	{
-		setConvertedInput(dateField.getConvertedInput());
-	}
-
-	/**
-	 * create a new {@link DateTextField} instance to be added to this panel.
-	 * 
-	 * @param id
-	 *            The id to be used when creating the component
-	 * @param dateFieldModel
-	 *            model that should be used by the {@link DateTextField}
-	 * @return a new date text field instance
-	 */
-	protected DateTextField newDateTextField(final String id,
-		final PropertyModel<Date> dateFieldModel)
-	{
-		return DateTextField.forShortStyle(id, dateFieldModel);
-	}
 
-	/**
-	 * @see org.apache.wicket.Component#onBeforeRender()
-	 */
-	@Override
-	protected void onBeforeRender()
-	{
-		if (dateField == null)
-		{
-			// intiailize datefield and datepicker
-			PropertyModel<Date> dateFieldModel = new PropertyModel<Date>(this, "date");
-			add(dateField = newDateTextField("date", dateFieldModel));
-			dateField.add(newDatePicker());
-		}
-
-		dateField.setRequired(isRequired());
-
-		// obsolete with WICKET-1919
-		// dateField.setEnabled(isEnabledInHierarchy());
-
-		Date d = (Date)getDefaultModelObject();
-		if (d != null)
-		{
-			date = new MutableDateTime(d);
-		}
-		else
-		{
-			date = null;
-		}
-
-		super.onBeforeRender();
-	}
-
-	/**
-	 * Factory method for datepicker that will be added to the field
-	 * 
-	 * @return datepicker instance
-	 */
-	protected DatePicker newDatePicker()
-	{
-		return new DatePicker();
+		get("hours").setVisible(false);
+		get("minutes").setVisible(false);
+		get("amOrPmChoice").setVisible(false);
 	}
 }

Modified: wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java?rev=1051262&r1=1051261&r2=1051262&view=diff
==============================================================================
--- wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java (original)
+++ wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java Mon Dec 20 19:51:09 2010
@@ -23,7 +23,6 @@ import java.util.Map;
 import java.util.TimeZone;
 
 import org.apache.wicket.Session;
-import org.apache.wicket.datetime.StyleDateConverter;
 import org.apache.wicket.datetime.markup.html.form.DateTextField;
 import org.apache.wicket.markup.html.form.DropDownChoice;
 import org.apache.wicket.markup.html.form.FormComponentPanel;
@@ -57,8 +56,12 @@ public class DateTimeField extends FormC
 	/**
 	 * Enumerated type for different ways of handling the render part of requests.
 	 */
-	private static enum AM_PM {
-		AM("AM"), PM("PM");
+	public static enum AM_PM {
+		/** */
+		AM("AM"),
+
+		/** */
+		PM("PM");
 
 		/** */
 		private String value;
@@ -322,6 +325,10 @@ public class DateTimeField extends FormC
 			try
 			{
 				boolean use12HourFormat = use12HourFormat();
+				if (hoursField.isVisibleInHierarchy() == false)
+				{
+					hours = 0;
+				}
 				if (hours != null)
 				{
 					date.set(DateTimeFieldType.hourOfDay(), hours %
@@ -378,7 +385,7 @@ public class DateTimeField extends FormC
 	 */
 	protected DateTextField newDateTextField(String id, PropertyModel<Date> dateFieldModel)
 	{
-		return new DateTextField(id, dateFieldModel, new StyleDateConverter(false));
+		return DateTextField.forShortStyle(id, dateFieldModel);
 	}
 
 	/**

Modified: wicket/trunk/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java?rev=1051262&r1=1051261&r2=1051262&view=diff
==============================================================================
--- wicket/trunk/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java (original)
+++ wicket/trunk/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java Mon Dec 20 19:51:09 2010
@@ -19,17 +19,28 @@ package org.apache.wicket.extensions.yui
 import java.util.Date;
 import java.util.GregorianCalendar;
 import java.util.Locale;
+import java.util.TimeZone;
 
 import org.apache.wicket.Page;
 import org.apache.wicket.WicketTestCase;
+import org.apache.wicket.protocol.http.request.WebClientInfo;
 import org.apache.wicket.util.tester.DiffUtil;
 import org.apache.wicket.util.tester.FormTester;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * 
  */
 public class DatePickerTest extends WicketTestCase
 {
+	/** log. */
+	private static final Logger log = LoggerFactory.getLogger(DatePickerTest.class);
+
+	/**
+	 * 
+	 * @throws Exception
+	 */
 	public void test1() throws Exception
 	{
 		myTestExecution(DatesPage1.class, "DatesPage1_ExpectedResult.html");
@@ -52,8 +63,48 @@ public class DatePickerTest extends Wick
 		formTester.setValue("dateField:date", "06.11.2010");
 		formTester.submit();
 		DatesPage2 page = (DatesPage2)tester.getLastRenderedPage();
-		assertEquals(date, page.dateTime);
-		assertEquals(date, page.date);
+
+		log.error("orig: " + date + "; date: " + page.date + "; dateTime: " + page.dateTime);
+		assertEquals(date.toString(), page.dateTime.toString());
+		assertEquals(date.toString(), page.date.toString());
+	}
+
+	/**
+	 * 
+	 * @throws Exception
+	 */
+	public void test3() throws Exception
+	{
+		TimeZone tzClient = TimeZone.getTimeZone("America/Los_Angeles");
+		TimeZone tzServer = TimeZone.getTimeZone("Europe/Berlin");
+
+		System.setProperty("user.timezone", tzServer.getDisplayName());
+
+		Class<? extends Page> pageClass = DatesPage2.class;
+		GregorianCalendar gc = new GregorianCalendar(tzClient);
+		gc.set(2010, 10, 06, 0, 0, 0);
+		Date date = gc.getTime();
+
+		WebClientInfo clientInfo = (WebClientInfo)tester.getSession().getClientInfo();
+		clientInfo.getProperties().setTimeZone(tzClient);
+
+		tester.getSession().setLocale(Locale.GERMAN);
+		tester.startPage(pageClass);
+		tester.assertRenderedPage(pageClass);
+		FormTester formTester = tester.newFormTester("form");
+		formTester.setValue("dateTimeField:date", "06.11.2010");
+		formTester.setValue("dateTimeField:hours", "00");
+		formTester.setValue("dateTimeField:minutes", "00");
+		formTester.setValue("dateField:date", "06.11.2010");
+		formTester.setValue("dateField:hours", "00");
+		formTester.setValue("dateField:minutes", "00");
+		formTester.submit();
+
+		DatesPage2 page = (DatesPage2)tester.getLastRenderedPage();
+
+		log.error("orig: " + date + "; date: " + page.date + "; dateTime: " + page.dateTime);
+		assertEquals(date.toString(), page.dateTime.toString());
+		assertEquals(date.toString(), page.date.toString());
 	}
 
 	/**



Re: svn commit: r1051262 - in /wicket/trunk/wicket-datetime/src: main/java/org/apache/wicket/extensions/yui/calendar/ test/java/org/apache/wicket/extensions/yui/calendar/

Posted by Andrea Del Bene <ad...@ciseonweb.it>.
+1 for making TimeField a subtype of DateTimeField. currently they have 
a considerable amount of code in common so IMHO it would be a good idea 
to put them in the same hierarchy.


> DateField is no more FormComponentPanel, but now extends DateTimeField and
> just sets the time related components to invisible.
> Should we do the same for the recently added TimeField ?
>
> On Mon, Dec 20, 2010 at 8:51 PM,<jd...@apache.org>  wrote:
>


Re: svn commit: r1051262 - in /wicket/trunk/wicket-datetime/src: main/java/org/apache/wicket/extensions/yui/calendar/ test/java/org/apache/wicket/extensions/yui/calendar/

Posted by Martin Grigorov <mg...@apache.org>.
DateField is no more FormComponentPanel, but now extends DateTimeField and
just sets the time related components to invisible.
Should we do the same for the recently added TimeField ?

On Mon, Dec 20, 2010 at 8:51 PM, <jd...@apache.org> wrote:

> Author: jdonnerstag
> Date: Mon Dec 20 19:51:09 2010
> New Revision: 1051262
>
> URL: http://svn.apache.org/viewvc?rev=1051262&view=rev
> Log:
> WICKET-3249 fixed DateConverter improperly converts time, causing different
> results between DateField and DateTimeField
>
> Removed:
>
>  wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.html
> Modified:
>
>  wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java
>
>  wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
>
>  wicket/trunk/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java
>
> Modified:
> wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java
> URL:
> http://svn.apache.org/viewvc/wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java?rev=1051262&r1=1051261&r2=1051262&view=diff
>
> ==============================================================================
> ---
> wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java
> (original)
> +++
> wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java
> Mon Dec 20 19:51:09 2010
> @@ -19,10 +19,7 @@ package org.apache.wicket.extensions.yui
>  import java.util.Date;
>
>  import org.apache.wicket.datetime.markup.html.form.DateTextField;
> -import org.apache.wicket.markup.html.form.FormComponentPanel;
>  import org.apache.wicket.model.IModel;
> -import org.apache.wicket.model.PropertyModel;
> -import org.joda.time.MutableDateTime;
>
>  /**
>  * Works on a {@link java.util.Date} object. Displays a {@link
> DateTextField} and a
> @@ -53,14 +50,10 @@ import org.joda.time.MutableDateTime;
>  *
>  * @author eelcohillenius
>  */
> -public class DateField extends FormComponentPanel<Date>
> +public class DateField extends DateTimeField
>  {
>        private static final long serialVersionUID = 1L;
>
> -       private MutableDateTime date;
> -
> -       private DateTextField dateField;
> -
>        /**
>         * Construct.
>         *
> @@ -80,116 +73,9 @@ public class DateField extends FormCompo
>        public DateField(String id, IModel<Date> model)
>        {
>                super(id, model);
> -               setType(Date.class);
> -       }
> -
> -       /**
> -        * Gets date.
> -        *
> -        * @return date
> -        */
> -       public Date getDate()
> -       {
> -               return (date != null) ? date.toDate() : null;
> -       }
> -
> -       /**
> -        * @see org.apache.wicket.markup.html.form.FormComponent#getInput()
> -        */
> -       @Override
> -       public String getInput()
> -       {
> -               // since we override convertInput, we can let this method
> return a value
> -               // that is just suitable for error reporting
> -               return dateField.getInput();
> -       }
> -
> -       /**
> -        * Sets date.
> -        *
> -        * @param date
> -        *            date
> -        */
> -       public void setDate(Date date)
> -       {
> -               this.date = (date != null) ? new MutableDateTime(date) :
> null;
> -               setDefaultModelObject(date);
> -       }
> -
> -       /**
> -        * Sets the converted input. In this case, we're really just
> interested in the nested date
> -        * field, as that is the element that receives the real user input.
> So we're just passing that
> -        * on.
> -        * <p>
> -        * Note that overriding this method is a better option than
> overriding {@link #updateModel()}
> -        * like the first versions of this class did. The reason for that
> is that this method can be
> -        * used by form validators without having to depend on the actual
> model being updated, and this
> -        * method is called by the default implementation of {@link
> #updateModel()} anyway (so we don't
> -        * have to override that anymore).
> -        * </p>
> -        *
> -        * @see
> org.apache.wicket.markup.html.form.FormComponent#convertInput()
> -        */
> -       @Override
> -       protected void convertInput()
> -       {
> -               setConvertedInput(dateField.getConvertedInput());
> -       }
> -
> -       /**
> -        * create a new {@link DateTextField} instance to be added to this
> panel.
> -        *
> -        * @param id
> -        *            The id to be used when creating the component
> -        * @param dateFieldModel
> -        *            model that should be used by the {@link
> DateTextField}
> -        * @return a new date text field instance
> -        */
> -       protected DateTextField newDateTextField(final String id,
> -               final PropertyModel<Date> dateFieldModel)
> -       {
> -               return DateTextField.forShortStyle(id, dateFieldModel);
> -       }
>
> -       /**
> -        * @see org.apache.wicket.Component#onBeforeRender()
> -        */
> -       @Override
> -       protected void onBeforeRender()
> -       {
> -               if (dateField == null)
> -               {
> -                       // intiailize datefield and datepicker
> -                       PropertyModel<Date> dateFieldModel = new
> PropertyModel<Date>(this, "date");
> -                       add(dateField = newDateTextField("date",
> dateFieldModel));
> -                       dateField.add(newDatePicker());
> -               }
> -
> -               dateField.setRequired(isRequired());
> -
> -               // obsolete with WICKET-1919
> -               // dateField.setEnabled(isEnabledInHierarchy());
> -
> -               Date d = (Date)getDefaultModelObject();
> -               if (d != null)
> -               {
> -                       date = new MutableDateTime(d);
> -               }
> -               else
> -               {
> -                       date = null;
> -               }
> -
> -               super.onBeforeRender();
> -       }
> -
> -       /**
> -        * Factory method for datepicker that will be added to the field
> -        *
> -        * @return datepicker instance
> -        */
> -       protected DatePicker newDatePicker()
> -       {
> -               return new DatePicker();
> +               get("hours").setVisible(false);
> +               get("minutes").setVisible(false);
> +               get("amOrPmChoice").setVisible(false);
>        }
>  }
>
> Modified:
> wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
> URL:
> http://svn.apache.org/viewvc/wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java?rev=1051262&r1=1051261&r2=1051262&view=diff
>
> ==============================================================================
> ---
> wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
> (original)
> +++
> wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
> Mon Dec 20 19:51:09 2010
> @@ -23,7 +23,6 @@ import java.util.Map;
>  import java.util.TimeZone;
>
>  import org.apache.wicket.Session;
> -import org.apache.wicket.datetime.StyleDateConverter;
>  import org.apache.wicket.datetime.markup.html.form.DateTextField;
>  import org.apache.wicket.markup.html.form.DropDownChoice;
>  import org.apache.wicket.markup.html.form.FormComponentPanel;
> @@ -57,8 +56,12 @@ public class DateTimeField extends FormC
>        /**
>         * Enumerated type for different ways of handling the render part of
> requests.
>         */
> -       private static enum AM_PM {
> -               AM("AM"), PM("PM");
> +       public static enum AM_PM {
> +               /** */
> +               AM("AM"),
> +
> +               /** */
> +               PM("PM");
>
>                /** */
>                private String value;
> @@ -322,6 +325,10 @@ public class DateTimeField extends FormC
>                        try
>                        {
>                                boolean use12HourFormat = use12HourFormat();
> +                               if (hoursField.isVisibleInHierarchy() ==
> false)
> +                               {
> +                                       hours = 0;
> +                               }
>                                if (hours != null)
>                                {
>
>  date.set(DateTimeFieldType.hourOfDay(), hours %
> @@ -378,7 +385,7 @@ public class DateTimeField extends FormC
>         */
>        protected DateTextField newDateTextField(String id,
> PropertyModel<Date> dateFieldModel)
>        {
> -               return new DateTextField(id, dateFieldModel, new
> StyleDateConverter(false));
> +               return DateTextField.forShortStyle(id, dateFieldModel);
>        }
>
>        /**
>
> Modified:
> wicket/trunk/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java
> URL:
> http://svn.apache.org/viewvc/wicket/trunk/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java?rev=1051262&r1=1051261&r2=1051262&view=diff
>
> ==============================================================================
> ---
> wicket/trunk/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java
> (original)
> +++
> wicket/trunk/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java
> Mon Dec 20 19:51:09 2010
> @@ -19,17 +19,28 @@ package org.apache.wicket.extensions.yui
>  import java.util.Date;
>  import java.util.GregorianCalendar;
>  import java.util.Locale;
> +import java.util.TimeZone;
>
>  import org.apache.wicket.Page;
>  import org.apache.wicket.WicketTestCase;
> +import org.apache.wicket.protocol.http.request.WebClientInfo;
>  import org.apache.wicket.util.tester.DiffUtil;
>  import org.apache.wicket.util.tester.FormTester;
> +import org.slf4j.Logger;
> +import org.slf4j.LoggerFactory;
>
>  /**
>  *
>  */
>  public class DatePickerTest extends WicketTestCase
>  {
> +       /** log. */
> +       private static final Logger log =
> LoggerFactory.getLogger(DatePickerTest.class);
> +
> +       /**
> +        *
> +        * @throws Exception
> +        */
>        public void test1() throws Exception
>        {
>                myTestExecution(DatesPage1.class,
> "DatesPage1_ExpectedResult.html");
> @@ -52,8 +63,48 @@ public class DatePickerTest extends Wick
>                formTester.setValue("dateField:date", "06.11.2010");
>                formTester.submit();
>                DatesPage2 page = (DatesPage2)tester.getLastRenderedPage();
> -               assertEquals(date, page.dateTime);
> -               assertEquals(date, page.date);
> +
> +               log.error("orig: " + date + "; date: " + page.date + ";
> dateTime: " + page.dateTime);
> +               assertEquals(date.toString(), page.dateTime.toString());
> +               assertEquals(date.toString(), page.date.toString());
> +       }
> +
> +       /**
> +        *
> +        * @throws Exception
> +        */
> +       public void test3() throws Exception
> +       {
> +               TimeZone tzClient =
> TimeZone.getTimeZone("America/Los_Angeles");
> +               TimeZone tzServer = TimeZone.getTimeZone("Europe/Berlin");
> +
> +               System.setProperty("user.timezone",
> tzServer.getDisplayName());
> +
> +               Class<? extends Page> pageClass = DatesPage2.class;
> +               GregorianCalendar gc = new GregorianCalendar(tzClient);
> +               gc.set(2010, 10, 06, 0, 0, 0);
> +               Date date = gc.getTime();
> +
> +               WebClientInfo clientInfo =
> (WebClientInfo)tester.getSession().getClientInfo();
> +               clientInfo.getProperties().setTimeZone(tzClient);
> +
> +               tester.getSession().setLocale(Locale.GERMAN);
> +               tester.startPage(pageClass);
> +               tester.assertRenderedPage(pageClass);
> +               FormTester formTester = tester.newFormTester("form");
> +               formTester.setValue("dateTimeField:date", "06.11.2010");
> +               formTester.setValue("dateTimeField:hours", "00");
> +               formTester.setValue("dateTimeField:minutes", "00");
> +               formTester.setValue("dateField:date", "06.11.2010");
> +               formTester.setValue("dateField:hours", "00");
> +               formTester.setValue("dateField:minutes", "00");
> +               formTester.submit();
> +
> +               DatesPage2 page = (DatesPage2)tester.getLastRenderedPage();
> +
> +               log.error("orig: " + date + "; date: " + page.date + ";
> dateTime: " + page.dateTime);
> +               assertEquals(date.toString(), page.dateTime.toString());
> +               assertEquals(date.toString(), page.date.toString());
>        }
>
>        /**
>
>
>