You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Christoph Leiter (JIRA)" <ji...@apache.org> on 2012/04/22 13:29:40 UTC

[jira] [Commented] (WICKET-4507) wicktTester.getLastResponseAsString() returns wrong result after starting a Component

    [ https://issues.apache.org/jira/browse/WICKET-4507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13259070#comment-13259070 ] 

Christoph Leiter commented on WICKET-4507:
------------------------------------------

The current implementation of BaseWicketTester#getLastResponseAsString() returns just the body of a component if startComponentInPage() has been used. The surrounding markup of the page and the tag of the component get removed. Testing for attributes can't work that when only the body is rendered.

The JavaDoc of getLastResponseAsString isn't exactly clear what the intended behaviour is: "In case the processed component was not a Page then the automatically created page markup gets removed". I think the tag of the component itself shouldn't be removed.

I'll attach a patch which does just that.
                
> wicktTester.getLastResponseAsString() returns wrong result after starting a Component
> -------------------------------------------------------------------------------------
>
>                 Key: WICKET-4507
>                 URL: https://issues.apache.org/jira/browse/WICKET-4507
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.5.5
>            Reporter: Carsten Behring
>         Attachments: quickstart.tgz
>
>
> > This following test :
>  @Test
>  public void test() throws Exception {
>   WicketTester tester=new WicketTester();
>   tester.startComponentInPage(new Label("lableId", "content") {
>         @Override
>         protected void onComponentTag(ComponentTag tag) {
>             super.onComponentTag(tag);
>             tag.put("test","123");
>         }
>      });
>   tester.assertResultPage("icket:id=\"lableId\" test=\"123\">content");
>   assertEquals("icket:id=\"lableId\" test=\"123
>  \">content",tester.getLastResponseAsString());
>   assertEquals("",tester.getResponse().getDocument());
> }
> exposes the wrong behaviour of test.getLastResponseAsString() after starting a component.
> It should return something such as "<span> .... </span>", bit it returns a string "cut in the middle" : cket:id=\"lableId\" test=\"123\">content
> see attached quickstart

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira