@ -64,6 +64,7 @@ import static org.assertj.core.api.Assertions.assertThat;
@@ -64,6 +64,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Juergen Hoeller
* @author Phillip Webb
* @author Sam Brannen
* @author Kazuki Shimizu
* /
class DateTimeFormattingTests {
@ -467,6 +468,16 @@ class DateTimeFormattingTests {
@@ -467,6 +468,16 @@ class DateTimeFormattingTests {
assertThat ( binder . getBindingResult ( ) . getFieldValue ( "yearMonth" ) . toString ( ) . equals ( "2007-12" ) ) . isTrue ( ) ;
}
@Test
public void testBindYearMonthAnnotatedPattern ( ) {
MutablePropertyValues propertyValues = new MutablePropertyValues ( ) ;
propertyValues . add ( "yearMonthAnnotatedPattern" , "12/2007" ) ;
binder . bind ( propertyValues ) ;
assertThat ( binder . getBindingResult ( ) . getErrorCount ( ) ) . isEqualTo ( 0 ) ;
assertThat ( binder . getBindingResult ( ) . getFieldValue ( "yearMonthAnnotatedPattern" ) ) . isEqualTo ( "12/2007" ) ;
assertThat ( binder . getBindingResult ( ) . getRawFieldValue ( "yearMonthAnnotatedPattern" ) ) . isEqualTo ( YearMonth . parse ( "2007-12" ) ) ;
}
@Test
void testBindMonthDay ( ) {
MutablePropertyValues propertyValues = new MutablePropertyValues ( ) ;
@ -476,6 +487,16 @@ class DateTimeFormattingTests {
@@ -476,6 +487,16 @@ class DateTimeFormattingTests {
assertThat ( binder . getBindingResult ( ) . getFieldValue ( "monthDay" ) . toString ( ) . equals ( "--12-03" ) ) . isTrue ( ) ;
}
@Test
public void testBindMonthDayAnnotatedPattern ( ) {
MutablePropertyValues propertyValues = new MutablePropertyValues ( ) ;
propertyValues . add ( "monthDayAnnotatedPattern" , "1/3" ) ;
binder . bind ( propertyValues ) ;
assertThat ( binder . getBindingResult ( ) . getErrorCount ( ) ) . isEqualTo ( 0 ) ;
assertThat ( binder . getBindingResult ( ) . getFieldValue ( "monthDayAnnotatedPattern" ) ) . isEqualTo ( "1/3" ) ;
assertThat ( binder . getBindingResult ( ) . getRawFieldValue ( "monthDayAnnotatedPattern" ) ) . isEqualTo ( MonthDay . parse ( "--01-03" ) ) ;
}
@Nested
class FallbackPatternTests {
@ -611,8 +632,14 @@ class DateTimeFormattingTests {
@@ -611,8 +632,14 @@ class DateTimeFormattingTests {
private YearMonth yearMonth ;
@DateTimeFormat ( pattern = "MM/uuuu" )
private YearMonth yearMonthAnnotatedPattern ;
private MonthDay monthDay ;
@DateTimeFormat ( pattern = "M/d" )
private MonthDay monthDayAnnotatedPattern ;
private final List < DateTimeBean > children = new ArrayList < > ( ) ;
@ -775,6 +802,14 @@ class DateTimeFormattingTests {
@@ -775,6 +802,14 @@ class DateTimeFormattingTests {
this . yearMonth = yearMonth ;
}
public YearMonth getYearMonthAnnotatedPattern ( ) {
return yearMonthAnnotatedPattern ;
}
public void setYearMonthAnnotatedPattern ( YearMonth yearMonthAnnotatedPattern ) {
this . yearMonthAnnotatedPattern = yearMonthAnnotatedPattern ;
}
public MonthDay getMonthDay ( ) {
return this . monthDay ;
}
@ -783,6 +818,14 @@ class DateTimeFormattingTests {
@@ -783,6 +818,14 @@ class DateTimeFormattingTests {
this . monthDay = monthDay ;
}
public MonthDay getMonthDayAnnotatedPattern ( ) {
return monthDayAnnotatedPattern ;
}
public void setMonthDayAnnotatedPattern ( MonthDay monthDayAnnotatedPattern ) {
this . monthDayAnnotatedPattern = monthDayAnnotatedPattern ;
}
public List < DateTimeBean > getChildren ( ) {
return this . children ;
}