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.