diff options
Diffstat (limited to 'xsd-tests/cxx/parser/validation/all/testscript')
-rw-r--r-- | xsd-tests/cxx/parser/validation/all/testscript | 190 |
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 +} |