[
https://issues.apache.org/jira/browse/TAP5-804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12773661#action_12773661
]
Josh Canfield commented on TAP5-804:
------------------------------------
This is related to TAP5-708
Element.addClassName uses Element.forceAttributes which uses the elements
namespace to search for the attributes, which have a null namespace.
I'm submitting a patch for TAP5-708 which resolves this.
> Element#addClassName can create an additional new 'class' attribute
> -------------------------------------------------------------------
>
> Key: TAP5-804
> URL: https://issues.apache.org/jira/browse/TAP5-804
> Project: Tapestry 5
> Issue Type: Bug
> Components: tapestry-core
> Affects Versions: 5.0.18
> Reporter: Paul Field
>
> When writing a mixin that uses Element#addClassName, I noticed that I was
> getting two 'class' attributes in my element - rather than the one I was
> expecting.
> I've narrowed the problem down to a problem with how namespaces are used in
> Element and the following test case shows the problem. The "actual" output is:
> <e class="a b" class="a" xmlns="http://www.w3.org/1999/xhtml"></e>
> --------------------------------------
> package test.com.db.fusion.iface.web.tapestry5.mixins;
> import junit.framework.TestCase;
> import org.apache.tapestry5.dom.DefaultMarkupModel;
> import org.apache.tapestry5.dom.Document;
> import org.apache.tapestry5.dom.Element;
> public class AddClassNameTest extends TestCase {
> public void test() {
> Document document = new Document(new DefaultMarkupModel());
> Element element =
> document.newRootElement("http://www.w3.org/1999/xhtml", "e");
> element.attribute("class", "a");
> element.addClassName("b");
> assertEquals("<e class=\"a b\"
> xmlns=\"http://www.w3.org/1999/xhtml\"></e>", element.toString());
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.