Search in sources :

Example 1 with MockBodyContent

use of org.springframework.mock.web.test.MockBodyContent in project spring-framework by spring-projects.

the class ArgumentTagTests method argumentWithBodyValue.

@Test
public void argumentWithBodyValue() throws JspException {
    tag.setBodyContent(new MockBodyContent("value2", new MockHttpServletResponse()));
    int action = tag.doEndTag();
    assertEquals(Tag.EVAL_PAGE, action);
    assertEquals("value2", parent.getArgument());
}
Also used : MockBodyContent(org.springframework.mock.web.test.MockBodyContent) MockHttpServletResponse(org.springframework.mock.web.test.MockHttpServletResponse) Test(org.junit.Test)

Example 2 with MockBodyContent

use of org.springframework.mock.web.test.MockBodyContent in project spring-framework by spring-projects.

the class ParamTagTests method paramWithBodyValue.

@Test
public void paramWithBodyValue() throws JspException {
    tag.setName("name");
    tag.setBodyContent(new MockBodyContent("value", new MockHttpServletResponse()));
    int action = tag.doEndTag();
    assertEquals(Tag.EVAL_PAGE, action);
    assertEquals("name", parent.getParam().getName());
    assertEquals("value", parent.getParam().getValue());
}
Also used : MockBodyContent(org.springframework.mock.web.test.MockBodyContent) MockHttpServletResponse(org.springframework.mock.web.test.MockHttpServletResponse) Test(org.junit.Test)

Example 3 with MockBodyContent

use of org.springframework.mock.web.test.MockBodyContent in project spring-framework by spring-projects.

the class ErrorsTagTests method withExplicitEmptyWhitespaceBodyContent.

@Test
public void withExplicitEmptyWhitespaceBodyContent() throws Exception {
    this.tag.setBodyContent(new MockBodyContent("", getWriter()));
    // construct an errors instance of the tag
    TestBean target = new TestBean();
    target.setName("Rob Harrop");
    Errors errors = new BeanPropertyBindingResult(target, COMMAND_NAME);
    errors.rejectValue("name", "some.code", "Default Message");
    exposeBindingResult(errors);
    int result = this.tag.doStartTag();
    assertEquals(BodyTag.EVAL_BODY_BUFFERED, result);
    result = this.tag.doEndTag();
    assertEquals(Tag.EVAL_PAGE, result);
    String output = getOutput();
    assertElementTagOpened(output);
    assertElementTagClosed(output);
    assertContainsAttribute(output, "id", "name.errors");
    assertBlockTagContains(output, "Default Message");
}
Also used : MockBodyContent(org.springframework.mock.web.test.MockBodyContent) Errors(org.springframework.validation.Errors) BeanPropertyBindingResult(org.springframework.validation.BeanPropertyBindingResult) TestBean(org.springframework.tests.sample.beans.TestBean) Test(org.junit.Test)

Example 4 with MockBodyContent

use of org.springframework.mock.web.test.MockBodyContent in project spring-framework by spring-projects.

the class ErrorsTagTests method withExplicitWhitespaceBodyContent.

@Test
public void withExplicitWhitespaceBodyContent() throws Exception {
    this.tag.setBodyContent(new MockBodyContent("\t\n   ", getWriter()));
    // construct an errors instance of the tag
    TestBean target = new TestBean();
    target.setName("Rob Harrop");
    Errors errors = new BeanPropertyBindingResult(target, COMMAND_NAME);
    errors.rejectValue("name", "some.code", "Default Message");
    exposeBindingResult(errors);
    int result = this.tag.doStartTag();
    assertEquals(BodyTag.EVAL_BODY_BUFFERED, result);
    result = this.tag.doEndTag();
    assertEquals(Tag.EVAL_PAGE, result);
    String output = getOutput();
    assertElementTagOpened(output);
    assertElementTagClosed(output);
    assertContainsAttribute(output, "id", "name.errors");
    assertBlockTagContains(output, "Default Message");
}
Also used : MockBodyContent(org.springframework.mock.web.test.MockBodyContent) Errors(org.springframework.validation.Errors) BeanPropertyBindingResult(org.springframework.validation.BeanPropertyBindingResult) TestBean(org.springframework.tests.sample.beans.TestBean) Test(org.junit.Test)

Example 5 with MockBodyContent

use of org.springframework.mock.web.test.MockBodyContent in project spring-framework by spring-projects.

the class ErrorsTagTests method asBodyTagWithErrorsAndExistingMessagesAttributeInNonPageScopeAreNotClobbered.

/**
	 * https://jira.spring.io/browse/SPR-2788
	 */
@Test
public void asBodyTagWithErrorsAndExistingMessagesAttributeInNonPageScopeAreNotClobbered() throws Exception {
    String existingAttribute = "something";
    getPageContext().setAttribute(ErrorsTag.MESSAGES_ATTRIBUTE, existingAttribute, PageContext.APPLICATION_SCOPE);
    Errors errors = new BeanPropertyBindingResult(new TestBean(), "COMMAND_NAME");
    errors.rejectValue("name", "some.code", "Default Message");
    errors.rejectValue("name", "too.short", "Too Short");
    exposeBindingResult(errors);
    int result = this.tag.doStartTag();
    assertEquals(BodyTag.EVAL_BODY_BUFFERED, result);
    assertNotNull(getPageContext().getAttribute(ErrorsTag.MESSAGES_ATTRIBUTE));
    assertTrue(getPageContext().getAttribute(ErrorsTag.MESSAGES_ATTRIBUTE) instanceof List);
    String bodyContent = "Foo";
    this.tag.setBodyContent(new MockBodyContent(bodyContent, getWriter()));
    this.tag.doEndTag();
    this.tag.doFinally();
    assertEquals(bodyContent, getOutput());
    assertEquals(existingAttribute, getPageContext().getAttribute(ErrorsTag.MESSAGES_ATTRIBUTE, PageContext.APPLICATION_SCOPE));
}
Also used : Errors(org.springframework.validation.Errors) MockBodyContent(org.springframework.mock.web.test.MockBodyContent) BeanPropertyBindingResult(org.springframework.validation.BeanPropertyBindingResult) TestBean(org.springframework.tests.sample.beans.TestBean) List(java.util.List) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)13 MockBodyContent (org.springframework.mock.web.test.MockBodyContent)13 TestBean (org.springframework.tests.sample.beans.TestBean)6 BeanPropertyBindingResult (org.springframework.validation.BeanPropertyBindingResult)6 Errors (org.springframework.validation.Errors)6 MockHttpServletResponse (org.springframework.mock.web.test.MockHttpServletResponse)4 BindStatus (org.springframework.web.servlet.support.BindStatus)3 List (java.util.List)2