You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org> on 2009/03/04 21:33:59 UTC

[jira] Commented: (TAP5-518) MarkupWriter.write() writes to deleted nodes

    [ https://issues.apache.org/jira/browse/TAP5-518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12678904#action_12678904 ] 

Howard M. Lewis Ship commented on TAP5-518:
-------------------------------------------

The DOM modifiying methods were intended to operate after the MarkupWriter, not in concert with it. Still a bug, but pretty minor.

> MarkupWriter.write() writes to deleted nodes
> --------------------------------------------
>
>                 Key: TAP5-518
>                 URL: https://issues.apache.org/jira/browse/TAP5-518
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.16
>         Environment: tested on Tapestry versions 5.0.18, 5.0.17 (could not select in list for this issue)
> Windows Vista Service Pack 1, Eclipse 3.4.1 Build M20080911-1700, Run Jetty Run Plugin 1.0.1
>            Reporter: Daniel Beck
>            Priority: Minor
>
> Description
> When removing a child text node from the current element, subsequent write()s ware still written to the removed node.
> Reproduce:
> public void test(MarkupWriter writer) {
>   writer.element("a");
>   writer.write("foo");
>   writer.getElement().removeChildren();
>   writer.write("bar");
>   writer.end();
> }
> Expected Result:
> <a>bar</a>
> Actual Result:
> <a></a> (5.0.18)
> <a/> (5.0.17)
> Notes
> MarkupWriter.write() is documented as: "Writes the text as a child of the current element" (5.0.17), suggesting that if there is no child text node, a new one is created.
> MarkupWriterImpl (in 5.0.17) holds a reference to the text node, but does not verify the node is still a child of the current node when write()ing to it.
> Workaround: Create a child <span> or other element which is basically ignored when rendering, but modifying the document might not work for everyone.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.