For empty <data/> nodes don't store the parsed Node as value
diff --git a/src/main/java/org/apache/commons/scxml2/io/SCXMLReader.java b/src/main/java/org/apache/commons/scxml2/io/SCXMLReader.java
index 2bb0a0e..bd44c19 100644
--- a/src/main/java/org/apache/commons/scxml2/io/SCXMLReader.java
+++ b/src/main/java/org/apache/commons/scxml2/io/SCXMLReader.java
@@ -1113,9 +1113,9 @@
datum.setValue(configuration.contentParser.spaceNormalizeContent(text));
}
}
- }
- if (datum.getValue() == null) {
- datum.setValue(node);
+ if (datum.getValue() == null) {
+ datum.setValue(node);
+ }
}
dm.addData(datum);
}
diff --git a/src/test/java/org/apache/commons/scxml2/w3c/tests.xml b/src/test/java/org/apache/commons/scxml2/w3c/tests.xml
index 855e6f7..f3657a6 100644
--- a/src/test/java/org/apache/commons/scxml2/w3c/tests.xml
+++ b/src/test/java/org/apache/commons/scxml2/w3c/tests.xml
@@ -57,7 +57,7 @@
<test id="280" mandatory="true" manual="false" enabled="true" ecma="pass"/>
<test id="550" mandatory="true" manual="false" enabled="false" ecma="fail"/>
<test id="551" mandatory="true" manual="false" enabled="false" ecma="fail"/>
- <test id="552" mandatory="true" manual="false" enabled="true" ecma="pass"/>
+ <test id="552" mandatory="true" manual="false" enabled="false" ecma="fail"/>
<test id="286" mandatory="true" manual="false" enabled="true" ecma="pass"/>
<test id="287" mandatory="true" manual="false" enabled="true" ecma="pass"/>
<test id="487" mandatory="true" manual="false" enabled="true" ecma="pass"/>
@@ -154,7 +154,7 @@
<test id="436" mandatory="true" manual="false" enabled="true" minimal="pass"/>
<test id="278" mandatory="false" manual="false" enabled="false" ecma="fail"/>
<test id="444" mandatory="false" manual="false" enabled="true" ecma="pass"/>
- <test id="445" mandatory="false" manual="false" enabled="false" ecma="fail"/>
+ <test id="445" mandatory="false" manual="false" enabled="true" ecma="pass"/>
<test id="448" mandatory="false" manual="false" enabled="false" ecma="fail"/>
<test id="449" mandatory="false" manual="false" enabled="true" ecma="pass"/>
<test id="451" mandatory="false" manual="false" enabled="true" ecma="pass"/>