Author: mgrigorov
Date: Tue Jul 26 14:18:12 2011
New Revision: 1151108
URL: http://svn.apache.org/viewvc?rev=1151108&view=rev
Log:
WICKET-3884 Null model for AttributeAppender should not render empty attribute
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/AttributeAppender.java
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/AttributeModifierTest.java
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/AttributeAppender.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/AttributeAppender.java?rev=1151108&r1=1151107&r2=1151108&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/AttributeAppender.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/behavior/AttributeAppender.java
Tue Jul 26 14:18:12 2011
@@ -152,9 +152,9 @@ public class AttributeAppender extends A
{
// Short circuit when one of the values is empty: return the
other value.
if (Strings.isEmpty(currentValue))
- return appendValue != null ? appendValue : "";
+ return appendValue != null ? appendValue : null;
else if (Strings.isEmpty(appendValue))
- return currentValue != null ? currentValue : "";
+ return currentValue != null ? currentValue : null;
StringBuilder sb = new StringBuilder(currentValue);
sb.append((getSeparator() == null ? "" : getSeparator()));
Modified:
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/AttributeModifierTest.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/AttributeModifierTest.java?rev=1151108&r1=1151107&r2=1151108&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/AttributeModifierTest.java
(original)
+++
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/AttributeModifierTest.java
Tue Jul 26 14:18:12 2011
@@ -16,15 +16,12 @@
*/
package org.apache.wicket;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
import java.util.Map;
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.parser.XmlTag;
import org.apache.wicket.model.Model;
+import org.junit.Assert;
import org.junit.Test;
/**
@@ -33,7 +30,7 @@ import org.junit.Test;
* @author Chris Turner
* @author Eelco Hillenius
*/
-public class AttributeModifierTest
+public class AttributeModifierTest extends Assert
{
/**
* Test constructors.
@@ -230,7 +227,7 @@ public class AttributeModifierTest
assertEquals("newvalue", appender.newValue(null, "newvalue"));
assertEquals("oldvalue", appender.newValue("oldvalue", ""));
assertEquals("oldvalue", appender.newValue("oldvalue", null));
- assertEquals("", appender.newValue(null, null));
+ assertNull(appender.newValue(null, null));
}
/**
@@ -245,7 +242,7 @@ public class AttributeModifierTest
assertEquals("newvalue", prepender.newValue(null, "newvalue"));
assertEquals("oldvalue", prepender.newValue("oldvalue", ""));
assertEquals("oldvalue", prepender.newValue("oldvalue", null));
- assertEquals("", prepender.newValue(null, null));
+ assertNull(prepender.newValue(null, null));
}
/**
@@ -260,7 +257,7 @@ public class AttributeModifierTest
assertEquals("newvalue", appender.newValue(null, "newvalue"));
assertEquals("oldvalue", appender.newValue("oldvalue", ""));
assertEquals("oldvalue", appender.newValue("oldvalue", null));
- assertEquals("", appender.newValue(null, null));
+ assertNull(appender.newValue(null, null));
}
/**
@@ -275,6 +272,22 @@ public class AttributeModifierTest
assertEquals("newvalue", appender.newValue(null, "newvalue"));
assertEquals("oldvalue", appender.newValue("oldvalue", ""));
assertEquals("oldvalue", appender.newValue("oldvalue", null));
- assertEquals("", appender.newValue(null, null));
+ assertNull(appender.newValue(null, null));
+ }
+
+ /**
+ * Test that a null model does not append an empty attribute
+ * https://issues.apache.org/jira/browse/WICKET-3884
+ */
+ @Test
+ public void nullModelDoesNotAppendEmptyAttribute()
+ {
+ AttributeModifier appender = AttributeModifier.append("class",
null);
+ XmlTag xmlTag = new XmlTag();
+ ComponentTag tag = new ComponentTag(xmlTag);
+ appender.replaceAttributeValue(null, tag);
+ Map<String, Object> attributes = tag.getAttributes();
+ assertTrue(attributes.isEmpty());
}
+
}