tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Field (JIRA)" <j...@apache.org>
Subject [jira] Created: (TAP5-804) Element#addClassName can create an additional new 'class' attribute
Date Wed, 05 Aug 2009 12:56:14 GMT
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.


Mime
View raw message