@ -96,8 +96,8 @@ class InputTagTests extends AbstractFormTagTests {
@@ -96,8 +96,8 @@ class InputTagTests extends AbstractFormTagTests {
@Test
void simpleBindWithHtmlEscaping ( ) throws Exception {
final String NAME = "Rob \"I Love Mango s\" Harrop" ;
final String HTML_ESCAPED_NAME = "Rob "I Love Mango s" Harrop" ;
final String NAME = "Rob \"I Love Café s\" Harrop" ;
final String HTML_ESCAPED_NAME = "Rob "I Love Café s" Harrop" ;
this . tag . setPath ( "name" ) ;
this . rob . setName ( NAME ) ;
@ -112,6 +112,25 @@ class InputTagTests extends AbstractFormTagTests {
@@ -112,6 +112,25 @@ class InputTagTests extends AbstractFormTagTests {
assertValueAttribute ( output , HTML_ESCAPED_NAME ) ;
}
@Test
void simpleBindWithHtmlEscapingAndCharacterEncoding ( ) throws Exception {
final String NAME = "Rob \"I Love Cafés\" Harrop" ;
final String HTML_ESCAPED_NAME = "Rob "I Love Cafés" Harrop" ;
this . getPageContext ( ) . getResponse ( ) . setCharacterEncoding ( "UTF-8" ) ;
this . tag . setPath ( "name" ) ;
this . rob . setName ( NAME ) ;
assertThat ( this . tag . doStartTag ( ) ) . isEqualTo ( Tag . SKIP_BODY ) ;
String output = getOutput ( ) ;
assertTagOpened ( output ) ;
assertTagClosed ( output ) ;
assertContainsAttribute ( output , "type" , getType ( ) ) ;
assertValueAttribute ( output , HTML_ESCAPED_NAME ) ;
}
protected void assertValueAttribute ( String output , String expectedValue ) {
assertContainsAttribute ( output , "value" , expectedValue ) ;
}