0023864: An & symbol is read incorrectly from a XML Ocaf file
authorvro <vro@opencascade.com>
Thu, 15 Aug 2013 12:28:11 +0000 (16:28 +0400)
committerbugmaster <bugmaster@opencascade.com>
Thu, 15 Aug 2013 13:24:06 +0000 (17:24 +0400)
A line is uncommented. This line sets the successfully read & symbol.
Correction and adding test cases for issue CR23864

src/LDOM/LDOM_CharReference.cxx
tests/bugs/caf/bug170_3
tests/bugs/caf/bug23864 [new file with mode: 0644]

index 98b34e0..99ce4bc 100755 (executable)
@@ -90,7 +90,7 @@ char * LDOM_CharReference::Decode (char * theSrc, Standard_Integer& theLen)
     }
     else if (IS_EQUAL(aSrcPtr+1, "amp;")) {
       aDstPtr = aSrcPtr - anIncrCount + 1;
-//    aDstPtr[-1] = '&';
+      aDstPtr[-1] = '&';
       anIncrCount += 4;
       aSrcPtr += 5;
     }
index bb5fb26..690c53d 100755 (executable)
@@ -1,5 +1,3 @@
-puts "TODO OCC12345 ALL: OCC170 Error"
-
 puts "========================"
 puts "OCC170"
 puts "(case 3)"
diff --git a/tests/bugs/caf/bug23864 b/tests/bugs/caf/bug23864
new file mode 100644 (file)
index 0000000..4e3e950
--- /dev/null
@@ -0,0 +1,22 @@
+puts "============"
+puts "OCC23864"
+puts "============"
+puts ""
+###################################################################################################################
+# An & symbol is read incorrectly from a XML Ocaf file
+###################################################################################################################
+
+#Open an Ocaf XML document
+Open [locate_data_file bug23864_testAmp.xml] D
+
+#Get name attribute (containing an & symbol)
+GetName D 0:1
+
+#Get an array of strings (containing an & symbol)
+set info [GetExtStringArray D 0:1]
+
+if { [regexp "\&" $info] != 1 } {
+    puts "Error : An \& symbol is read incorrectly from a XML Ocaf file"
+} else {
+    puts "OK : An \& symbol is read correctly from a XML Ocaf file"
+}