summaryrefslogtreecommitdiff
path: root/xsd-tests/cxx/parser/validation/all/testscript
diff options
context:
space:
mode:
Diffstat (limited to 'xsd-tests/cxx/parser/validation/all/testscript')
-rw-r--r--xsd-tests/cxx/parser/validation/all/testscript190
1 files changed, 190 insertions, 0 deletions
diff --git a/xsd-tests/cxx/parser/validation/all/testscript b/xsd-tests/cxx/parser/validation/all/testscript
new file mode 100644
index 0000000..e93e59c
--- /dev/null
+++ b/xsd-tests/cxx/parser/validation/all/testscript
@@ -0,0 +1,190 @@
+# file : cxx/parser/validation/all/testscript
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+test.arguments += test.xml
+
+: all-combinations
+:
+{
+ cat <<EOI >=test.xml;
+ <t:root xmlns:t="test"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="test test.xsd">
+
+ <!-- all combinations -->
+ <all>
+ <a>a</a>
+ <b>b</b>
+ <c>c</c>
+ </all>
+
+ <all>
+ <a>a</a>
+ <c>c</c>
+ <b>b</b>
+ </all>
+
+ <all>
+ <b>b</b>
+ <a>a</a>
+ <c>c</c>
+ </all>
+
+ <all>
+ <b>b</b>
+ <c>c</c>
+ <a>a</a>
+ </all>
+
+ <all>
+ <c>c</c>
+ <a>a</a>
+ <b>b</b>
+ </all>
+
+ <all>
+ <c>c</c>
+ <b>b</b>
+ <a>a</a>
+ </all>
+
+ <!-- optional c is not present -->
+ <all>
+ <a>a</a>
+ <b>b</b>
+ </all>
+
+ <all>
+ <a>a</a>
+ <b>b</b>
+ </all>
+ </t:root>
+ EOI
+
+ $* >>EOO
+ {
+ a = a
+ b = b
+ c = c
+ }
+
+ {
+ a = a
+ c = c
+ b = b
+ }
+
+ {
+ b = b
+ a = a
+ c = c
+ }
+
+ {
+ b = b
+ c = c
+ a = a
+ }
+
+ {
+ c = c
+ a = a
+ b = b
+ }
+
+ {
+ c = c
+ b = b
+ a = a
+ }
+
+ {
+ a = a
+ b = b
+ }
+
+ {
+ a = a
+ b = b
+ }
+
+ EOO
+}
+
+: required-not-present
+:
+{
+ cat <<EOI >=test.xml;
+ <t:root xmlns:t="test"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="test test.xsd">
+
+ <!-- required b is not present (invalid) -->
+ <all>
+ <a>a</a>
+ <c>c</c>
+ </all>
+
+ </t:root>
+ EOI
+
+ $* >>EOO
+ {
+ a = a
+ c = c
+ :9:9 error: expected element 'b'
+ }
+
+ EOO
+}
+
+: absent
+:
+{
+ cat <<EOI >=test.xml;
+ <t:root xmlns:t="test"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="test test.xsd">
+
+ <!-- invalid -->
+ <all>
+ </all>
+
+ </t:root>
+ EOI
+
+ $* >>EOO
+ {
+ :7:9 error: expected element 'a'
+ }
+
+ EOO
+}
+
+: unexpected
+:
+{
+ cat <<EOI >=test.xml;
+ <t:root xmlns:t="test"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="test test.xsd">
+
+ <!-- invalid -->
+ <all>
+ <a>a</a>
+ <b>b</b>
+ <a>a</a>
+ </all>
+
+ </t:root>
+ EOI
+
+ $* >>EOO
+ {
+ a = a
+ b = b
+ :9:7 error: unexpected element 'a'
+ }
+
+ EOO
+}