[ 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.