1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
puts "================"
puts "OCC27192"
puts "================"
puts ""
######################################################
# Improvement of storage of Ocaf document in XML file format
######################################################
NewDocument M4 XmlOcaf
# Simple array with many separators inside.
SetExtStringArray M4 0:1 0 1 6
set S1 "Hello 1"
SetExtStringArrayValue M4 0:1 1 ${S1}
set S2 "Hello_2"
SetExtStringArrayValue M4 0:1 2 ${S2}
set S3 "Hello*3"
SetExtStringArrayValue M4 0:1 3 ${S3}
set S4 "Hello-4"
SetExtStringArrayValue M4 0:1 4 ${S4}
set S5 "Hello5"
SetExtStringArrayValue M4 0:1 5 ${S5}
set Sempty ""
SetExtStringArrayValue M4 0:1 6 ${Sempty}
SetNode M4 0:1
#An array with empty strings.
SetExtStringArray M4 0:2 0 0 3
SetExtStringArrayValue M4 0:2 0 ${Sempty}
set SH "H"
SetExtStringArrayValue M4 0:2 1 ${SH}
SetExtStringArrayValue M4 0:2 2 ${Sempty}
SetExtStringArrayValue M4 0:2 3 ${Sempty}
SetNode M4 0:2
AppendNode M4 0:1 0:2
#An empty array.
SetExtStringArray M4 0:3 0 0 0
SetNode M4 0:3
AppendNode M4 0:1 0:3
#Save & Close.
set aFile ${imagedir}/OCC27192.xml
#
file delete ${aFile}
#
if { [file exists ${aFile}] } {
puts "There is ${aFile} old file"
puts "OCC27192: ERROR (old file)"
}
#
catch {SaveAs M4 ${aFile}}
if { ![file exists ${aFile}] } {
puts "There is not ${aFile} file; SaveAs command: Error"
puts "OCC27192: ERROR (Save failed)"
}
Close M4
#Open the document and check the values.
catch {Open ${aFile} MM4}
set IsGood 1
#Check ExtStringArrays:
#0:1
set V1 [GetExtStringArrayValue MM4 0:1 1]
if { ${V1} != ${S1} } {
set IsGood 0
puts "${V1}!=${S1}"
}
set V2 [GetExtStringArrayValue MM4 0:1 2]
if { ${V2} != ${S2} } {
set IsGood 0
puts "${V2}!=${S2}"
}
set V3 [GetExtStringArrayValue MM4 0:1 3]
if { ${V3} != ${S3} } {
set IsGood 0
puts "${V3}!=${S3}"
}
set V4 [GetExtStringArrayValue MM4 0:1 4]
if { ${V4} != ${S4} } {
set IsGood 0
puts "${V4}!=${S4}"
}
set V5 [GetExtStringArrayValue MM4 0:1 5]
if { ${V5} != ${S5} } {
set IsGood 0
puts "${V5}!=${S5}"
}
set V6 [GetExtStringArrayValue MM4 0:1 6]
if { ${V6} != ${Sempty} } {
set IsGood 0
puts "${V6}!=${Sempty}"
}
#0:2
set V7 [GetExtStringArrayValue MM4 0:2 0]
if { ${V7} != ${Sempty} } {
set IsGood 0
puts "${V7}!=${Sempty}"
}
set V8 [GetExtStringArrayValue MM4 0:2 1]
if { ${V8} != ${SH} } {
set IsGood 0
puts "${V8}!=${SH}"
}
set V9 [GetExtStringArrayValue MM4 0:2 2]
if { ${V9} != ${Sempty} } {
set IsGood 0
puts "${V9}!=${Sempty}"
}
set V10 [GetExtStringArrayValue MM4 0:2 3]
if { ${V10} != ${Sempty} } {
set IsGood 0
puts "${V10}!=${Sempty}"
}
#0:3
set V11 [GetExtStringArrayValue MM4 0:3 0]
if { ${V11} != ${Sempty} } {
set IsGood 0
puts "${V11}!=${Sempty}"
}
if { ${IsGood} == 0} {
puts "OCC27192: Error"
} else {
puts "OCC27192: OK"
}
Close MM4
|