summaryrefslogtreecommitdiff
path: root/tests/cxx/parser/validation
diff options
context:
space:
mode:
Diffstat (limited to 'tests/cxx/parser/validation')
-rw-r--r--tests/cxx/parser/validation/all/driver.cxx98
-rw-r--r--tests/cxx/parser/validation/all/makefile92
-rw-r--r--tests/cxx/parser/validation/all/test-000.std46
-rw-r--r--tests/cxx/parser/validation/all/test-000.xml53
-rw-r--r--tests/cxx/parser/validation/all/test-001.std6
-rw-r--r--tests/cxx/parser/validation/all/test-001.xml11
-rw-r--r--tests/cxx/parser/validation/all/test-002.std4
-rw-r--r--tests/cxx/parser/validation/all/test-002.xml9
-rw-r--r--tests/cxx/parser/validation/all/test-003.std6
-rw-r--r--tests/cxx/parser/validation/all/test-003.xml12
-rw-r--r--tests/cxx/parser/validation/all/test.xsd20
-rw-r--r--tests/cxx/parser/validation/any/driver.cxx121
-rw-r--r--tests/cxx/parser/validation/any/makefile92
-rw-r--r--tests/cxx/parser/validation/any/test-000.std29
-rw-r--r--tests/cxx/parser/validation/any/test-000.xml21
-rw-r--r--tests/cxx/parser/validation/any/test.xsd20
-rw-r--r--tests/cxx/parser/validation/attribute/driver.cxx197
-rw-r--r--tests/cxx/parser/validation/attribute/makefile92
-rw-r--r--tests/cxx/parser/validation/attribute/test-000.std24
-rw-r--r--tests/cxx/parser/validation/attribute/test-000.xml10
-rw-r--r--tests/cxx/parser/validation/attribute/test.xsd71
-rw-r--r--tests/cxx/parser/validation/built-in/any-type/driver.cxx154
-rw-r--r--tests/cxx/parser/validation/built-in/any-type/makefile92
-rw-r--r--tests/cxx/parser/validation/built-in/any-type/test-000.std99
-rw-r--r--tests/cxx/parser/validation/built-in/any-type/test-000.xml41
-rw-r--r--tests/cxx/parser/validation/built-in/any-type/test.xsd31
-rw-r--r--tests/cxx/parser/validation/built-in/binary/driver.cxx153
-rw-r--r--tests/cxx/parser/validation/built-in/binary/makefile70
-rw-r--r--tests/cxx/parser/validation/built-in/boolean/driver.cxx145
-rw-r--r--tests/cxx/parser/validation/built-in/boolean/makefile70
-rw-r--r--tests/cxx/parser/validation/built-in/byte/driver.cxx256
-rw-r--r--tests/cxx/parser/validation/built-in/byte/makefile70
-rw-r--r--tests/cxx/parser/validation/built-in/date-time/driver.cxx1533
-rw-r--r--tests/cxx/parser/validation/built-in/date-time/makefile70
-rw-r--r--tests/cxx/parser/validation/built-in/float/driver.cxx285
-rw-r--r--tests/cxx/parser/validation/built-in/float/makefile70
-rw-r--r--tests/cxx/parser/validation/built-in/int/driver.cxx116
-rw-r--r--tests/cxx/parser/validation/built-in/int/makefile70
-rw-r--r--tests/cxx/parser/validation/built-in/integer/driver.cxx303
-rw-r--r--tests/cxx/parser/validation/built-in/integer/makefile70
-rw-r--r--tests/cxx/parser/validation/built-in/long/driver.cxx116
-rw-r--r--tests/cxx/parser/validation/built-in/long/makefile70
-rw-r--r--tests/cxx/parser/validation/built-in/makefile17
-rw-r--r--tests/cxx/parser/validation/built-in/qname/driver.cxx105
-rw-r--r--tests/cxx/parser/validation/built-in/qname/makefile70
-rw-r--r--tests/cxx/parser/validation/built-in/short/driver.cxx116
-rw-r--r--tests/cxx/parser/validation/built-in/short/makefile70
-rw-r--r--tests/cxx/parser/validation/built-in/string/driver.cxx512
-rw-r--r--tests/cxx/parser/validation/built-in/string/makefile70
-rw-r--r--tests/cxx/parser/validation/built-in/uri/driver.cxx53
-rw-r--r--tests/cxx/parser/validation/built-in/uri/makefile70
-rw-r--r--tests/cxx/parser/validation/choice/driver.cxx126
-rw-r--r--tests/cxx/parser/validation/choice/makefile92
-rw-r--r--tests/cxx/parser/validation/choice/test-000.std22
-rw-r--r--tests/cxx/parser/validation/choice/test-000.xml30
-rw-r--r--tests/cxx/parser/validation/choice/test-001.std4
-rw-r--r--tests/cxx/parser/validation/choice/test-001.xml10
-rw-r--r--tests/cxx/parser/validation/choice/test-002.std11
-rw-r--r--tests/cxx/parser/validation/choice/test-002.xml17
-rw-r--r--tests/cxx/parser/validation/choice/test-003.std5
-rw-r--r--tests/cxx/parser/validation/choice/test-003.xml11
-rw-r--r--tests/cxx/parser/validation/choice/test-004.std4
-rw-r--r--tests/cxx/parser/validation/choice/test-004.xml11
-rw-r--r--tests/cxx/parser/validation/choice/test.xsd24
-rw-r--r--tests/cxx/parser/validation/makefile16
-rw-r--r--tests/cxx/parser/validation/restriction/driver.cxx107
-rw-r--r--tests/cxx/parser/validation/restriction/makefile92
-rw-r--r--tests/cxx/parser/validation/restriction/test-000.std0
-rw-r--r--tests/cxx/parser/validation/restriction/test-000.xml31
-rw-r--r--tests/cxx/parser/validation/restriction/test-001.std1
-rw-r--r--tests/cxx/parser/validation/restriction/test-001.xml11
-rw-r--r--tests/cxx/parser/validation/restriction/test-002.std1
-rw-r--r--tests/cxx/parser/validation/restriction/test-002.xml12
-rw-r--r--tests/cxx/parser/validation/restriction/test-003.std1
-rw-r--r--tests/cxx/parser/validation/restriction/test-003.xml16
-rw-r--r--tests/cxx/parser/validation/restriction/test-004.std1
-rw-r--r--tests/cxx/parser/validation/restriction/test-004.xml10
-rw-r--r--tests/cxx/parser/validation/restriction/test-005.std1
-rw-r--r--tests/cxx/parser/validation/restriction/test-005.xml11
-rw-r--r--tests/cxx/parser/validation/restriction/test.xsd82
-rw-r--r--tests/cxx/parser/validation/sequence/driver.cxx139
-rw-r--r--tests/cxx/parser/validation/sequence/makefile92
-rw-r--r--tests/cxx/parser/validation/sequence/test-000.std56
-rw-r--r--tests/cxx/parser/validation/sequence/test-000.xml46
-rw-r--r--tests/cxx/parser/validation/sequence/test-001.std4
-rw-r--r--tests/cxx/parser/validation/sequence/test-001.xml10
-rw-r--r--tests/cxx/parser/validation/sequence/test-002.std20
-rw-r--r--tests/cxx/parser/validation/sequence/test-002.xml27
-rw-r--r--tests/cxx/parser/validation/sequence/test-003.std5
-rw-r--r--tests/cxx/parser/validation/sequence/test-003.xml17
-rw-r--r--tests/cxx/parser/validation/sequence/test-004.std4
-rw-r--r--tests/cxx/parser/validation/sequence/test-004.xml14
-rw-r--r--tests/cxx/parser/validation/sequence/test-005.std6
-rw-r--r--tests/cxx/parser/validation/sequence/test-005.xml15
-rw-r--r--tests/cxx/parser/validation/sequence/test-006.std13
-rw-r--r--tests/cxx/parser/validation/sequence/test-006.xml17
-rw-r--r--tests/cxx/parser/validation/sequence/test.xsd28
97 files changed, 0 insertions, 7274 deletions
diff --git a/tests/cxx/parser/validation/all/driver.cxx b/tests/cxx/parser/validation/all/driver.cxx
deleted file mode 100644
index 093d480..0000000
--- a/tests/cxx/parser/validation/all/driver.cxx
+++ /dev/null
@@ -1,98 +0,0 @@
-// file : tests/cxx/parser/validation/all/driver.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test the all compositor validation.
-//
-
-#include <string>
-#include <fstream>
-#include <iostream>
-
-#include "test-pskel.hxx"
-
-using namespace std;
-using namespace test;
-
-struct all_pimpl: all_pskel
-{
- virtual void
- pre ()
- {
- cout << "{" << endl;
- }
-
- virtual void
- a (string const& v)
- {
- cout << " a = " << v << endl;
- }
-
- virtual void
- b (string const& v)
- {
- cout << " b = " << v << endl;
- }
-
- virtual void
- c (string const& v)
- {
- cout << " c = " << v << endl;
- }
-
- virtual void
- post_all ()
- {
- cout << "}" << endl
- << endl;
- }
-};
-
-struct type_pimpl: type_pskel
-{
-};
-
-int
-main (int argc, char* argv[])
-{
- if (argc != 2)
- {
- cerr << "usage: " << argv[0] << " test.xml" << endl;
- return 1;
- }
-
- try
- {
- xml_schema::string_pimpl string_p;
- all_pimpl all_p;
- type_pimpl type_p;
-
- all_p.parsers (string_p, string_p, string_p);
- type_p.parsers (all_p);
-
- xml_schema::document doc_p (type_p, "test", "root");
-
- try
- {
- ifstream ifs (argv[1]);
- type_p.pre ();
- doc_p.parse (ifs, argv[1], "", xml_schema::flags::dont_validate);
- type_p.post_type ();
- }
- catch (xml_schema::exception const& e)
- {
- cout << " " << e << endl
- << "}" << endl
- << endl;
- }
- }
- catch (xml_schema::exception const& e)
- {
- cerr << e << endl;
- return 1;
- }
- catch (ios_base::failure const&)
- {
- cerr << "io failure" << endl;
- return 1;
- }
-}
diff --git a/tests/cxx/parser/validation/all/makefile b/tests/cxx/parser/validation/all/makefile
deleted file mode 100644
index b50e067..0000000
--- a/tests/cxx/parser/validation/all/makefile
+++ /dev/null
@@ -1,92 +0,0 @@
-# file : tests/cxx/parser/validation/all/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make
-
-xsd := test.xsd
-cxx := driver.cxx
-
-tests := 000 001 002 003
-
-obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o))
-dep := $(obj:.o=.o.d)
-
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/libxerces-c/stub.make,\
- l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-
-# Build.
-#
-$(driver): $(obj) $(xerces_c.l)
-
-$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd
-$(obj) $(dep): $(xerces_c.l.cpp-options)
-
-genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
-gen := $(addprefix $(out_base)/,$(genf))
-
-$(gen): xsd := $(out_root)/xsd/xsd
-$(gen): xsd_options += --generate-validation
-$(gen): $(out_root)/xsd/xsd
-
-$(call include-dep,$(dep),$(obj),$(gen))
-
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-test_targets := $(addprefix $(out_base)/.test-,$(tests))
-
-$(test): $(test_targets)
-$(test_targets): driver := $(driver)
-
-.PHONY: $(out_base)/.test-%
-$(out_base)/.test-%: $(driver) $(src_base)/test.xsd $(src_base)/test-%.xml $(src_base)/test-%.std
- $(call message,test $(out_base)/$*,$(driver) $(src_base)/test-$*.xml | diff -u $(src_base)/test-$*.std -)
-
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
- $(addsuffix .cxx.clean,$(dep)) \
- $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(gen): | $(out_base)/.gitignore
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver $(genf)
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
-
-$(call include,$(bld_root)/cxx/standard.make) # cxx_standard
-ifdef cxx_standard
-$(gen): xsd_options += --std $(cxx_standard)
-$(call include,$(scf_root)/xsd/parser/xsd-cxx.make)
-endif
-
-
-# Dependencies.
-#
-$(call import,$(src_root)/xsd/makefile)
diff --git a/tests/cxx/parser/validation/all/test-000.std b/tests/cxx/parser/validation/all/test-000.std
deleted file mode 100644
index b4445f2..0000000
--- a/tests/cxx/parser/validation/all/test-000.std
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- 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
-}
-
diff --git a/tests/cxx/parser/validation/all/test-000.xml b/tests/cxx/parser/validation/all/test-000.xml
deleted file mode 100644
index 6e46fae..0000000
--- a/tests/cxx/parser/validation/all/test-000.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<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>
diff --git a/tests/cxx/parser/validation/all/test-001.std b/tests/cxx/parser/validation/all/test-001.std
deleted file mode 100644
index 0472ad9..0000000
--- a/tests/cxx/parser/validation/all/test-001.std
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- a = a
- c = c
- :9:9 error: expected element 'b'
-}
-
diff --git a/tests/cxx/parser/validation/all/test-001.xml b/tests/cxx/parser/validation/all/test-001.xml
deleted file mode 100644
index 3df5600..0000000
--- a/tests/cxx/parser/validation/all/test-001.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<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>
diff --git a/tests/cxx/parser/validation/all/test-002.std b/tests/cxx/parser/validation/all/test-002.std
deleted file mode 100644
index c014230..0000000
--- a/tests/cxx/parser/validation/all/test-002.std
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- :7:9 error: expected element 'a'
-}
-
diff --git a/tests/cxx/parser/validation/all/test-002.xml b/tests/cxx/parser/validation/all/test-002.xml
deleted file mode 100644
index aed0c0c..0000000
--- a/tests/cxx/parser/validation/all/test-002.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <!-- invalid -->
- <all>
- </all>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/all/test-003.std b/tests/cxx/parser/validation/all/test-003.std
deleted file mode 100644
index dd8c0d3..0000000
--- a/tests/cxx/parser/validation/all/test-003.std
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- a = a
- b = b
- :9:7 error: unexpected element 'a'
-}
-
diff --git a/tests/cxx/parser/validation/all/test-003.xml b/tests/cxx/parser/validation/all/test-003.xml
deleted file mode 100644
index b147cba..0000000
--- a/tests/cxx/parser/validation/all/test-003.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<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>
diff --git a/tests/cxx/parser/validation/all/test.xsd b/tests/cxx/parser/validation/all/test.xsd
deleted file mode 100644
index 1f670e3..0000000
--- a/tests/cxx/parser/validation/all/test.xsd
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
-
- <complexType name="all">
- <all minOccurs="1">
- <element name="a" type="string"/>
- <element name="b" type="string"/>
- <element name="c" type="string" minOccurs="0"/>
- </all>
- </complexType>
-
- <complexType name="type">
- <sequence>
- <element name="all" type="t:all" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-
- <element name="root" type="t:type"/>
-
-</schema>
diff --git a/tests/cxx/parser/validation/any/driver.cxx b/tests/cxx/parser/validation/any/driver.cxx
deleted file mode 100644
index 3896598..0000000
--- a/tests/cxx/parser/validation/any/driver.cxx
+++ /dev/null
@@ -1,121 +0,0 @@
-// file : tests/cxx/parser/validation/any/driver.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test the any particle validation.
-//
-
-#include <string>
-#include <fstream>
-#include <iostream>
-
-#include "test-pskel.hxx"
-
-using namespace std;
-using namespace test;
-using xml_schema::ro_string;
-
-struct any_a_pimpl: any_a_pskel
-{
- virtual void
- pre ()
- {
- cout << "{" << endl;
- }
-
- virtual void
- a (string const& v)
- {
- cout << " a = " << v << endl;
- }
-
- virtual void
- x (string const& v)
- {
- cout << " x = " << v << endl;
- }
-
- virtual void
- _start_any_element (ro_string const&,
- ro_string const& n,
- ro_string const*)
- {
- cout << " start any element '" << n << "'" << endl;
- }
-
- virtual void
- _end_any_element (ro_string const&, ro_string const& n)
- {
- cout << " end any element '" << n << "'" << endl;
- }
-
- virtual void
- _any_attribute (ro_string const&,
- ro_string const& n,
- ro_string const& v)
- {
- cout << " any attribute " << n << " = '" << v << "'" << endl;
- }
-
- virtual void
- _any_characters (ro_string const& s)
- {
- cout << " any text: '" << s << "'" << endl;
- }
-
- virtual void
- post_any_a ()
- {
- cout << "}" << endl
- << endl;
- }
-};
-
-struct type_pimpl: type_pskel
-{
-};
-
-int
-main (int argc, char* argv[])
-{
- if (argc != 2)
- {
- cerr << "usage: " << argv[0] << " test.xml" << endl;
- return 1;
- }
-
- try
- {
- xml_schema::string_pimpl string_p;
- any_a_pimpl any_a_p;
- type_pimpl type_p;
-
- any_a_p.parsers (string_p, string_p);
- type_p.parsers (any_a_p);
-
- xml_schema::document doc_p (type_p, "test", "root");
-
- try
- {
- ifstream ifs (argv[1]);
- type_p.pre ();
- doc_p.parse (ifs, argv[1], "", xml_schema::flags::dont_validate);
- type_p.post_type ();
- }
- catch (xml_schema::exception const& e)
- {
- cout << " " << e << endl
- << "}" << endl
- << endl;
- }
- }
- catch (xml_schema::exception const& e)
- {
- cerr << e << endl;
- return 1;
- }
- catch (ios_base::failure const&)
- {
- cerr << "io failure" << endl;
- return 1;
- }
-}
diff --git a/tests/cxx/parser/validation/any/makefile b/tests/cxx/parser/validation/any/makefile
deleted file mode 100644
index fe3cdab..0000000
--- a/tests/cxx/parser/validation/any/makefile
+++ /dev/null
@@ -1,92 +0,0 @@
-# file : tests/cxx/parser/validation/any/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make
-
-xsd := test.xsd
-cxx := driver.cxx
-
-tests := 000
-
-obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o))
-dep := $(obj:.o=.o.d)
-
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/libxerces-c/stub.make,\
- l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-
-# Build.
-#
-$(driver): $(obj) $(xerces_c.l)
-
-$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd
-$(obj) $(dep): $(xerces_c.l.cpp-options)
-
-genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
-gen := $(addprefix $(out_base)/,$(genf))
-
-$(gen): xsd := $(out_root)/xsd/xsd
-$(gen): xsd_options += --generate-validation
-$(gen): $(out_root)/xsd/xsd
-
-$(call include-dep,$(dep),$(obj),$(gen))
-
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-test_targets := $(addprefix $(out_base)/.test-,$(tests))
-
-$(test): $(test_targets)
-$(test_targets): driver := $(driver)
-
-.PHONY: $(out_base)/.test-%
-$(out_base)/.test-%: $(driver) $(src_base)/test.xsd $(src_base)/test-%.xml $(src_base)/test-%.std
- $(call message,test $(out_base)/$*,$(driver) $(src_base)/test-$*.xml | diff -u $(src_base)/test-$*.std -)
-
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
- $(addsuffix .cxx.clean,$(dep)) \
- $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(gen): | $(out_base)/.gitignore
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver $(genf)
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
-
-$(call include,$(bld_root)/cxx/standard.make) # cxx_standard
-ifdef cxx_standard
-$(gen): xsd_options += --std $(cxx_standard)
-$(call include,$(scf_root)/xsd/parser/xsd-cxx.make)
-endif
-
-
-# Dependencies.
-#
-$(call import,$(src_root)/xsd/makefile)
diff --git a/tests/cxx/parser/validation/any/test-000.std b/tests/cxx/parser/validation/any/test-000.std
deleted file mode 100644
index a1cc6e3..0000000
--- a/tests/cxx/parser/validation/any/test-000.std
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- start any element 'any'
- end any element 'any'
-}
-
-{
- start any element 'any'
- any attribute x = 'xxx'
- any text: 'aaa'
- start any element 'a'
- any text: 'bbb'
- end any element 'a'
- any text: 'ccc'
- end any element 'any'
-}
-
-{
- x = x
- a = a
- start any element 'any'
- any attribute x = 'xxx'
- any text: 'aaa'
- start any element 'a'
- any text: 'bbb'
- end any element 'a'
- any text: 'ccc'
- end any element 'any'
-}
-
diff --git a/tests/cxx/parser/validation/any/test-000.xml b/tests/cxx/parser/validation/any/test-000.xml
deleted file mode 100644
index f1a0c83..0000000
--- a/tests/cxx/parser/validation/any/test-000.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:o="other"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <!-- test dispatching of any-nested elements and attributes -->
-
- <any-a>
- <o:any/>
- </any-a>
-
- <any-a>
- <o:any x="xxx">aaa<a>bbb</a>ccc</o:any>
- </any-a>
-
- <any-a x="x">
- <a>a</a>
- <o:any x="xxx">aaa<a>bbb</a>ccc</o:any>
- </any-a>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/any/test.xsd b/tests/cxx/parser/validation/any/test.xsd
deleted file mode 100644
index c05aeb5..0000000
--- a/tests/cxx/parser/validation/any/test.xsd
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
-
- <complexType name="any-a">
- <sequence>
- <element name="a" type="string" minOccurs="0"/>
- <any namespace="other" processContents="skip" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="x" type="string"/>
- </complexType>
-
- <complexType name="type">
- <choice maxOccurs="unbounded">
- <element name="any-a" type="t:any-a"/>
- </choice>
- </complexType>
-
- <element name="root" type="t:type"/>
-
-</schema>
diff --git a/tests/cxx/parser/validation/attribute/driver.cxx b/tests/cxx/parser/validation/attribute/driver.cxx
deleted file mode 100644
index 8eda713..0000000
--- a/tests/cxx/parser/validation/attribute/driver.cxx
+++ /dev/null
@@ -1,197 +0,0 @@
-// file : tests/cxx/parser/validation/attribute/driver.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test attribute and attribute wildcard (anyAttribute) validation.
-//
-
-#include <string>
-#include <fstream>
-#include <iostream>
-
-#include "test-pskel.hxx"
-
-using namespace std;
-using namespace test;
-using xml_schema::ro_string;
-
-struct pass_a_pimpl: pass_a_pskel
-{
- virtual void
- pre ()
- {
- cout << "pass-a" << endl
- << "{" << endl;
- }
-
- virtual void
- a (string const& v)
- {
- cout << " a = " << v << endl;
- }
-
- virtual void
- b (string const& v)
- {
- cout << " b = " << v << endl;
- }
-
- virtual void
- _any_attribute (ro_string const& ns,
- ro_string const& name,
- ro_string const& value)
- {
- cout << " any: " << ns << "#" << name << " = " << value << endl;
- }
-
- virtual void
- post_pass_a ()
- {
- cout << "}" << endl
- << endl;
- }
-};
-
-struct pass_b_pimpl: pass_b_pskel
-{
- virtual void
- pre ()
- {
- cout << "pass-b" << endl
- << "{" << endl;
- }
-
- virtual void
- a (string const& v)
- {
- cout << " a = " << v << endl;
- }
-
- virtual void
- b (string const& v)
- {
- cout << " b = " << v << endl;
- }
-
- virtual void
- _any_attribute (ro_string const& ns,
- ro_string const& name,
- ro_string const& value)
- {
- cout << " any: " << ns << "#" << name << " = " << value << endl;
- }
-
- virtual void
- post_pass_b ()
- {
- cout << "}" << endl
- << endl;
- }
-};
-
-struct pass_c_pimpl: pass_c_pskel
-{
- virtual void
- pre ()
- {
- cout << "pass-c" << endl
- << "{" << endl;
- }
-
- virtual void
- a (string const& v)
- {
- cout << " a = " << v << endl;
- }
-
- virtual void
- b (string const& v)
- {
- cout << " b = " << v << endl;
- }
-
- virtual void
- post_pass_c ()
- {
- cout << "}" << endl
- << endl;
- }
-};
-
-struct fail_pimpl: fail_pskel
-{
- virtual void
- pre ()
- {
- cout << "fail" << endl
- << "{" << endl;
- }
-
- virtual void
- a (string const& v)
- {
- cout << " a = " << v << endl;
- }
-
- virtual void
- post_fail ()
- {
- cout << "}" << endl
- << endl;
- }
-};
-
-struct type_pimpl: type_pskel
-{
-};
-
-int
-main (int argc, char* argv[])
-{
- if (argc != 2)
- {
- cerr << "usage: " << argv[0] << " test.xml" << endl;
- return 1;
- }
-
- try
- {
- xml_schema::string_pimpl string_p;
- pass_a_pimpl pass_a_p;
- pass_b_pimpl pass_b_p;
- pass_c_pimpl pass_c_p;
- fail_pimpl fail_p;
- type_pimpl type_p;
-
- pass_a_p.parsers (string_p, string_p);
- pass_b_p.parsers (string_p, string_p);
- pass_c_p.parsers (string_p, string_p);
- fail_p.parsers (string_p);
- type_p.parsers (pass_a_p, pass_b_p, pass_c_p, fail_p);
-
- xml_schema::document doc_p (type_p, "test", "root");
-
- try
- {
- ifstream ifs (argv[1]);
- type_p.pre ();
- doc_p.parse (ifs, argv[1], "", xml_schema::flags::dont_validate);
- type_p.post_type ();
- }
- catch (xml_schema::exception const& e)
- {
- cout << " " << e << endl
- << "}" << endl
- << endl;
- }
- }
- catch (xml_schema::exception const& e)
- {
- cerr << e << endl;
- return 1;
- }
- catch (ios_base::failure const&)
- {
- cerr << "io failure" << endl;
- return 1;
- }
-}
diff --git a/tests/cxx/parser/validation/attribute/makefile b/tests/cxx/parser/validation/attribute/makefile
deleted file mode 100644
index d92bf1d..0000000
--- a/tests/cxx/parser/validation/attribute/makefile
+++ /dev/null
@@ -1,92 +0,0 @@
-# file : tests/cxx/parser/validation/attribute/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make
-
-xsd := test.xsd
-cxx := driver.cxx
-
-tests := 000
-
-obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o))
-dep := $(obj:.o=.o.d)
-
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/libxerces-c/stub.make,\
- l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-
-# Build.
-#
-$(driver): $(obj) $(xerces_c.l)
-
-$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd
-$(obj) $(dep): $(xerces_c.l.cpp-options)
-
-genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
-gen := $(addprefix $(out_base)/,$(genf))
-
-$(gen): xsd := $(out_root)/xsd/xsd
-$(gen): xsd_options += --generate-validation
-$(gen): $(out_root)/xsd/xsd
-
-$(call include-dep,$(dep),$(obj),$(gen))
-
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-test_targets := $(addprefix $(out_base)/.test-,$(tests))
-
-$(test): $(test_targets)
-$(test_targets): driver := $(driver)
-
-.PHONY: $(out_base)/.test-%
-$(out_base)/.test-%: $(driver) $(src_base)/test.xsd $(src_base)/test-%.xml $(src_base)/test-%.std
- $(call message,test $(out_base)/$*,$(driver) $(src_base)/test-$*.xml | diff -u $(src_base)/test-$*.std -)
-
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
- $(addsuffix .cxx.clean,$(dep)) \
- $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(gen): | $(out_base)/.gitignore
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver $(genf)
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
-
-$(call include,$(bld_root)/cxx/standard.make) # cxx_standard
-ifdef cxx_standard
-$(gen): xsd_options += --std $(cxx_standard)
-$(call include,$(scf_root)/xsd/parser/xsd-cxx.make)
-endif
-
-
-# Dependencies.
-#
-$(call import,$(src_root)/xsd/makefile)
diff --git a/tests/cxx/parser/validation/attribute/test-000.std b/tests/cxx/parser/validation/attribute/test-000.std
deleted file mode 100644
index 847b054..0000000
--- a/tests/cxx/parser/validation/attribute/test-000.std
+++ /dev/null
@@ -1,24 +0,0 @@
-pass-a
-{
- b = b
- any: test#foo = foo
- any: test#bar = bar
-}
-
-pass-b
-{
- a = a
- b = b
-}
-
-pass-c
-{
- a = a
- b = b
-}
-
-fail
-{
- :8:10 error: expected attribute 'a'
-}
-
diff --git a/tests/cxx/parser/validation/attribute/test-000.xml b/tests/cxx/parser/validation/attribute/test-000.xml
deleted file mode 100644
index b994d1a..0000000
--- a/tests/cxx/parser/validation/attribute/test-000.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <pass-a b="b" t:foo="foo" t:bar="bar"/>
- <pass-b a="a" b="b"/>
- <pass-c a="a" b="b"/>
- <fail/>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/attribute/test.xsd b/tests/cxx/parser/validation/attribute/test.xsd
deleted file mode 100644
index 833eb8e..0000000
--- a/tests/cxx/parser/validation/attribute/test.xsd
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
-
-
- <!-- Test optional and required attributes as well as a wildcard. -->
- <complexType name="pass-a">
- <attribute name="a" type="string" use="optional"/>
- <attribute name="b" type="string" use="required"/>
- <anyAttribute namespace="##targetNamespace" processContents="skip"/>
- </complexType>
-
-
- <!-- Test that in inheritance attributes are checked before wildcards. -->
- <complexType name="pass-b-base">
- <attribute name="a" type="string"/>
- <anyAttribute namespace="#any" processContents="skip"/>
- </complexType>
-
- <complexType name="pass-b">
- <complexContent>
- <extension base="t:pass-b-base">
- <attribute name="b" type="string"/>
- <anyAttribute namespace="#any" processContents="skip"/>
- </extension>
- </complexContent>
- </complexType>
-
-
- <!-- Test that in inheritance by restriction required attribute is
- checked for even though it is not explicitly mentioned in
- derived. -->
- <complexType name="pass-c-base">
- <attribute name="a" type="string" use="required"/>
- <attribute name="b" type="string" use="optional"/>
- </complexType>
-
- <complexType name="pass-c">
- <complexContent>
- <restriction base="t:pass-c-base">
- <attribute name="b" type="string" use="required"/>
- </restriction>
- </complexContent>
- </complexType>
-
-
- <!-- Test detection of missing required attribute. -->
- <complexType name="fail-base">
- <attribute name="a" type="string" use="optional"/>
- </complexType>
-
- <complexType name="fail">
- <complexContent>
- <restriction base="t:fail-base">
- <attribute name="a" type="string" use="required"/>
- </restriction>
- </complexContent>
- </complexType>
-
-
- <complexType name="type">
- <sequence>
- <element name="pass-a" type="t:pass-a"/>
- <element name="pass-b" type="t:pass-b"/>
- <element name="pass-c" type="t:pass-c"/>
- <element name="fail" type="t:fail"/>
- </sequence>
- </complexType>
-
- <element name="root" type="t:type"/>
-
-</schema>
diff --git a/tests/cxx/parser/validation/built-in/any-type/driver.cxx b/tests/cxx/parser/validation/built-in/any-type/driver.cxx
deleted file mode 100644
index fd91247..0000000
--- a/tests/cxx/parser/validation/built-in/any-type/driver.cxx
+++ /dev/null
@@ -1,154 +0,0 @@
-// file : tests/cxx/parser/validation/built-in/any-type/driver.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test the anyType and anySimpleType validation.
-//
-
-#include <string>
-#include <fstream>
-#include <iostream>
-
-#include "test-pskel.hxx"
-
-using namespace std;
-using namespace test;
-using xml_schema::ro_string;
-
-struct any_type_pimpl: xml_schema::any_type_pimpl
-{
- virtual void
- pre ()
- {
- cout << "{" << endl;
- }
-
- virtual void
- _start_any_element (ro_string const&,
- ro_string const& n,
- ro_string const*)
- {
- cout << " start any element '" << n << "'" << endl;
- }
-
- virtual void
- _end_any_element (ro_string const&, ro_string const& n)
- {
- cout << " end any element '" << n << "'" << endl;
- }
-
- virtual void
- _any_attribute (ro_string const&,
- ro_string const& n,
- ro_string const& v)
- {
- cout << " any attribute " << n << " = '" << v << "'" << endl;
- }
-
- virtual void
- _any_characters (ro_string const& s)
- {
- cout << " any text: '" << s << "'" << endl;
- }
-
- virtual void
- post_any_type ()
- {
- cout << "}" << endl
- << endl;
- }
-};
-
-struct any_simple_type_pimpl: xml_schema::any_simple_type_pimpl
-{
- virtual void
- pre ()
- {
- cout << "{" << endl;
- }
-
- virtual void
- _any_characters (ro_string const& s)
- {
- cout << " any text: '" << s << "'" << endl;
- }
-
- virtual void
- post_any_simple_type ()
- {
- cout << "}" << endl
- << endl;
- }
-};
-
-struct any_extension_pimpl: virtual any_extension_pskel,
- any_type_pimpl
-
-{
- virtual void
- x (const string& v)
- {
- cout << " x = " << v << endl;
- }
-};
-
-struct any_simple_extension_pimpl: virtual any_simple_extension_pskel,
- any_simple_type_pimpl
-{
- virtual void
- x (const string& v)
- {
- cout << " x = " << v << endl;
- }
-};
-
-struct type_pimpl: type_pskel
-{
-};
-
-int
-main (int argc, char* argv[])
-{
- if (argc != 2)
- {
- cerr << "usage: " << argv[0] << " test.xml" << endl;
- return 1;
- }
-
- try
- {
- xml_schema::string_pimpl string_p;
-
- any_type_pimpl any_type_p;
- any_simple_type_pimpl any_simple_type_p;
-
- any_extension_pimpl any_extension_p;
- any_simple_extension_pimpl any_simple_extension_p;
-
- type_pimpl type_p;
-
- any_extension_p.parsers (string_p);
- any_simple_extension_p.parsers (string_p);
-
- type_p.parsers (any_type_p,
- any_extension_p,
- any_simple_extension_p,
- any_simple_type_p);
-
- xml_schema::document doc_p (type_p, "test", "root");
-
- ifstream ifs (argv[1]);
- type_p.pre ();
- doc_p.parse (ifs, argv[1], "", xml_schema::flags::dont_validate);
- type_p.post_type ();
- }
- catch (xml_schema::exception const& e)
- {
- cerr << e << endl;
- return 1;
- }
- catch (ios_base::failure const&)
- {
- cerr << "io failure" << endl;
- return 1;
- }
-}
diff --git a/tests/cxx/parser/validation/built-in/any-type/makefile b/tests/cxx/parser/validation/built-in/any-type/makefile
deleted file mode 100644
index dfbb183..0000000
--- a/tests/cxx/parser/validation/built-in/any-type/makefile
+++ /dev/null
@@ -1,92 +0,0 @@
-# file : tests/cxx/parser/validation/built-in/any-type/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make
-
-xsd := test.xsd
-cxx := driver.cxx
-
-tests := 000
-
-obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o))
-dep := $(obj:.o=.o.d)
-
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/libxerces-c/stub.make,\
- l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-
-# Build.
-#
-$(driver): $(obj) $(xerces_c.l)
-
-$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd
-$(obj) $(dep): $(xerces_c.l.cpp-options)
-
-genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
-gen := $(addprefix $(out_base)/,$(genf))
-
-$(gen): xsd := $(out_root)/xsd/xsd
-$(gen): xsd_options += --generate-validation
-$(gen): $(out_root)/xsd/xsd
-
-$(call include-dep,$(dep),$(obj),$(gen))
-
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-test_targets := $(addprefix $(out_base)/.test-,$(tests))
-
-$(test): $(test_targets)
-$(test_targets): driver := $(driver)
-
-.PHONY: $(out_base)/.test-%
-$(out_base)/.test-%: $(driver) $(src_base)/test.xsd $(src_base)/test-%.xml $(src_base)/test-%.std
- $(call message,test $(out_base)/$*,$(driver) $(src_base)/test-$*.xml | diff -u $(src_base)/test-$*.std -)
-
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
- $(addsuffix .cxx.clean,$(dep)) \
- $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(gen): | $(out_base)/.gitignore
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver $(genf)
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
-
-$(call include,$(bld_root)/cxx/standard.make) # cxx_standard
-ifdef cxx_standard
-$(gen): xsd_options += --std $(cxx_standard)
-$(call include,$(scf_root)/xsd/parser/xsd-cxx.make)
-endif
-
-
-# Dependencies.
-#
-$(call import,$(src_root)/xsd/makefile)
diff --git a/tests/cxx/parser/validation/built-in/any-type/test-000.std b/tests/cxx/parser/validation/built-in/any-type/test-000.std
deleted file mode 100644
index 84d7b3a..0000000
--- a/tests/cxx/parser/validation/built-in/any-type/test-000.std
+++ /dev/null
@@ -1,99 +0,0 @@
-{
- any text: '123abc'
-}
-
-{
- any text: '
- '
- start any element 'any'
- end any element 'any'
- any text: '
- '
-}
-
-{
- any text: '
- '
- start any element 'any'
- any attribute x = 'xxx'
- any text: 'aaa'
- start any element 'a'
- any text: 'bbb'
- end any element 'a'
- any text: 'ccc'
- end any element 'any'
- any text: '
- '
-}
-
-{
- any attribute x = 'x'
- any text: '
- '
- start any element 'a'
- any text: 'a'
- end any element 'a'
- any text: '
- '
- start any element 'any'
- any attribute x = 'xxx'
- any text: 'aaa'
- start any element 'a'
- any text: 'bbb'
- end any element 'a'
- any text: 'ccc'
- end any element 'any'
- any text: '
- '
-}
-
-{
- any text: '
- '
- start any element 'any'
- end any element 'any'
- any text: '
- '
-}
-
-{
- any text: '
- '
- start any element 'any'
- any attribute x = 'xxx'
- any text: 'aaa'
- start any element 'a'
- any text: 'bbb'
- end any element 'a'
- any text: 'ccc'
- end any element 'any'
- any text: '
- '
-}
-
-{
- x = x
- any text: '
- '
- start any element 'a'
- any text: 'a'
- end any element 'a'
- any text: '
- '
- start any element 'any'
- any attribute x = 'xxx'
- any text: 'aaa'
- start any element 'a'
- any text: 'bbb'
- end any element 'a'
- any text: 'ccc'
- end any element 'any'
- any text: '
- '
-}
-
-{
- x = x
- any text: 'abc123'
-}
-
diff --git a/tests/cxx/parser/validation/built-in/any-type/test-000.xml b/tests/cxx/parser/validation/built-in/any-type/test-000.xml
deleted file mode 100644
index 7875b7e..0000000
--- a/tests/cxx/parser/validation/built-in/any-type/test-000.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:o="other"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd"
- as="123abc">
-
- <!-- test dispatching of anyType nested elements and attributes -->
-
- <a>
- <o:any/>
- </a>
-
- <a>
- <o:any x="xxx">aaa<a>bbb</a>ccc</o:any>
- </a>
-
- <a x="x">
- <a>a</a>
- <o:any x="xxx">aaa<a>bbb</a>ccc</o:any>
- </a>
-
- <!-- anyType extension -->
-
- <a-extension>
- <o:any/>
- </a-extension>
-
- <a-extension>
- <o:any x="xxx">aaa<a>bbb</a>ccc</o:any>
- </a-extension>
-
- <a-extension x="x">
- <a>a</a>
- <o:any x="xxx">aaa<a>bbb</a>ccc</o:any>
- </a-extension>
-
- <!-- anySimpleType extension -->
-
- <as-extension x="x">abc123</as-extension>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/built-in/any-type/test.xsd b/tests/cxx/parser/validation/built-in/any-type/test.xsd
deleted file mode 100644
index 86a4e13..0000000
--- a/tests/cxx/parser/validation/built-in/any-type/test.xsd
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
-
- <complexType name="any-extension">
- <complexContent mixed="true">
- <extension base="anyType">
- <attribute name="x" type="string"/>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="any-simple-extension">
- <simpleContent>
- <extension base="anySimpleType">
- <attribute name="x" type="string"/>
- </extension>
- </simpleContent>
- </complexType>
-
- <complexType name="type">
- <choice maxOccurs="unbounded">
- <element name="a" type="anyType"/>
- <element name="a-extension" type="t:any-extension"/>
- <element name="as-extension" type="t:any-simple-extension"/>
- </choice>
- <attribute name="as" type="anySimpleType"/>
- </complexType>
-
- <element name="root" type="t:type"/>
-
-</schema>
diff --git a/tests/cxx/parser/validation/built-in/binary/driver.cxx b/tests/cxx/parser/validation/built-in/binary/driver.cxx
deleted file mode 100644
index 86575f4..0000000
--- a/tests/cxx/parser/validation/built-in/binary/driver.cxx
+++ /dev/null
@@ -1,153 +0,0 @@
-// file : tests/cxx/parser/validation/built-in/binary/driver.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test the built-in base64Binary and hexBinary types validation.
-//
-#include <cassert>
-
-#include <xsd/cxx/parser/validating/exceptions.hxx>
-#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx>
-
-using namespace xsd::cxx::parser::validating;
-
-template <typename T>
-bool
-test_post_fail (T& p)
-{
- try
- {
- p._post ();
- }
- catch (invalid_value<char> const&)
- {
- return true;
- }
-
- return false;
-}
-
-int
-main ()
-{
- typedef xsd::cxx::parser::buffer buffer;
-
- // Good.
- //
-
- // hexBinary
- //
- {
- hex_binary_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \t\n ");
- p._characters (" ");
- p._post ();
- assert (*p.post_hex_binary () == buffer ());
- }
-
- {
- hex_binary_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \t\n313");
- p._characters ("23334356162636a6b ");
- p._post ();
- assert (*p.post_hex_binary () == buffer ("12345abcjk", 10));
- }
-
- // base64Binary
- //
- {
- base64_binary_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \t\n ");
- p._characters ("MTIzND ");
- p._characters ("VhYmNqaw = = ");
- p._post ();
- assert (*p.post_base64_binary () == buffer ("12345abcjk", 10));
- }
-
- {
- base64_binary_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("YQ==");
- p._post ();
- assert (*p.post_base64_binary () == buffer ("a", 1));
- }
-
- {
- base64_binary_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("YWI=");
- p._post ();
- assert (*p.post_base64_binary () == buffer ("ab", 2));
- }
-
- {
- base64_binary_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("YWJj");
- p._post ();
- assert (*p.post_base64_binary () == buffer ("abc", 3));
- }
-
- // Bad
- //
-
- // hexBinary
- //
- {
- hex_binary_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("313");
- assert (test_post_fail (p));
- }
-
- {
- hex_binary_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("313233343X6162636a6b");
- assert (test_post_fail (p));
- }
-
- // base64Binary
- //
- {
- base64_binary_pimpl<char> p;
- p.pre ();
- p._pre ();
- // p._characters ("");
- assert (test_post_fail (p));
- }
-
- {
- base64_binary_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("YQ");
- assert (test_post_fail (p));
- }
-
- {
- base64_binary_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("==");
- assert (test_post_fail (p));
- }
-
- {
- base64_binary_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("MTIzNDVhYmNqaw=A");
- assert (test_post_fail (p));
- }
-}
diff --git a/tests/cxx/parser/validation/built-in/binary/makefile b/tests/cxx/parser/validation/built-in/binary/makefile
deleted file mode 100644
index f0c5ae6..0000000
--- a/tests/cxx/parser/validation/built-in/binary/makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-# file : tests/cxx/parser/validation/built-in/binary/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make
-
-cxx := driver.cxx
-
-obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o))
-dep := $(obj:.o=.o.d)
-
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/libxerces-c/stub.make,\
- l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-
-# Build.
-#
-$(driver): $(obj) $(xerces_c.l)
-
-$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd
-$(obj) $(dep): $(xerces_c.l.cpp-options)
-
-# Define XSD_CXX11 since we include libxsd headers directly.
-#
-$(call include,$(bld_root)/cxx/standard.make) # cxx_standard
-ifeq ($(cxx_standard),c++11)
-$(obj) $(dep): cpp_options += -DXSD_CXX11
-endif
-
-$(call include-dep,$(dep),$(obj),$(gen))
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-$(test): driver := $(driver)
-$(test): $(driver)
- $(call message,test $$1,$$1,$(driver))
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
- $(addsuffix .cxx.clean,$(dep))
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
diff --git a/tests/cxx/parser/validation/built-in/boolean/driver.cxx b/tests/cxx/parser/validation/built-in/boolean/driver.cxx
deleted file mode 100644
index 6a21cb7..0000000
--- a/tests/cxx/parser/validation/built-in/boolean/driver.cxx
+++ /dev/null
@@ -1,145 +0,0 @@
-// file : tests/cxx/parser/validation/built-in/boolean/driver.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test the built-in boolean type validation.
-//
-#include <cassert>
-
-#include <xsd/cxx/parser/validating/exceptions.hxx>
-#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx>
-
-using namespace xsd::cxx::parser::validating;
-
-bool
-test_post_fail (boolean_pimpl<char>& p)
-{
- try
- {
- p._post ();
- }
- catch (invalid_value<char> const&)
- {
- return true;
- }
-
- return false;
-}
-
-int
-main ()
-{
- // Good.
- //
- {
- boolean_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("true");
- p._post ();
- assert (p.post_boolean ());
- }
-
- {
- boolean_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("1");
- p._post ();
- assert (p.post_boolean ());
- }
-
- {
- boolean_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("false");
- p._post ();
- assert (!p.post_boolean ());
- }
-
- {
- boolean_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("0");
- p._post ();
- assert (!p.post_boolean ());
- }
-
-
- {
- boolean_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" true ");
- p._post ();
- assert (p.post_boolean ());
- }
-
- {
- boolean_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" ");
- p._characters (" \n ");
- p._characters (" fa");
- p._characters ("l");
- p._characters ("se ");
- p._characters (" \n ");
- p._characters (" ");
- p._post ();
- assert (!p.post_boolean ());
- }
-
- // Bad
- //
- {
- boolean_pimpl<char> p;
- p.pre ();
- p._pre ();
- //p._characters ("");
- assert (test_post_fail (p));
- }
-
- {
- boolean_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("");
- assert (test_post_fail (p));
- }
-
- {
- boolean_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" ");
- assert (test_post_fail (p));
- }
-
- {
- boolean_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" ");
- assert (test_post_fail (p));
- }
-
- {
- boolean_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("fal");
- p._characters ("s ");
- p._characters ("e");
- assert (test_post_fail (p));
- }
-
- {
- boolean_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("01");
- assert (test_post_fail (p));
- }
-}
diff --git a/tests/cxx/parser/validation/built-in/boolean/makefile b/tests/cxx/parser/validation/built-in/boolean/makefile
deleted file mode 100644
index 52f4e88..0000000
--- a/tests/cxx/parser/validation/built-in/boolean/makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-# file : tests/cxx/parser/validation/built-in/boolean/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make
-
-cxx := driver.cxx
-
-obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o))
-dep := $(obj:.o=.o.d)
-
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/libxerces-c/stub.make,\
- l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-
-# Build.
-#
-$(driver): $(obj) $(xerces_c.l)
-
-$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd
-$(obj) $(dep): $(xerces_c.l.cpp-options)
-
-# Define XSD_CXX11 since we include libxsd headers directly.
-#
-$(call include,$(bld_root)/cxx/standard.make) # cxx_standard
-ifeq ($(cxx_standard),c++11)
-$(obj) $(dep): cpp_options += -DXSD_CXX11
-endif
-
-$(call include-dep,$(dep),$(obj),$(gen))
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-$(test): driver := $(driver)
-$(test): $(driver)
- $(call message,test $$1,$$1,$(driver))
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
- $(addsuffix .cxx.clean,$(dep))
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
diff --git a/tests/cxx/parser/validation/built-in/byte/driver.cxx b/tests/cxx/parser/validation/built-in/byte/driver.cxx
deleted file mode 100644
index c0e2b99..0000000
--- a/tests/cxx/parser/validation/built-in/byte/driver.cxx
+++ /dev/null
@@ -1,256 +0,0 @@
-// file : tests/cxx/parser/validation/built-in/byte/driver.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test the built-in byte and unsigned byte types validation.
-//
-#include <cassert>
-
-#include <xsd/cxx/parser/validating/exceptions.hxx>
-#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx>
-
-using namespace xsd::cxx::parser::validating;
-
-template <typename T>
-bool
-test_post_fail (T& p)
-{
- try
- {
- p._post ();
- }
- catch (invalid_value<char> const&)
- {
- return true;
- }
-
- return false;
-}
-
-int
-main ()
-{
- // Good.
- //
- {
- byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("123");
- p._post ();
- assert (p.post_byte () == 123);
- }
-
- {
- byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("\t +123 \n ");
- p._post ();
- assert (p.post_byte () == 123);
- }
-
- {
- byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-123");
- p._post ();
- assert (p.post_byte () == -123);
- }
-
- {
- byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("+123");
- p._post ();
- assert (p.post_byte () == 123);
- }
-
- {
- byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("0000000000000000123");
- p._post ();
- assert (p.post_byte () == 123);
- }
-
- {
- byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("+0000000000000000123");
- p._post ();
- assert (p.post_byte () == 123);
- }
-
- {
- byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-0000000000000000123");
- p._post ();
- assert (p.post_byte () == -123);
- }
-
- {
- byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("\t \n");
- p._characters (" -");
- p._characters ("00000");
- p._characters ("001");
- p._characters ("23 \n\t");
- p._post ();
- assert (p.post_byte () == -123);
- }
-
- {
- byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-128");
- p._post ();
- assert (p.post_byte () == -128);
- }
-
- {
- byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("127");
- p._post ();
- assert (p.post_byte () == 127);
- }
-
- {
- unsigned_byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("+123");
- p._post ();
- assert (p.post_unsigned_byte () == 123);
- }
-
- {
- unsigned_byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("0");
- p._post ();
- assert (p.post_unsigned_byte () == 0);
- }
-
- {
- unsigned_byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("255");
- p._post ();
- assert (p.post_unsigned_byte () == 255);
- }
-
- // Bad
- //
- {
- byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- // p._characters ("");
- assert (test_post_fail (p));
- }
-
- {
- byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("");
- assert (test_post_fail (p));
- }
-
- {
- byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \n \t ");
- assert (test_post_fail (p));
- }
-
- {
- byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("+");
- assert (test_post_fail (p));
- }
-
- {
- byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-");
- assert (test_post_fail (p));
- }
-
- {
- byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("++01");
- assert (test_post_fail (p));
- }
-
- {
- byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("--01");
- assert (test_post_fail (p));
- }
-
- {
- byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-01");
- p._characters (" ");
- p._characters ("23 ");
- assert (test_post_fail (p));
- }
-
- {
- unsigned_byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-123");
- assert (test_post_fail (p));
- }
-
- // Ranges
- //
- {
- byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-129");
- assert (test_post_fail (p));
- }
-
- {
- byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("128");
- assert (test_post_fail (p));
- }
-
- {
- unsigned_byte_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("256");
- assert (test_post_fail (p));
- }
-}
diff --git a/tests/cxx/parser/validation/built-in/byte/makefile b/tests/cxx/parser/validation/built-in/byte/makefile
deleted file mode 100644
index afc8174..0000000
--- a/tests/cxx/parser/validation/built-in/byte/makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-# file : tests/cxx/parser/validation/built-in/byte/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make
-
-cxx := driver.cxx
-
-obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o))
-dep := $(obj:.o=.o.d)
-
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/libxerces-c/stub.make,\
- l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-
-# Build.
-#
-$(driver): $(obj) $(xerces_c.l)
-
-$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd
-$(obj) $(dep): $(xerces_c.l.cpp-options)
-
-# Define XSD_CXX11 since we include libxsd headers directly.
-#
-$(call include,$(bld_root)/cxx/standard.make) # cxx_standard
-ifeq ($(cxx_standard),c++11)
-$(obj) $(dep): cpp_options += -DXSD_CXX11
-endif
-
-$(call include-dep,$(dep),$(obj),$(gen))
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-$(test): driver := $(driver)
-$(test): $(driver)
- $(call message,test $$1,$$1,$(driver))
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
- $(addsuffix .cxx.clean,$(dep))
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
diff --git a/tests/cxx/parser/validation/built-in/date-time/driver.cxx b/tests/cxx/parser/validation/built-in/date-time/driver.cxx
deleted file mode 100644
index 8aa3943..0000000
--- a/tests/cxx/parser/validation/built-in/date-time/driver.cxx
+++ /dev/null
@@ -1,1533 +0,0 @@
-// file : tests/cxx/parser/validation/built-in/date-time/driver.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test the built-in date and time types validation.
-//
-#include <cassert>
-
-#include <xsd/cxx/parser/validating/exceptions.hxx>
-#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx>
-
-using namespace xsd::cxx::parser::validating;
-
-template <typename T>
-bool
-test_post_fail (T& p)
-{
- try
- {
- p._post ();
- }
- catch (invalid_value<char> const&)
- {
- return true;
- }
-
- return false;
-}
-
-int
-main ()
-{
- typedef xsd::cxx::parser::gday gday;
- typedef xsd::cxx::parser::gmonth gmonth;
- typedef xsd::cxx::parser::gyear gyear;
- typedef xsd::cxx::parser::gmonth_day gmonth_day;
- typedef xsd::cxx::parser::gyear_month gyear_month;
- typedef xsd::cxx::parser::date date;
- typedef xsd::cxx::parser::time time;
- typedef xsd::cxx::parser::date_time date_time;
- typedef xsd::cxx::parser::duration duration;
-
- // Good.
- //
-
- // gday & time zone parsing
- //
- {
- gday_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \t\n ");
- p._characters ("---1");
- p._characters ("2+12:00");
- p._post ();
- assert (p.post_gday () == gday (12, 12, 00));
- }
-
- {
- gday_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("---01");
- p._post ();
- assert (p.post_gday () == gday (1));
- }
-
- {
- gday_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("---31");
- p._post ();
- assert (p.post_gday () == gday (31));
- }
-
- {
- gday_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("---15Z");
- p._post ();
- assert (p.post_gday () == gday (15, 0, 0));
- }
-
- {
- gday_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("---15-14:00");
- p._post ();
- assert (p.post_gday () == gday (15, -14, 0));
- }
-
- // gmonth
- //
- {
- gmonth_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \t\n ");
- p._characters ("--1");
- p._characters ("0+12:00");
- p._post ();
- assert (p.post_gmonth () == gmonth (10, 12, 0));
- }
-
- {
- gmonth_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("--01");
- p._post ();
- assert (p.post_gmonth () == gmonth (1));
- }
-
- {
- gmonth_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("--12Z");
- p._post ();
- assert (p.post_gmonth () == gmonth (12, 0, 0));
- }
-
- // gyear
- //
- {
- gyear_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \t\n ");
- p._characters ("20");
- p._characters ("07+12:00");
- p._post ();
- assert (p.post_gyear () == gyear (2007, 12, 00));
- }
-
- {
- gyear_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("0001");
- p._post ();
- assert (p.post_gyear () == gyear (1));
- }
-
- {
- gyear_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-20000Z");
- p._post ();
- assert (p.post_gyear () == gyear (-20000, 0, 0));
- }
-
- // gmonth_day
- //
- {
- gmonth_day_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \t\n ");
- p._characters ("--1");
- p._characters ("0-28+12:00 ");
- p._post ();
- assert (p.post_gmonth_day () == gmonth_day (10, 28, 12, 00));
- }
-
- {
- gmonth_day_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("--12-31");
- p._post ();
- assert (p.post_gmonth_day () == gmonth_day (12, 31));
- }
-
- {
- gmonth_day_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("--01-01Z");
- p._post ();
- assert (p.post_gmonth_day () == gmonth_day (1, 1, 0, 0));
- }
-
- // gyear_month
- //
- {
- gyear_month_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \t\n ");
- p._characters ("200");
- p._characters ("7-12+12:00 ");
- p._post ();
- assert (p.post_gyear_month () == gyear_month (2007, 12, 12, 00));
- }
-
- {
- gyear_month_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-2007-10");
- p._post ();
- assert (p.post_gyear_month () == gyear_month (-2007, 10));
- }
-
- {
- gyear_month_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("20007-10Z");
- p._post ();
- assert (p.post_gyear_month () == gyear_month (20007, 10, 0, 0));
- }
-
- {
- gyear_month_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-20007-01");
- p._post ();
- assert (p.post_gyear_month () == gyear_month (-20007, 1));
- }
-
- // date
- //
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \t\n ");
- p._characters ("200");
- p._characters ("7-12-26+12:00 ");
- p._post ();
- assert (p.post_date () == date (2007, 12, 26, 12, 0));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-2007-10-15");
- p._post ();
- assert (p.post_date () == date (-2007, 10, 15));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("20007-12-31Z");
- p._post ();
- assert (p.post_date () == date (20007, 12, 31, 0, 0));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-20007-01-01");
- p._post ();
- assert (p.post_date () == date (-20007, 1, 1));
- }
-
- // time
- //
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \t\n ");
- p._characters ("12:");
- p._characters ("46:23.456+12:00 ");
- p._post ();
- assert (p.post_time () == time (12, 46, 23.456, 12, 0));
- }
-
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("12:13:14");
- p._post ();
- assert (p.post_time () == time (12, 13, 14.0));
- }
-
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("12:13:14Z");
- p._post ();
- assert (p.post_time () == time (12, 13, 14.0, 0, 0));
- }
-
- // date_time
- //
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \t\n ");
- p._characters ("200");
- p._characters ("7-12-26T12:13:14.123+12:00 ");
- p._post ();
- assert (p.post_date_time () ==
- date_time (2007, 12, 26, 12, 13, 14.123, 12, 0));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-2007-10-15T12:13:14");
- p._post ();
- assert (p.post_date_time () == date_time (-2007, 10, 15, 12, 13, 14.0));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("20007-12-31T12:13:14Z");
- p._post ();
- assert (p.post_date_time () ==
- date_time (20007, 12, 31, 12, 13, 14.0, 0, 0));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-20007-01-01T12:13:14");
- p._post ();
- assert (p.post_date_time () == date_time (-20007, 1, 1, 12, 13, 14.0));
- }
-
- // duration
- //
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \t\n ");
- p._characters ("-P200");
- p._characters ("7Y13M32DT25H61M61.123S ");
- p._post ();
- assert (p.post_duration () ==
- duration (true, 2007, 13, 32, 25, 61, 61.123));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("P1Y");
- p._post ();
- assert (p.post_duration () == duration (false, 1, 0, 0, 0, 0, 0.0));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("P1M");
- p._post ();
- assert (p.post_duration () == duration (false, 0, 1, 0, 0, 0, 0.0));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("P1D");
- p._post ();
- assert (p.post_duration () == duration (false, 0, 0, 1, 0, 0, 0.0));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("PT1H");
- p._post ();
- assert (p.post_duration () == duration (false, 0, 0, 0, 1, 0, 0.0));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("PT1M");
- p._post ();
- assert (p.post_duration () == duration (false, 0, 0, 0, 0, 1, 0.0));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("PT1.1S");
- p._post ();
- assert (p.post_duration () == duration (false, 0, 0, 0, 0, 0, 1.1));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("P1YT1S");
- p._post ();
- assert (p.post_duration () == duration (false, 1, 0, 0, 0, 0, 1.0));
- }
-
- // Bad
- //
-
- // gday & time zone parsing
- //
- {
- gday_pimpl<char> p;
- p.pre ();
- p._pre ();
- // p._characters ("");
- assert (test_post_fail (p));
- }
-
- {
- gday_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("--12");
- assert (test_post_fail (p));
- }
-
- {
- gday_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("---1");
- assert (test_post_fail (p));
- }
-
- {
- gday_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("---00");
- assert (test_post_fail (p));
- }
-
- {
- gday_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("---32");
- assert (test_post_fail (p));
- }
-
- {
- gday_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("---2X");
- assert (test_post_fail (p));
- }
-
- {
- gday_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("---12asd");
- assert (test_post_fail (p));
- }
-
- {
- gday_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("---12X");
- assert (test_post_fail (p));
- }
-
- {
- gday_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("---1212:00");
- assert (test_post_fail (p));
- }
-
- {
- gday_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("---12+2:00");
- assert (test_post_fail (p));
- }
-
- {
- gday_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("---12+1200");
- assert (test_post_fail (p));
- }
-
- {
- gday_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("---12+15:00");
- assert (test_post_fail (p));
- }
-
- {
- gday_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("---12+12:60");
- assert (test_post_fail (p));
- }
-
- {
- gday_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("---12+14:01");
- assert (test_post_fail (p));
- }
-
- // gmonth
- //
- {
- gmonth_pimpl<char> p;
- p.pre ();
- p._pre ();
- // p._characters ("");
- assert (test_post_fail (p));
- }
-
- {
- gmonth_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-12");
- assert (test_post_fail (p));
- }
-
- {
- gmonth_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("--00");
- assert (test_post_fail (p));
- }
-
- {
- gmonth_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("--13");
- assert (test_post_fail (p));
- }
-
- {
- gmonth_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("--1X");
- assert (test_post_fail (p));
- }
-
- {
- gmonth_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("--11+12:3o");
- assert (test_post_fail (p));
- }
-
- // gyear
- //
- {
- gyear_pimpl<char> p;
- p.pre ();
- p._pre ();
- // p._characters ("");
- assert (test_post_fail (p));
- }
-
- {
- gyear_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("207");
- assert (test_post_fail (p));
- }
-
- {
- gyear_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-207");
- assert (test_post_fail (p));
- }
-
- {
- gyear_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-0000");
- assert (test_post_fail (p));
- }
-
- {
- gyear_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("20X7");
- assert (test_post_fail (p));
- }
-
- {
- gyear_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007+12:3o");
- assert (test_post_fail (p));
- }
-
- // gmonth_day
- //
- {
- gmonth_day_pimpl<char> p;
- p.pre ();
- p._pre ();
- // p._characters ("");
- assert (test_post_fail (p));
- }
-
- {
- gmonth_day_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-12-12");
- assert (test_post_fail (p));
- }
-
- {
- gmonth_day_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("--1212");
- assert (test_post_fail (p));
- }
-
- {
- gmonth_day_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("--12?12");
- assert (test_post_fail (p));
- }
-
- {
- gmonth_day_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("--00-12");
- assert (test_post_fail (p));
- }
-
- {
- gmonth_day_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("--12-00");
- assert (test_post_fail (p));
- }
-
- {
- gmonth_day_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("--13-23");
- assert (test_post_fail (p));
- }
-
- {
- gmonth_day_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("--12-32");
- assert (test_post_fail (p));
- }
-
- {
- gmonth_day_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("--1X-12");
- assert (test_post_fail (p));
- }
-
- {
- gmonth_day_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("--12-2X");
- assert (test_post_fail (p));
- }
-
- {
- gmonth_day_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("--11-11+12:3o");
- assert (test_post_fail (p));
- }
-
- // gyear_month
- //
- {
- gyear_month_pimpl<char> p;
- p.pre ();
- p._pre ();
- // p._characters ("");
- assert (test_post_fail (p));
- }
-
- {
- gyear_month_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("207-01");
- assert (test_post_fail (p));
- }
-
- {
- gyear_month_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-207-01");
- assert (test_post_fail (p));
- }
-
- {
- gyear_month_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("0000-01");
- assert (test_post_fail (p));
- }
-
- {
- gyear_month_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("20X7-01");
- assert (test_post_fail (p));
- }
-
- {
- gyear_month_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007");
- assert (test_post_fail (p));
- }
-
- {
- gyear_month_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007?12");
- assert (test_post_fail (p));
- }
-
- {
- gyear_month_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-0");
- assert (test_post_fail (p));
- }
-
- {
- gyear_month_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-00");
- assert (test_post_fail (p));
- }
-
- {
- gyear_month_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-13");
- assert (test_post_fail (p));
- }
-
- {
- gyear_month_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-1X");
- assert (test_post_fail (p));
- }
-
- {
- gyear_month_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-01+12:3o");
- assert (test_post_fail (p));
- }
-
- // date
- //
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- // p._characters ("");
- assert (test_post_fail (p));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("207-01-01");
- assert (test_post_fail (p));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-207-01-01");
- assert (test_post_fail (p));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("0000-01-01");
- assert (test_post_fail (p));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("20X7-01-01");
- assert (test_post_fail (p));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007");
- assert (test_post_fail (p));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007?01-01");
- assert (test_post_fail (p));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-0-01");
- assert (test_post_fail (p));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-00-01");
- assert (test_post_fail (p));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-13-01");
- assert (test_post_fail (p));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-1X-01");
- assert (test_post_fail (p));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-10");
- assert (test_post_fail (p));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-10?12");
- assert (test_post_fail (p));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-10-");
- assert (test_post_fail (p));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-10-0");
- assert (test_post_fail (p));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-10-00");
- assert (test_post_fail (p));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-10-32");
- assert (test_post_fail (p));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-10-2X");
- assert (test_post_fail (p));
- }
-
- {
- date_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-01-01+12:3o");
- assert (test_post_fail (p));
- }
-
- // time
- //
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- // p._characters ("");
- assert (test_post_fail (p));
- }
-
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("1:01:01");
- assert (test_post_fail (p));
- }
-
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2X:01:01");
- assert (test_post_fail (p));
- }
-
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("23");
- assert (test_post_fail (p));
- }
-
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("23?01:01");
- assert (test_post_fail (p));
- }
-
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("23:0:01");
- assert (test_post_fail (p));
- }
-
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("23:60:01");
- assert (test_post_fail (p));
- }
-
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("23:4X:01");
- assert (test_post_fail (p));
- }
-
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("23:10");
- assert (test_post_fail (p));
- }
-
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("23:10?12");
- assert (test_post_fail (p));
- }
-
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("23:10:");
- assert (test_post_fail (p));
- }
-
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("23:10:0");
- assert (test_post_fail (p));
- }
-
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("23:10:01.");
- assert (test_post_fail (p));
- }
-
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("23:10:60");
- assert (test_post_fail (p));
- }
-
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("23:10:2X");
- assert (test_post_fail (p));
- }
-
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("24:01:00");
- assert (test_post_fail (p));
- }
-
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("24:00:01");
- assert (test_post_fail (p));
- }
-
- {
- time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("23:01:01+12:3o");
- assert (test_post_fail (p));
- }
-
- // date_time
- //
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- // p._characters ("");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("207-01-01T12:13:14");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-207-01-01T12:13:14");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("0000-01-01T12:13:14");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("20X7-01-01T12:13:14");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007?01-01T12:13:14");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-0-01T12:13:14");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-00-01T12:13:14");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-13-01T12:13:14");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-1X-01T12:13:14");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-10");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-10?12T12:13:14");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-10-T12:13:14");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-10-0T12:13:14");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-10-00T12:13:14");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-10-32T12:13:14");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-10-2XT12:13:14");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-01-01T1:01:01");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-01-01T2X:01:01");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-01-01T23");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-01-01T23?01:01");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-01-01T23:0:01");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-01-01T23:60:01");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-01-01T23:4X:01");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-01-01T23:10");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-01-01T23:10?12");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-01-01T23:10:");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-01-01T23:10:0");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-01-01T23:10:01.");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-01-01T23:10:60");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-01-01T23:10:2X");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-01-01T24:01:00");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-01-01T24:00:01");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("23:01:01+12:3o");
- assert (test_post_fail (p));
- }
-
- {
- date_time_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007-01-01T12:13:14+12:3o");
- assert (test_post_fail (p));
- }
-
- // duration
- //
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- // p._characters ("");
- assert (test_post_fail (p));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2007Y");
- assert (test_post_fail (p));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-2007Y");
- assert (test_post_fail (p));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("P-2007Y");
- assert (test_post_fail (p));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("P-1M");
- assert (test_post_fail (p));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("P-1D");
- assert (test_post_fail (p));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("PT-1H");
- assert (test_post_fail (p));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("PT-1M");
- assert (test_post_fail (p));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("PT-1.1S");
- assert (test_post_fail (p));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("P1H1M1S");
- assert (test_post_fail (p));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("P1M1Y");
- assert (test_post_fail (p));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("PT1S1H");
- assert (test_post_fail (p));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("PT1H1Y");
- assert (test_post_fail (p));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("P1Ygarbage");
- assert (test_post_fail (p));
- }
-
- {
- duration_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("P1YT");
- assert (test_post_fail (p));
- }
-}
diff --git a/tests/cxx/parser/validation/built-in/date-time/makefile b/tests/cxx/parser/validation/built-in/date-time/makefile
deleted file mode 100644
index 42d60e8..0000000
--- a/tests/cxx/parser/validation/built-in/date-time/makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-# file : tests/cxx/parser/validation/built-in/date-time/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make
-
-cxx := driver.cxx
-
-obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o))
-dep := $(obj:.o=.o.d)
-
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/libxerces-c/stub.make,\
- l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-
-# Build.
-#
-$(driver): $(obj) $(xerces_c.l)
-
-$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd
-$(obj) $(dep): $(xerces_c.l.cpp-options)
-
-# Define XSD_CXX11 since we include libxsd headers directly.
-#
-$(call include,$(bld_root)/cxx/standard.make) # cxx_standard
-ifeq ($(cxx_standard),c++11)
-$(obj) $(dep): cpp_options += -DXSD_CXX11
-endif
-
-$(call include-dep,$(dep),$(obj),$(gen))
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-$(test): driver := $(driver)
-$(test): $(driver)
- $(call message,test $$1,$$1,$(driver))
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
- $(addsuffix .cxx.clean,$(dep))
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
diff --git a/tests/cxx/parser/validation/built-in/float/driver.cxx b/tests/cxx/parser/validation/built-in/float/driver.cxx
deleted file mode 100644
index 7563aa7..0000000
--- a/tests/cxx/parser/validation/built-in/float/driver.cxx
+++ /dev/null
@@ -1,285 +0,0 @@
-// file : tests/cxx/parser/validation/built-in/float/driver.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test the built-in float, double, and decimal types validation.
-//
-#include <math.h>
-#include <cassert>
-
-#include <xsd/cxx/parser/validating/exceptions.hxx>
-#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx>
-
-using namespace xsd::cxx::parser::validating;
-
-template <typename T>
-bool
-test_post_fail (T& p)
-{
- try
- {
- p._post ();
- }
- catch (invalid_value<char> const&)
- {
- return true;
- }
-
- return false;
-}
-
-int
-main ()
-{
- // Good.
- //
-
- // float
- //
- {
- float_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" 0000123.456 ");
- p._post ();
- assert (p.post_float () == 123.456F);
- }
-
- {
- float_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-12.345E2");
- p._post ();
- assert (p.post_float () == -12.345E2F);
- }
-
- {
- float_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("0");
- p._post ();
- assert (p.post_float () == 0.0F);
- }
-
- {
- float_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-0");
- p._post ();
- assert (p.post_float () == -0.0F);
- }
-
- {
- float_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("INF");
- p._post ();
- assert (isinf (p.post_float ()));
- }
-
- {
- float_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-INF");
- p._post ();
- assert (isinf (p.post_float ()));
- }
-
- {
- float_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("NaN");
- p._post ();
- assert (isnan (p.post_float ()));
- }
-
- // double
- //
- {
- double_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" 0000123.456789 ");
- p._post ();
- assert (p.post_double () == 123.456789);
- }
-
- {
- double_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-12.3456789E2");
- p._post ();
- assert (p.post_double () == -12.3456789E2);
- }
-
- {
- double_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("0");
- p._post ();
- assert (p.post_double () == 0.0);
- }
-
- {
- double_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-0");
- p._post ();
- assert (p.post_double () == -0.0);
- }
-
- {
- double_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("INF");
- p._post ();
- assert (isinf (p.post_double ()));
- }
-
- {
- double_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-INF");
- p._post ();
- assert (isinf (p.post_double ()));
- }
-
- {
- double_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("NaN");
- p._post ();
- assert (isnan (p.post_double ()));
- }
-
- // decimal
- //
- {
- decimal_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" 0000123.456789 ");
- p._post ();
- assert (p.post_decimal () == 123.456789);
- }
-
- {
- decimal_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-123.45678912345");
- p._post ();
- assert (p.post_decimal () == -123.45678912345);
- }
-
- {
- decimal_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("0");
- p._post ();
- assert (p.post_decimal () == 0.0);
- }
-
- {
- decimal_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-0");
- p._post ();
- assert (p.post_decimal () == -0.0);
- }
-
-
- // Bad
- //
-
- // float
- //
- {
- float_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("+INF");
- assert (test_post_fail (p));
- }
-
- {
- float_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("1.45 E2");
- assert (test_post_fail (p));
- }
-
- // double
- //
- {
- double_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("+INF");
- assert (test_post_fail (p));
- }
-
- {
- double_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("1.45 E2");
- assert (test_post_fail (p));
- }
-
- // decimal
- //
- {
- decimal_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("INF");
- assert (test_post_fail (p));
- }
-
- {
- decimal_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("+INF");
- assert (test_post_fail (p));
- }
-
- {
- decimal_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-INF");
- assert (test_post_fail (p));
- }
-
- {
- decimal_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("NaN");
- assert (test_post_fail (p));
- }
-
- {
- decimal_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("1.45 2");
- assert (test_post_fail (p));
- }
-}
diff --git a/tests/cxx/parser/validation/built-in/float/makefile b/tests/cxx/parser/validation/built-in/float/makefile
deleted file mode 100644
index 68fac22..0000000
--- a/tests/cxx/parser/validation/built-in/float/makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-# file : tests/cxx/parser/validation/built-in/float/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make
-
-cxx := driver.cxx
-
-obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o))
-dep := $(obj:.o=.o.d)
-
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/libxerces-c/stub.make,\
- l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-
-# Build.
-#
-$(driver): $(obj) $(xerces_c.l)
-
-$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd
-$(obj) $(dep): $(xerces_c.l.cpp-options)
-
-# Define XSD_CXX11 since we include libxsd headers directly.
-#
-$(call include,$(bld_root)/cxx/standard.make) # cxx_standard
-ifeq ($(cxx_standard),c++11)
-$(obj) $(dep): cpp_options += -DXSD_CXX11
-endif
-
-$(call include-dep,$(dep),$(obj),$(gen))
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-$(test): driver := $(driver)
-$(test): $(driver)
- $(call message,test $$1,$$1,$(driver))
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
- $(addsuffix .cxx.clean,$(dep))
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
diff --git a/tests/cxx/parser/validation/built-in/int/driver.cxx b/tests/cxx/parser/validation/built-in/int/driver.cxx
deleted file mode 100644
index 18e83ca..0000000
--- a/tests/cxx/parser/validation/built-in/int/driver.cxx
+++ /dev/null
@@ -1,116 +0,0 @@
-// file : tests/cxx/parser/validation/built-in/int/driver.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test the built-in int and unsigned int types validation.
-//
-#include <cassert>
-
-#include <xsd/cxx/parser/validating/exceptions.hxx>
-#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx>
-
-using namespace xsd::cxx::parser::validating;
-
-template <typename T>
-bool
-test_post_fail (T& p)
-{
- try
- {
- p._post ();
- }
- catch (invalid_value<char> const&)
- {
- return true;
- }
-
- return false;
-}
-
-int
-main ()
-{
- // Good.
- //
- {
- int_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-2147483648");
- p._post ();
- assert (p.post_int () == -2147483648);
- }
-
- {
- int_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("0");
- p._post ();
- assert (p.post_int () == 0);
- }
-
- {
- int_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2147483647");
- p._post ();
- assert (p.post_int () == 2147483647);
- }
-
- {
- unsigned_int_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("0");
- p._post ();
- assert (p.post_unsigned_int () == 0);
- }
-
- {
- unsigned_int_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("4294967295");
- p._post ();
- assert (p.post_unsigned_int () == 4294967295);
- }
-
- // Bad
- //
-
- {
- unsigned_int_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-123");
- assert (test_post_fail (p));
- }
-
-
- // Ranges
- //
- {
- int_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-2147483649");
- assert (test_post_fail (p));
- }
-
- {
- int_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("2147483648");
- assert (test_post_fail (p));
- }
-
- {
- unsigned_int_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("4294967296");
- assert (test_post_fail (p));
- }
-}
diff --git a/tests/cxx/parser/validation/built-in/int/makefile b/tests/cxx/parser/validation/built-in/int/makefile
deleted file mode 100644
index 7a13105..0000000
--- a/tests/cxx/parser/validation/built-in/int/makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-# file : tests/cxx/parser/validation/built-in/int/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make
-
-cxx := driver.cxx
-
-obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o))
-dep := $(obj:.o=.o.d)
-
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/libxerces-c/stub.make,\
- l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-
-# Build.
-#
-$(driver): $(obj) $(xerces_c.l)
-
-$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd
-$(obj) $(dep): $(xerces_c.l.cpp-options)
-
-# Define XSD_CXX11 since we include libxsd headers directly.
-#
-$(call include,$(bld_root)/cxx/standard.make) # cxx_standard
-ifeq ($(cxx_standard),c++11)
-$(obj) $(dep): cpp_options += -DXSD_CXX11
-endif
-
-$(call include-dep,$(dep),$(obj),$(gen))
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-$(test): driver := $(driver)
-$(test): $(driver)
- $(call message,test $$1,$$1,$(driver))
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
- $(addsuffix .cxx.clean,$(dep))
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
diff --git a/tests/cxx/parser/validation/built-in/integer/driver.cxx b/tests/cxx/parser/validation/built-in/integer/driver.cxx
deleted file mode 100644
index 7eeb708..0000000
--- a/tests/cxx/parser/validation/built-in/integer/driver.cxx
+++ /dev/null
@@ -1,303 +0,0 @@
-// file : tests/cxx/parser/validation/built-in/int/driver.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test the built-in integer & friends types validation.
-//
-#include <limits.h>
-
-#include <string>
-#include <sstream>
-#include <cassert>
-
-#include <xsd/cxx/parser/validating/exceptions.hxx>
-#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx>
-
-using namespace std;
-using namespace xsd::cxx::parser::validating;
-
-template <typename T>
-bool
-test_post_fail (T& p)
-{
- try
- {
- p._post ();
- }
- catch (invalid_value<char> const&)
- {
- return true;
- }
-
- return false;
-}
-
-int
-main ()
-{
- // Good.
- //
-
- std::string min;
- std::string max;
- std::string umax;
-
- {
- ostringstream ostr;
- ostr << LLONG_MIN;
- min = ostr.str ();
- }
-
- {
- ostringstream ostr;
- ostr << LLONG_MAX;
- max = ostr.str ();
- }
-
- {
- ostringstream ostr;
- ostr << ULLONG_MAX;
- umax = ostr.str ();
- }
-
- // integer
- //
- {
- integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (min.c_str ());
- p._post ();
- assert (p.post_integer () == LLONG_MIN);
- }
-
- {
- integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("0");
- p._post ();
- assert (p.post_integer () == 0);
- }
-
- {
- integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (max.c_str ());
- p._post ();
- assert (p.post_integer () == LLONG_MAX);
- }
-
- // negative_integer
- //
- {
- negative_integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (min.c_str ());
- p._post ();
- assert (p.post_negative_integer () == LLONG_MIN);
- }
-
- {
- negative_integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-1");
- p._post ();
- assert (p.post_negative_integer () == -1);
- }
-
- // non_positive_integer
- //
- {
- non_positive_integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (min.c_str ());
- p._post ();
- assert (p.post_non_positive_integer () == LLONG_MIN);
- }
-
- {
- non_positive_integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("+0");
- p._post ();
- assert (p.post_non_positive_integer () == 0);
- }
-
- // positive_integer
- //
- {
- positive_integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("1");
- p._post ();
- assert (p.post_positive_integer () == 1);
- }
-
- {
- positive_integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (umax.c_str ());
- p._post ();
- assert (p.post_positive_integer () == ULLONG_MAX);
- }
-
- // non_negative_integer
- //
- /*
- {
- non_negative_integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-0");
- p._post ();
- assert (p.post_non_negative_integer () == 0);
- }
- */
-
- {
- non_negative_integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("0");
- p._post ();
- assert (p.post_non_negative_integer () == 0);
- }
-
- {
- non_negative_integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (umax.c_str ());
- p._post ();
- assert (p.post_non_negative_integer () == ULLONG_MAX);
- }
-
-
- // Bad
- //
-
- std::string past_min (min);
- std::string past_max (max);
- std::string past_umax (umax);
-
- assert (*past_min.rbegin () != '9');
- assert (*past_max.rbegin () != '9');
- assert (*past_umax.rbegin () != '9');
-
- (*past_min.rbegin ())++;
- (*past_max.rbegin ())++;
- (*past_umax.rbegin ())++;
-
- // integer
- //
- {
- integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (past_min.c_str ());
- assert (test_post_fail (p));
- }
-
- {
- integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (past_max.c_str ());
- assert (test_post_fail (p));
- }
-
- // negative_integer
- //
- {
- negative_integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (past_min.c_str ());
- assert (test_post_fail (p));
- }
-
- {
- negative_integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-0");
- assert (test_post_fail (p));
- }
-
- {
- negative_integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("1");
- assert (test_post_fail (p));
- }
-
- // non_positive_integer
- //
- {
- non_positive_integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (past_min.c_str ());
- assert (test_post_fail (p));
- }
-
- {
- non_positive_integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("1");
- assert (test_post_fail (p));
- }
-
- // positive_integer
- //
- {
- positive_integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-1");
- assert (test_post_fail (p));
- }
-
- {
- positive_integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("+0");
- assert (test_post_fail (p));
- }
-
- {
- positive_integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (past_umax.c_str ());
- assert (test_post_fail (p));
- }
-
- // non_negative_integer
- //
- {
- non_negative_integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-1");
- assert (test_post_fail (p));
- }
-
- {
- non_negative_integer_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (past_umax.c_str ());
- assert (test_post_fail (p));
- }
-}
diff --git a/tests/cxx/parser/validation/built-in/integer/makefile b/tests/cxx/parser/validation/built-in/integer/makefile
deleted file mode 100644
index 66a7dd6..0000000
--- a/tests/cxx/parser/validation/built-in/integer/makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-# file : tests/cxx/parser/validation/built-in/integer/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make
-
-cxx := driver.cxx
-
-obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o))
-dep := $(obj:.o=.o.d)
-
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/libxerces-c/stub.make,\
- l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-
-# Build.
-#
-$(driver): $(obj) $(xerces_c.l)
-
-$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd
-$(obj) $(dep): $(xerces_c.l.cpp-options)
-
-# Define XSD_CXX11 since we include libxsd headers directly.
-#
-$(call include,$(bld_root)/cxx/standard.make) # cxx_standard
-ifeq ($(cxx_standard),c++11)
-$(obj) $(dep): cpp_options += -DXSD_CXX11
-endif
-
-$(call include-dep,$(dep),$(obj),$(gen))
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-$(test): driver := $(driver)
-$(test): $(driver)
- $(call message,test $$1,$$1,$(driver))
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
- $(addsuffix .cxx.clean,$(dep))
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
diff --git a/tests/cxx/parser/validation/built-in/long/driver.cxx b/tests/cxx/parser/validation/built-in/long/driver.cxx
deleted file mode 100644
index a44ae70..0000000
--- a/tests/cxx/parser/validation/built-in/long/driver.cxx
+++ /dev/null
@@ -1,116 +0,0 @@
-// file : tests/cxx/parser/validation/built-in/long/driver.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test the built-in long and unsigned long types validation.
-//
-#include <cassert>
-
-#include <xsd/cxx/parser/validating/exceptions.hxx>
-#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx>
-
-using namespace xsd::cxx::parser::validating;
-
-template <typename T>
-bool
-test_post_fail (T& p)
-{
- try
- {
- p._post ();
- }
- catch (invalid_value<char> const&)
- {
- return true;
- }
-
- return false;
-}
-
-int
-main ()
-{
- // Good.
- //
- {
- long_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-9223372036854775808");
- p._post ();
- assert (p.post_long () == (-9223372036854775807LL - 1));
- }
-
- {
- long_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("0");
- p._post ();
- assert (p.post_long () == 0);
- }
-
- {
- long_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("9223372036854775807");
- p._post ();
- assert (p.post_long () == 9223372036854775807LL);
- }
-
- {
- unsigned_long_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("0");
- p._post ();
- assert (p.post_unsigned_long () == 0);
- }
-
- {
- unsigned_long_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("18446744073709551615");
- p._post ();
- assert (p.post_unsigned_long () == 18446744073709551615ULL);
- }
-
- // Bad
- //
-
- {
- unsigned_long_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-123");
- assert (test_post_fail (p));
- }
-
-
- // Ranges
- //
- {
- long_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-9223372036854775809");
- assert (test_post_fail (p));
- }
-
- {
- long_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("9223372036854775808");
- assert (test_post_fail (p));
- }
-
- {
- unsigned_long_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("18446744073709551616");
- assert (test_post_fail (p));
- }
-}
diff --git a/tests/cxx/parser/validation/built-in/long/makefile b/tests/cxx/parser/validation/built-in/long/makefile
deleted file mode 100644
index 5854363..0000000
--- a/tests/cxx/parser/validation/built-in/long/makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-# file : tests/cxx/parser/validation/built-in/long/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make
-
-cxx := driver.cxx
-
-obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o))
-dep := $(obj:.o=.o.d)
-
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/libxerces-c/stub.make,\
- l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-
-# Build.
-#
-$(driver): $(obj) $(xerces_c.l)
-
-$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd
-$(obj) $(dep): $(xerces_c.l.cpp-options)
-
-# Define XSD_CXX11 since we include libxsd headers directly.
-#
-$(call include,$(bld_root)/cxx/standard.make) # cxx_standard
-ifeq ($(cxx_standard),c++11)
-$(obj) $(dep): cpp_options += -DXSD_CXX11
-endif
-
-$(call include-dep,$(dep),$(obj),$(gen))
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-$(test): driver := $(driver)
-$(test): $(driver)
- $(call message,test $$1,$$1,$(driver))
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
- $(addsuffix .cxx.clean,$(dep))
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
diff --git a/tests/cxx/parser/validation/built-in/makefile b/tests/cxx/parser/validation/built-in/makefile
deleted file mode 100644
index 79eab4f..0000000
--- a/tests/cxx/parser/validation/built-in/makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-# file : tests/cxx/parser/validation/built-in/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make
-
-tests := any-type binary boolean byte date-time float int integer long \
-qname short string uri
-
-default := $(out_base)/
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests)))
-$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests)))
-$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests)))
-
-$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile))
diff --git a/tests/cxx/parser/validation/built-in/qname/driver.cxx b/tests/cxx/parser/validation/built-in/qname/driver.cxx
deleted file mode 100644
index 6da6f2f..0000000
--- a/tests/cxx/parser/validation/built-in/qname/driver.cxx
+++ /dev/null
@@ -1,105 +0,0 @@
-// file : tests/cxx/parser/validation/built-in/qname/driver.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test the built-in QName type validation.
-//
-#include <cassert>
-
-#include <xsd/cxx/parser/validating/exceptions.hxx>
-#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx>
-
-using namespace xsd::cxx::parser::validating;
-
-bool
-test_post_fail (qname_pimpl<char>& p)
-{
- try
- {
- p._post ();
- }
- catch (invalid_value<char> const&)
- {
- return true;
- }
-
- return false;
-}
-
-int
-main ()
-{
- typedef xsd::cxx::parser::qname<char> qname;
-
- // Good.
- //
- {
- qname_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" xsi");
- p._characters (":");
- p._characters ("schemaLocation");
- p._post ();
- assert (p.post_qname () == qname ("xsi", "schemaLocation"));
- }
-
- {
- qname_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("schemaLocation");
- p._post ();
- assert (p.post_qname () == qname ("schemaLocation"));
- }
-
-
- // Bad
- //
- {
- qname_pimpl<char> p;
- p.pre ();
- p._pre ();
- //p._characters ("");
- assert (test_post_fail (p));
- }
-
- {
- qname_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (":");
- assert (test_post_fail (p));
- }
-
- {
- qname_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("xsi:");
- assert (test_post_fail (p));
- }
-
- {
- qname_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (":schemaLocation");
- assert (test_post_fail (p));
- }
-
- {
- qname_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("x?i:schemaLocation");
- assert (test_post_fail (p));
- }
-
- {
- qname_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("xsi:schema Location");
- assert (test_post_fail (p));
- }
-}
diff --git a/tests/cxx/parser/validation/built-in/qname/makefile b/tests/cxx/parser/validation/built-in/qname/makefile
deleted file mode 100644
index c442812..0000000
--- a/tests/cxx/parser/validation/built-in/qname/makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-# file : tests/cxx/parser/validation/built-in/qname/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make
-
-cxx := driver.cxx
-
-obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o))
-dep := $(obj:.o=.o.d)
-
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/libxerces-c/stub.make,\
- l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-
-# Build.
-#
-$(driver): $(obj) $(xerces_c.l)
-
-$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd
-$(obj) $(dep): $(xerces_c.l.cpp-options)
-
-# Define XSD_CXX11 since we include libxsd headers directly.
-#
-$(call include,$(bld_root)/cxx/standard.make) # cxx_standard
-ifeq ($(cxx_standard),c++11)
-$(obj) $(dep): cpp_options += -DXSD_CXX11
-endif
-
-$(call include-dep,$(dep),$(obj),$(gen))
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-$(test): driver := $(driver)
-$(test): $(driver)
- $(call message,test $$1,$$1,$(driver))
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
- $(addsuffix .cxx.clean,$(dep))
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
diff --git a/tests/cxx/parser/validation/built-in/short/driver.cxx b/tests/cxx/parser/validation/built-in/short/driver.cxx
deleted file mode 100644
index 42009a1..0000000
--- a/tests/cxx/parser/validation/built-in/short/driver.cxx
+++ /dev/null
@@ -1,116 +0,0 @@
-// file : tests/cxx/parser/validation/built-in/short/driver.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test the built-in short and unsigned short types validation.
-//
-#include <cassert>
-
-#include <xsd/cxx/parser/validating/exceptions.hxx>
-#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx>
-
-using namespace xsd::cxx::parser::validating;
-
-template <typename T>
-bool
-test_post_fail (T& p)
-{
- try
- {
- p._post ();
- }
- catch (invalid_value<char> const&)
- {
- return true;
- }
-
- return false;
-}
-
-int
-main ()
-{
- // Good.
- //
- {
- short_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-32768");
- p._post ();
- assert (p.post_short () == -32768);
- }
-
- {
- short_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("0");
- p._post ();
- assert (p.post_short () == 0);
- }
-
- {
- short_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("32767");
- p._post ();
- assert (p.post_short () == 32767);
- }
-
- {
- unsigned_short_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("0");
- p._post ();
- assert (p.post_unsigned_short () == 0);
- }
-
- {
- unsigned_short_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("65535");
- p._post ();
- assert (p.post_unsigned_short () == 65535);
- }
-
- // Bad
- //
-
- {
- unsigned_short_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-1234");
- assert (test_post_fail (p));
- }
-
-
- // Ranges
- //
- {
- short_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-32769");
- assert (test_post_fail (p));
- }
-
- {
- short_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("32768");
- assert (test_post_fail (p));
- }
-
- {
- unsigned_short_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("65536");
- assert (test_post_fail (p));
- }
-}
diff --git a/tests/cxx/parser/validation/built-in/short/makefile b/tests/cxx/parser/validation/built-in/short/makefile
deleted file mode 100644
index 05f8e2c..0000000
--- a/tests/cxx/parser/validation/built-in/short/makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-# file : tests/cxx/parser/validation/built-in/short/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make
-
-cxx := driver.cxx
-
-obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o))
-dep := $(obj:.o=.o.d)
-
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/libxerces-c/stub.make,\
- l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-
-# Build.
-#
-$(driver): $(obj) $(xerces_c.l)
-
-$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd
-$(obj) $(dep): $(xerces_c.l.cpp-options)
-
-# Define XSD_CXX11 since we include libxsd headers directly.
-#
-$(call include,$(bld_root)/cxx/standard.make) # cxx_standard
-ifeq ($(cxx_standard),c++11)
-$(obj) $(dep): cpp_options += -DXSD_CXX11
-endif
-
-$(call include-dep,$(dep),$(obj),$(gen))
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-$(test): driver := $(driver)
-$(test): $(driver)
- $(call message,test $$1,$$1,$(driver))
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
- $(addsuffix .cxx.clean,$(dep))
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
diff --git a/tests/cxx/parser/validation/built-in/string/driver.cxx b/tests/cxx/parser/validation/built-in/string/driver.cxx
deleted file mode 100644
index b5da70d..0000000
--- a/tests/cxx/parser/validation/built-in/string/driver.cxx
+++ /dev/null
@@ -1,512 +0,0 @@
-// file : tests/cxx/parser/validation/built-in/string/driver.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test the built-in string & friends types validation.
-//
-#include <string>
-#include <cassert>
-
-#include <xsd/cxx/parser/validating/exceptions.hxx>
-#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx>
-
-using namespace xsd::cxx::parser::validating;
-
-template <typename T>
-bool
-test_post_fail (T& p)
-{
- try
- {
- p._post_impl (); // List implementation needs this to be post_impl.
- }
- catch (invalid_value<char> const&)
- {
- return true;
- }
-
- return false;
-}
-
-int
-main ()
-{
- typedef xsd::cxx::parser::string_sequence<char> strings;
-
- // Good.
- //
-
- // string
- //
- {
- string_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \n\t");
- p._characters (" aaa ");
- p._characters ("bbb");
- p._characters (" ");
- p._post ();
- assert (p.post_string () == " \n\t aaa bbb ");
- }
-
- // normalized_string
- //
- {
- normalized_string_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \n\t");
- p._characters (" aaa \n\t ");
- p._characters (" bbb");
- p._characters (" ");
- p._post ();
- assert (p.post_normalized_string () == " aaa bbb ");
- }
-
- // token
- //
- {
- token_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \n\t");
- p._characters (" aaa \n\t ");
- p._characters (" bbb \n\t");
- p._characters (" ");
- p._post ();
- assert (p.post_token () == "aaa bbb");
- }
-
- // name
- //
- {
- name_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \n\t");
- p._characters (" a:b-c_d123 ");
- p._characters (" ");
- p._post ();
- assert (p.post_name () == "a:b-c_d123");
- }
-
- {
- name_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \n\t");
- p._characters (" _12 ");
- p._characters (" ");
- p._post ();
- assert (p.post_name () == "_12");
- }
-
- {
- name_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \n\t");
- p._characters (" :12 ");
- p._characters (" ");
- p._post ();
- assert (p.post_name () == ":12");
- }
-
- // nmtoken
- //
- {
- nmtoken_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \n\t");
- p._characters (" 123a:b-c_d123 ");
- p._characters (" \n\t");
- p._characters (" ");
- p._post ();
- assert (p.post_nmtoken () == "123a:b-c_d123");
- }
-
- // nmtokens
- //
- {
- strings s;
- s.push_back ("123");
- s.push_back ("abc");
-
- nmtokens_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \n\t");
- p._characters (" 123 ");
- p._characters (" \n\t abc ");
- p._characters (" ");
- p._post ();
- assert (p.post_nmtokens () == s);
- }
-
- // ncname
- //
- {
- ncname_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \n\t");
- p._characters (" a.b-c_d123 ");
- p._characters (" ");
- p._post ();
- assert (p.post_ncname () == "a.b-c_d123");
- }
-
- // id
- //
- {
- id_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \n\t");
- p._characters (" a.b-c_d123 ");
- p._characters (" ");
- p._post ();
- assert (p.post_id () == "a.b-c_d123");
- }
-
- // idref
- //
- {
- idref_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \n\t");
- p._characters (" a.b-c_d123 ");
- p._characters (" ");
- p._post ();
- assert (p.post_idref () == "a.b-c_d123");
- }
-
- // idrefs
- //
- {
- strings s;
- s.push_back ("a123");
- s.push_back ("abc");
-
- idrefs_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" \n\t");
- p._characters (" a123 ");
- p._characters (" \n\t abc ");
- p._characters (" ");
- p._post ();
- assert (p.post_idrefs () == s);
- }
-
- // language
- //
- {
- language_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" x ");
- p._post ();
- assert (p.post_language () == "x");
- }
-
- {
- language_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" en ");
- p._post ();
- assert (p.post_language () == "en");
- }
-
- {
- language_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" en");
- p._characters ("-us ");
- p._post ();
- assert (p.post_language () == "en-us");
- }
-
- {
- language_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("one-two-three-four44-seven77-eight888");
- p._post ();
- assert (p.post_language () == "one-two-three-four44-seven77-eight888");
- }
-
-
- // Bad
- //
-
- // name
- //
- {
- name_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("");
- assert (test_post_fail (p));
- }
-
- {
- name_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (".a");
- assert (test_post_fail (p));
- }
-
- {
- name_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-a");
- assert (test_post_fail (p));
- }
-
- {
- name_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("1a");
- assert (test_post_fail (p));
- }
-
- {
- name_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("a,b");
- assert (test_post_fail (p));
- }
-
- {
- name_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("a b");
- assert (test_post_fail (p));
- }
-
- {
- name_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("a<b");
- assert (test_post_fail (p));
- }
-
- // nmtoken
- //
- {
- nmtoken_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("");
- assert (test_post_fail (p));
- }
-
- {
- nmtoken_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("a,b");
- assert (test_post_fail (p));
- }
-
- {
- nmtoken_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("a b");
- assert (test_post_fail (p));
- }
-
- {
- nmtoken_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("a<b");
- assert (test_post_fail (p));
- }
-
- // nmtokens
- //
- {
- nmtokens_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" ");
- p._characters (" \t\n ");
- assert (test_post_fail (p));
- }
-
- {
- nmtokens_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("ab a,b");
- assert (test_post_fail (p));
- }
-
- // ncname
- //
- {
- ncname_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("");
- assert (test_post_fail (p));
- }
-
- {
- ncname_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (".a");
- assert (test_post_fail (p));
- }
-
- {
- ncname_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("-a");
- assert (test_post_fail (p));
- }
-
- {
- ncname_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (":a");
- assert (test_post_fail (p));
- }
-
- {
- ncname_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("1a");
- assert (test_post_fail (p));
- }
-
- {
- ncname_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("1:a");
- assert (test_post_fail (p));
- }
-
- {
- ncname_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("a,b");
- assert (test_post_fail (p));
- }
-
- {
- ncname_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("a b");
- assert (test_post_fail (p));
- }
-
- {
- ncname_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("a<b");
- assert (test_post_fail (p));
- }
-
- // id
- //
- {
- id_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("a b");
- assert (test_post_fail (p));
- }
-
- // idref
- //
- {
- idref_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("a b");
- assert (test_post_fail (p));
- }
-
- // idrefs
- //
- {
- idrefs_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" ");
- p._characters (" \t\n ");
- assert (test_post_fail (p));
- }
-
- {
- idrefs_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("ab a<b");
- assert (test_post_fail (p));
- }
-
- // language
- //
- {
- language_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" ");
- assert (test_post_fail (p));
- }
-
- {
- language_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("en-");
- assert (test_post_fail (p));
- }
-
- {
- language_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("a1");
- assert (test_post_fail (p));
- }
-
- {
- language_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("en+us");
- assert (test_post_fail (p));
- }
-
- {
- language_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("en-nine99999");
- assert (test_post_fail (p));
- }
-}
diff --git a/tests/cxx/parser/validation/built-in/string/makefile b/tests/cxx/parser/validation/built-in/string/makefile
deleted file mode 100644
index bcdae7e..0000000
--- a/tests/cxx/parser/validation/built-in/string/makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-# file : tests/cxx/parser/validation/built-in/string/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make
-
-cxx := driver.cxx
-
-obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o))
-dep := $(obj:.o=.o.d)
-
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/libxerces-c/stub.make,\
- l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-
-# Build.
-#
-$(driver): $(obj) $(xerces_c.l)
-
-$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd
-$(obj) $(dep): $(xerces_c.l.cpp-options)
-
-# Define XSD_CXX11 since we include libxsd headers directly.
-#
-$(call include,$(bld_root)/cxx/standard.make) # cxx_standard
-ifeq ($(cxx_standard),c++11)
-$(obj) $(dep): cpp_options += -DXSD_CXX11
-endif
-
-$(call include-dep,$(dep),$(obj),$(gen))
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-$(test): driver := $(driver)
-$(test): $(driver)
- $(call message,test $$1,$$1,$(driver))
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
- $(addsuffix .cxx.clean,$(dep))
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
diff --git a/tests/cxx/parser/validation/built-in/uri/driver.cxx b/tests/cxx/parser/validation/built-in/uri/driver.cxx
deleted file mode 100644
index 9e487e6..0000000
--- a/tests/cxx/parser/validation/built-in/uri/driver.cxx
+++ /dev/null
@@ -1,53 +0,0 @@
-// file : tests/cxx/parser/validation/built-in/uri/driver.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test the built-in anyURI type validation.
-//
-#include <cassert>
-
-#include <xsd/cxx/parser/validating/exceptions.hxx>
-#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx>
-
-using namespace xsd::cxx::parser::validating;
-
-int
-main ()
-{
- // Good.
- //
- {
- uri_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters (" ");
- p._post ();
- assert (p.post_uri () == "");
- }
-
- {
- uri_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("relative");
- p._post ();
- assert (p.post_uri () == "relative");
- }
-
- {
- uri_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("#id");
- p._post ();
- assert (p.post_uri () == "#id");
- }
-
- {
- uri_pimpl<char> p;
- p.pre ();
- p._pre ();
- p._characters ("http://www.example.com/foo#bar");
- p._post ();
- assert (p.post_uri () == "http://www.example.com/foo#bar");
- }
-}
diff --git a/tests/cxx/parser/validation/built-in/uri/makefile b/tests/cxx/parser/validation/built-in/uri/makefile
deleted file mode 100644
index ae7e8bd..0000000
--- a/tests/cxx/parser/validation/built-in/uri/makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-# file : tests/cxx/parser/validation/built-in/uri/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make
-
-cxx := driver.cxx
-
-obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o))
-dep := $(obj:.o=.o.d)
-
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/libxerces-c/stub.make,\
- l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-
-# Build.
-#
-$(driver): $(obj) $(xerces_c.l)
-
-$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd
-$(obj) $(dep): $(xerces_c.l.cpp-options)
-
-# Define XSD_CXX11 since we include libxsd headers directly.
-#
-$(call include,$(bld_root)/cxx/standard.make) # cxx_standard
-ifeq ($(cxx_standard),c++11)
-$(obj) $(dep): cpp_options += -DXSD_CXX11
-endif
-
-$(call include-dep,$(dep),$(obj),$(gen))
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-$(test): driver := $(driver)
-$(test): $(driver)
- $(call message,test $$1,$$1,$(driver))
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
- $(addsuffix .cxx.clean,$(dep))
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
diff --git a/tests/cxx/parser/validation/choice/driver.cxx b/tests/cxx/parser/validation/choice/driver.cxx
deleted file mode 100644
index af30727..0000000
--- a/tests/cxx/parser/validation/choice/driver.cxx
+++ /dev/null
@@ -1,126 +0,0 @@
-// file : tests/cxx/parser/validation/choice/driver.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test the choice compositor validation.
-//
-
-#include <string>
-#include <fstream>
-#include <iostream>
-
-#include "test-pskel.hxx"
-
-using namespace std;
-using namespace test;
-using xml_schema::ro_string;
-
-struct choice_pimpl: choice_pskel
-{
- virtual void
- pre ()
- {
- cout << "{" << endl;
- }
-
- virtual void
- a (string const& v)
- {
- cout << " a = " << v << endl;
- }
-
- virtual void
- b (string const& v)
- {
- cout << " b = " << v << endl;
- }
-
- virtual void
- c (string const& v)
- {
- cout << " c = " << v << endl;
- }
-
- virtual void
- d (string const& v)
- {
- cout << " d = " << v << endl;
- }
-
- virtual void
- _start_any_element (ro_string const& ns,
- ro_string const& name,
- ro_string const*)
- {
- cout << " any: " << ns << "#" << name << endl
- << " {" << endl;
- }
-
- virtual void
- _any_characters (ro_string const& v)
- {
- cout << " chars = " << v << endl;
- }
-
- virtual void
- _end_any_element (ro_string const&, ro_string const&)
- {
- cout << " }" << endl;
- }
-
- virtual void
- post_choice ()
- {
- cout << "}" << endl
- << endl;
- }
-};
-
-struct type_pimpl: type_pskel
-{
-};
-
-int
-main (int argc, char* argv[])
-{
- if (argc != 2)
- {
- cerr << "usage: " << argv[0] << " test.xml" << endl;
- return 1;
- }
-
- try
- {
- xml_schema::string_pimpl string_p;
- choice_pimpl choice_p;
- type_pimpl type_p;
-
- choice_p.parsers (string_p, string_p, string_p, string_p);
- type_p.parsers (choice_p);
-
- xml_schema::document doc_p (type_p, "test", "root");
-
- try
- {
- ifstream ifs (argv[1]);
- type_p.pre ();
- doc_p.parse (ifs, argv[1], "", xml_schema::flags::dont_validate);
- type_p.post_type ();
- }
- catch (xml_schema::exception const& e)
- {
- cout << " " << e << endl
- << "}" << endl
- << endl;
- }
- }
- catch (xml_schema::exception const& e)
- {
- cerr << e << endl;
- return 1;
- }
- catch (ios_base::failure const&)
- {
- cerr << "io failure" << endl;
- return 1;
- }
-}
diff --git a/tests/cxx/parser/validation/choice/makefile b/tests/cxx/parser/validation/choice/makefile
deleted file mode 100644
index 93b05c5..0000000
--- a/tests/cxx/parser/validation/choice/makefile
+++ /dev/null
@@ -1,92 +0,0 @@
-# file : tests/cxx/parser/validation/choice/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make
-
-xsd := test.xsd
-cxx := driver.cxx
-
-tests := 000 001 002 003 004
-
-obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o))
-dep := $(obj:.o=.o.d)
-
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/libxerces-c/stub.make,\
- l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-
-# Build.
-#
-$(driver): $(obj) $(xerces_c.l)
-
-$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd
-$(obj) $(dep): $(xerces_c.l.cpp-options)
-
-genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
-gen := $(addprefix $(out_base)/,$(genf))
-
-$(gen): xsd := $(out_root)/xsd/xsd
-$(gen): xsd_options += --generate-validation
-$(gen): $(out_root)/xsd/xsd
-
-$(call include-dep,$(dep),$(obj),$(gen))
-
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-test_targets := $(addprefix $(out_base)/.test-,$(tests))
-
-$(test): $(test_targets)
-$(test_targets): driver := $(driver)
-
-.PHONY: $(out_base)/.test-%
-$(out_base)/.test-%: $(driver) $(src_base)/test.xsd $(src_base)/test-%.xml $(src_base)/test-%.std
- $(call message,test $(out_base)/$*,$(driver) $(src_base)/test-$*.xml | diff -u $(src_base)/test-$*.std -)
-
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
- $(addsuffix .cxx.clean,$(dep)) \
- $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(gen): | $(out_base)/.gitignore
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver $(genf)
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
-
-$(call include,$(bld_root)/cxx/standard.make) # cxx_standard
-ifdef cxx_standard
-$(gen): xsd_options += --std $(cxx_standard)
-$(call include,$(scf_root)/xsd/parser/xsd-cxx.make)
-endif
-
-
-# Dependencies.
-#
-$(call import,$(src_root)/xsd/makefile)
diff --git a/tests/cxx/parser/validation/choice/test-000.std b/tests/cxx/parser/validation/choice/test-000.std
deleted file mode 100644
index 856b7f5..0000000
--- a/tests/cxx/parser/validation/choice/test-000.std
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- a = a
- b = b
-}
-
-{
- c = c
- d = d
- any: other#any
- {
- chars = any
- }
- a = a
-}
-
-{
- c = c
- d = d
- d = d
- a = a
-}
-
diff --git a/tests/cxx/parser/validation/choice/test-000.xml b/tests/cxx/parser/validation/choice/test-000.xml
deleted file mode 100644
index 39b9614..0000000
--- a/tests/cxx/parser/validation/choice/test-000.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:o="other"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <choice>
- <a>a</a>
-
- <b>b</b>
- </choice>
-
- <choice>
- <c>c</c>
- <d>d</d>
-
- <o:any>any</o:any>
-
- <a>a</a>
- </choice>
-
- <choice>
- <c>c</c>
- <d>d</d>
-
- <d>d</d>
-
- <a>a</a>
- </choice>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/choice/test-001.std b/tests/cxx/parser/validation/choice/test-001.std
deleted file mode 100644
index 8a78666..0000000
--- a/tests/cxx/parser/validation/choice/test-001.std
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- :8:12 error: expected element 'a'
-}
-
diff --git a/tests/cxx/parser/validation/choice/test-001.xml b/tests/cxx/parser/validation/choice/test-001.xml
deleted file mode 100644
index c509e0d..0000000
--- a/tests/cxx/parser/validation/choice/test-001.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:o="other"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <!-- invalid -->
- <choice>
- </choice>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/choice/test-002.std b/tests/cxx/parser/validation/choice/test-002.std
deleted file mode 100644
index 1dc1a3a..0000000
--- a/tests/cxx/parser/validation/choice/test-002.std
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- c = c
- d = d
- any: other#any
- {
- chars = any
- }
- a = a
- :14:8 error: unexpected element 'b'
-}
-
diff --git a/tests/cxx/parser/validation/choice/test-002.xml b/tests/cxx/parser/validation/choice/test-002.xml
deleted file mode 100644
index 3b7e663..0000000
--- a/tests/cxx/parser/validation/choice/test-002.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:o="other"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <!-- invalid -->
- <choice>
- <c>c</c>
- <d>d</d>
-
- <o:any>any</o:any>
-
- <a>a</a>
- <b>b</b>
- </choice>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/choice/test-003.std b/tests/cxx/parser/validation/choice/test-003.std
deleted file mode 100644
index 29d5e44..0000000
--- a/tests/cxx/parser/validation/choice/test-003.std
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- c = c
- :9:12 error: expected element 'd'
-}
-
diff --git a/tests/cxx/parser/validation/choice/test-003.xml b/tests/cxx/parser/validation/choice/test-003.xml
deleted file mode 100644
index ba15c7e..0000000
--- a/tests/cxx/parser/validation/choice/test-003.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:o="other"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <!-- invalid -->
- <choice>
- <c>c</c>
- </choice>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/choice/test-004.std b/tests/cxx/parser/validation/choice/test-004.std
deleted file mode 100644
index 4a7530b..0000000
--- a/tests/cxx/parser/validation/choice/test-004.std
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- :8:8 error: expected element 'a' instead of 'x'
-}
-
diff --git a/tests/cxx/parser/validation/choice/test-004.xml b/tests/cxx/parser/validation/choice/test-004.xml
deleted file mode 100644
index f6960dd..0000000
--- a/tests/cxx/parser/validation/choice/test-004.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:o="other"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <!-- invalid -->
- <choice>
- <x>x</x>
- </choice>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/choice/test.xsd b/tests/cxx/parser/validation/choice/test.xsd
deleted file mode 100644
index 8132bbb..0000000
--- a/tests/cxx/parser/validation/choice/test.xsd
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
-
- <complexType name="choice">
- <choice maxOccurs="3">
- <element name="a" type="string"/>
- <element name="b" type="string" maxOccurs="unbounded"/>
- <sequence>
- <element name="c" type="string" minOccurs="0"/>
- <element name="d" type="string"/>
- </sequence>
- <any namespace="other" maxOccurs="unbounded"/>
- </choice>
- </complexType>
-
- <complexType name="type">
- <sequence>
- <element name="choice" type="t:choice" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-
- <element name="root" type="t:type"/>
-
-</schema>
diff --git a/tests/cxx/parser/validation/makefile b/tests/cxx/parser/validation/makefile
deleted file mode 100644
index 600d9dd..0000000
--- a/tests/cxx/parser/validation/makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-# file : tests/cxx/parser/validation/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make
-
-tests := all any attribute built-in choice restriction sequence
-
-default := $(out_base)/
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-$(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests)))
-$(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests)))
-$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests)))
-
-$(foreach t,$(tests),$(call import,$(src_base)/$t/makefile))
diff --git a/tests/cxx/parser/validation/restriction/driver.cxx b/tests/cxx/parser/validation/restriction/driver.cxx
deleted file mode 100644
index 6f9a871..0000000
--- a/tests/cxx/parser/validation/restriction/driver.cxx
+++ /dev/null
@@ -1,107 +0,0 @@
-// file : tests/cxx/parser/validation/restriction/driver.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test the restriction compositor validation.
-//
-
-#include <string>
-#include <fstream>
-#include <iostream>
-
-#include "test-pskel.hxx"
-
-using namespace std;
-using namespace test;
-
-struct base_a_pimpl: base_a_pskel
-{
-};
-
-struct restriction_a_pimpl: restriction_a_pskel
-{
-};
-
-struct extension_b_pimpl: extension_b_pskel
-{
-};
-
-struct restriction_b_pimpl: restriction_b_pskel
-{
-};
-
-struct type_b_pimpl: type_b_pskel
-{
-};
-
-struct type_r_pimpl: type_r_pskel
-{
-};
-
-
-int
-main (int argc, char* argv[])
-{
- if (argc != 2)
- {
- cerr << "usage: " << argv[0] << " test.xml" << endl;
- return 1;
- }
-
- try
- {
- xml_schema::string_pimpl string_p;
- base_a_pimpl base_a_p;
- restriction_a_pimpl restriction_a_p;
- extension_b_pimpl extension_b_p;
- restriction_b_pimpl restriction_b_p;
- type_b_pimpl type_b_p;
- type_r_pimpl type_r_p;
-
- base_a_p.parsers (string_p, string_p, string_p,
- string_p, string_p, string_p);
-
- restriction_a_p.parsers (string_p, string_p, string_p,
- string_p, string_p, string_p);
-
- extension_b_p.parsers (string_p, string_p, string_p,
- string_p, string_p);
-
- restriction_b_p.parsers (string_p, string_p, string_p,
- string_p, string_p);
-
- type_b_p.parsers (base_a_p, extension_b_p);
- type_r_p.parsers (restriction_a_p, restriction_b_p);
-
- xml_schema::document doc_b_p (type_b_p, "test", "root");
- xml_schema::document doc_r_p (type_r_p, "test", "root");
-
- {
- ifstream ifs (argv[1]);
- type_b_p.pre ();
- doc_b_p.parse (ifs, argv[1], "", xml_schema::flags::dont_validate);
- type_b_p.post_type_b ();
- }
-
- try
- {
- ifstream ifs (argv[1]);
- type_r_p.pre ();
- doc_r_p.parse (ifs, argv[1], "", xml_schema::flags::dont_validate);
- type_r_p.post_type_r ();
- }
- catch (xml_schema::exception const& e)
- {
- cout << e << endl;
- }
- }
- catch (xml_schema::exception const& e)
- {
- cerr << e << endl;
- return 1;
- }
- catch (ios_base::failure const&)
- {
- cerr << "io failure" << endl;
- return 1;
- }
-}
diff --git a/tests/cxx/parser/validation/restriction/makefile b/tests/cxx/parser/validation/restriction/makefile
deleted file mode 100644
index 61af2bf..0000000
--- a/tests/cxx/parser/validation/restriction/makefile
+++ /dev/null
@@ -1,92 +0,0 @@
-# file : tests/cxx/parser/validation/restriction/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make
-
-xsd := test.xsd
-cxx := driver.cxx
-
-tests := 000 001 002 003 004 005
-
-obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o))
-dep := $(obj:.o=.o.d)
-
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/libxerces-c/stub.make,\
- l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-
-# Build.
-#
-$(driver): $(obj) $(xerces_c.l)
-
-$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd
-$(obj) $(dep): $(xerces_c.l.cpp-options)
-
-genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
-gen := $(addprefix $(out_base)/,$(genf))
-
-$(gen): xsd := $(out_root)/xsd/xsd
-$(gen): xsd_options += --generate-validation
-$(gen): $(out_root)/xsd/xsd
-
-$(call include-dep,$(dep),$(obj),$(gen))
-
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-test_targets := $(addprefix $(out_base)/.test-,$(tests))
-
-$(test): $(test_targets)
-$(test_targets): driver := $(driver)
-
-.PHONY: $(out_base)/.test-%
-$(out_base)/.test-%: $(driver) $(src_base)/test.xsd $(src_base)/test-%.xml $(src_base)/test-%.std
- $(call message,test $(out_base)/$*,$(driver) $(src_base)/test-$*.xml | diff -u $(src_base)/test-$*.std -)
-
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
- $(addsuffix .cxx.clean,$(dep)) \
- $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(gen): | $(out_base)/.gitignore
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver $(genf)
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
-
-$(call include,$(bld_root)/cxx/standard.make) # cxx_standard
-ifdef cxx_standard
-$(gen): xsd_options += --std $(cxx_standard)
-$(call include,$(scf_root)/xsd/parser/xsd-cxx.make)
-endif
-
-
-# Dependencies.
-#
-$(call import,$(src_root)/xsd/makefile)
diff --git a/tests/cxx/parser/validation/restriction/test-000.std b/tests/cxx/parser/validation/restriction/test-000.std
deleted file mode 100644
index e69de29..0000000
--- a/tests/cxx/parser/validation/restriction/test-000.std
+++ /dev/null
diff --git a/tests/cxx/parser/validation/restriction/test-000.xml b/tests/cxx/parser/validation/restriction/test-000.xml
deleted file mode 100644
index 21402b4..0000000
--- a/tests/cxx/parser/validation/restriction/test-000.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <restriction-a z="z">
- <a>a</a>
- <b>b</b>
- <c>c</c>
- </restriction-a>
-
- <restriction-a x="x" y="y" z="z">
- <a>a</a>
- <b>b</b>
- <c>c</c>
- </restriction-a>
-
- <restriction-b y="y">
- <a>a</a>
- <b>b</b>
- </restriction-b>
-
- <restriction-b y="y">
- <a>a</a>
- <c>c</c>
- </restriction-b>
-
- <restriction-b x="x" y="y">
- <a>a</a>
- </restriction-b>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/restriction/test-001.std b/tests/cxx/parser/validation/restriction/test-001.std
deleted file mode 100644
index 5077837..0000000
--- a/tests/cxx/parser/validation/restriction/test-001.std
+++ /dev/null
@@ -1 +0,0 @@
-:7:8 error: expected element 'a' instead of 'b'
diff --git a/tests/cxx/parser/validation/restriction/test-001.xml b/tests/cxx/parser/validation/restriction/test-001.xml
deleted file mode 100644
index 4015302..0000000
--- a/tests/cxx/parser/validation/restriction/test-001.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <!-- valid base but not restriction: a element -->
- <restriction-a z="z">
- <b>b</b>
- <c>c</c>
- </restriction-a>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/restriction/test-002.std b/tests/cxx/parser/validation/restriction/test-002.std
deleted file mode 100644
index f12c342..0000000
--- a/tests/cxx/parser/validation/restriction/test-002.std
+++ /dev/null
@@ -1 +0,0 @@
-:10:19 error: expected attribute 'z'
diff --git a/tests/cxx/parser/validation/restriction/test-002.xml b/tests/cxx/parser/validation/restriction/test-002.xml
deleted file mode 100644
index eb7684c..0000000
--- a/tests/cxx/parser/validation/restriction/test-002.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <!-- valid base but not restriction: z attribute -->
- <restriction-a>
- <a>a</a>
- <b>b</b>
- <c>c</c>
- </restriction-a>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/restriction/test-003.std b/tests/cxx/parser/validation/restriction/test-003.std
deleted file mode 100644
index 0c65175..0000000
--- a/tests/cxx/parser/validation/restriction/test-003.std
+++ /dev/null
@@ -1 +0,0 @@
-:11:8 error: unexpected element 'a'
diff --git a/tests/cxx/parser/validation/restriction/test-003.xml b/tests/cxx/parser/validation/restriction/test-003.xml
deleted file mode 100644
index 49f18c7..0000000
--- a/tests/cxx/parser/validation/restriction/test-003.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <!-- valid base but not restriction: sequence maxOccurs="1" -->
- <restriction-a z="z">
- <a>a</a>
- <b>b</b>
- <c>c</c>
-
- <a>a</a>
- <b>b</b>
- <c>c</c>
- </restriction-a>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/restriction/test-004.std b/tests/cxx/parser/validation/restriction/test-004.std
deleted file mode 100644
index 5077837..0000000
--- a/tests/cxx/parser/validation/restriction/test-004.std
+++ /dev/null
@@ -1 +0,0 @@
-:7:8 error: expected element 'a' instead of 'b'
diff --git a/tests/cxx/parser/validation/restriction/test-004.xml b/tests/cxx/parser/validation/restriction/test-004.xml
deleted file mode 100644
index 115cd38..0000000
--- a/tests/cxx/parser/validation/restriction/test-004.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <!-- valid extension but not restriction: a element -->
- <restriction-b y="y">
- <b>b</b>
- </restriction-b>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/restriction/test-005.std b/tests/cxx/parser/validation/restriction/test-005.std
deleted file mode 100644
index e92de14..0000000
--- a/tests/cxx/parser/validation/restriction/test-005.std
+++ /dev/null
@@ -1 +0,0 @@
-:9:19 error: expected attribute 'y'
diff --git a/tests/cxx/parser/validation/restriction/test-005.xml b/tests/cxx/parser/validation/restriction/test-005.xml
deleted file mode 100644
index e9ab7d9..0000000
--- a/tests/cxx/parser/validation/restriction/test-005.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <!-- valid extension but not restriction: y attribute -->
- <restriction-b>
- <a>a</a>
- <b>b</b>
- </restriction-b>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/restriction/test.xsd b/tests/cxx/parser/validation/restriction/test.xsd
deleted file mode 100644
index 158ded5..0000000
--- a/tests/cxx/parser/validation/restriction/test.xsd
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
-
- <!-- simple case -->
- <complexType name="base-a">
- <sequence minOccurs="1" maxOccurs="2">
- <element name="a" type="string" minOccurs="0"/>
- <element name="b" type="string"/>
- <element name="c" type="string"/>
- </sequence>
- <attribute name="x" type="string"/>
- <attribute name="y" type="string"/>
- <attribute name="z" type="string"/>
- </complexType>
-
- <complexType name="restriction-a">
- <complexContent>
- <restriction base="t:base-a">
- <sequence minOccurs="1" maxOccurs="1">
- <element name="a" type="string" minOccurs="1"/>
- <element name="b" type="string"/>
- <element name="c" type="string"/>
- </sequence>
- <!-- Can be ommited if not changed, e.g., 'x'. -->
- <attribute name="y" type="string"/> <!-- But can also be repeated without change. -->
- <attribute name="z" type="string" use="required"/>
- </restriction>
- </complexContent>
- </complexType>
-
- <!-- restriction of an extension -->
- <complexType name="base-b">
- <sequence>
- <element name="a" type="string" minOccurs="0"/>
- </sequence>
- <attribute name="x" type="string"/>
- </complexType>
-
- <complexType name="extension-b">
- <complexContent>
- <extension base="t:base-b">
- <choice>
- <element name="b" type="string" minOccurs="0"/>
- <element name="c" type="string"/>
- </choice>
- <attribute name="y" type="string"/>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="restriction-b">
- <complexContent>
- <restriction base="t:extension-b">
- <sequence>
- <sequence>
- <element name="a" type="string" minOccurs="1"/>
- </sequence>
- <choice>
- <element name="b" type="string" minOccurs="0"/>
- <element name="c" type="string"/>
- </choice>
- </sequence>
- <attribute name="y" type="string" use="required"/>
- </restriction>
- </complexContent>
- </complexType>
-
- <complexType name="type-b">
- <choice maxOccurs="unbounded">
- <element name="restriction-a" type="t:base-a"/>
- <element name="restriction-b" type="t:extension-b"/>
- </choice>
- </complexType>
-
- <complexType name="type-r">
- <choice maxOccurs="unbounded">
- <element name="restriction-a" type="t:restriction-a"/>
- <element name="restriction-b" type="t:restriction-b"/>
- </choice>
- </complexType>
-
-</schema>
diff --git a/tests/cxx/parser/validation/sequence/driver.cxx b/tests/cxx/parser/validation/sequence/driver.cxx
deleted file mode 100644
index 61652b3..0000000
--- a/tests/cxx/parser/validation/sequence/driver.cxx
+++ /dev/null
@@ -1,139 +0,0 @@
-// file : tests/cxx/parser/validation/sequence/driver.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test the sequence compositor validation.
-//
-
-#include <string>
-#include <fstream>
-#include <iostream>
-
-#include "test-pskel.hxx"
-
-using namespace std;
-using namespace test;
-using xml_schema::ro_string;
-
-struct sequence_pimpl: sequence_pskel
-{
- virtual void
- pre ()
- {
- cout << "{" << endl;
- }
-
- virtual void
- a (string const& v)
- {
- cout << " a = " << v << endl;
- }
-
- virtual void
- b (string const& v)
- {
- cout << " b = " << v << endl;
- }
-
- virtual void
- c (string const& v)
- {
- cout << " c = " << v << endl;
- }
-
- virtual void
- d (string const& v)
- {
- cout << " d = " << v << endl;
- }
-
- virtual void
- e (string const& v)
- {
- cout << " e = " << v << endl;
- }
-
- virtual void
- f (string const& v)
- {
- cout << " f = " << v << endl;
- }
-
- virtual void
- _start_any_element (ro_string const& ns,
- ro_string const& name,
- ro_string const*)
- {
- cout << " any: " << ns << "#" << name << endl
- << " {" << endl;
- }
-
- virtual void
- _any_characters (ro_string const& v)
- {
- cout << " chars = " << v << endl;
- }
-
- virtual void
- _end_any_element (ro_string const&, ro_string const&)
- {
- cout << " }" << endl;
- }
-
- virtual void
- post_sequence ()
- {
- cout << "}" << endl
- << endl;
- }
-};
-
-struct type_pimpl: type_pskel
-{
-};
-
-int
-main (int argc, char* argv[])
-{
- if (argc != 2)
- {
- cerr << "usage: " << argv[0] << " test.xml" << endl;
- return 1;
- }
-
- try
- {
- xml_schema::string_pimpl string_p;
- sequence_pimpl sequence_p;
- type_pimpl type_p;
-
- sequence_p.parsers (string_p, string_p, string_p,
- string_p, string_p, string_p);
- type_p.parsers (sequence_p);
-
- xml_schema::document doc_p (type_p, "test", "root");
-
- try
- {
- ifstream ifs (argv[1]);
- type_p.pre ();
- doc_p.parse (ifs, argv[1], "", xml_schema::flags::dont_validate);
- type_p.post_type ();
- }
- catch (xml_schema::exception const& e)
- {
- cout << " " << e << endl
- << "}" << endl
- << endl;
- }
- }
- catch (xml_schema::exception const& e)
- {
- cerr << e << endl;
- return 1;
- }
- catch (ios_base::failure const&)
- {
- cerr << "io failure" << endl;
- return 1;
- }
-}
diff --git a/tests/cxx/parser/validation/sequence/makefile b/tests/cxx/parser/validation/sequence/makefile
deleted file mode 100644
index f0a7b14..0000000
--- a/tests/cxx/parser/validation/sequence/makefile
+++ /dev/null
@@ -1,92 +0,0 @@
-# file : tests/cxx/parser/validation/sequence/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make
-
-xsd := test.xsd
-cxx := driver.cxx
-
-tests := 000 001 002 003 004 005 006
-
-obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o))
-dep := $(obj:.o=.o.d)
-
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-# Import.
-#
-$(call import,\
- $(scf_root)/import/libxerces-c/stub.make,\
- l: xerces_c.l,cpp-options: xerces_c.l.cpp-options)
-
-# Build.
-#
-$(driver): $(obj) $(xerces_c.l)
-
-$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd
-$(obj) $(dep): $(xerces_c.l.cpp-options)
-
-genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx)
-gen := $(addprefix $(out_base)/,$(genf))
-
-$(gen): xsd := $(out_root)/xsd/xsd
-$(gen): xsd_options += --generate-validation
-$(gen): $(out_root)/xsd/xsd
-
-$(call include-dep,$(dep),$(obj),$(gen))
-
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-test_targets := $(addprefix $(out_base)/.test-,$(tests))
-
-$(test): $(test_targets)
-$(test_targets): driver := $(driver)
-
-.PHONY: $(out_base)/.test-%
-$(out_base)/.test-%: $(driver) $(src_base)/test.xsd $(src_base)/test-%.xml $(src_base)/test-%.std
- $(call message,test $(out_base)/$*,$(driver) $(src_base)/test-$*.xml | diff -u $(src_base)/test-$*.std -)
-
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
- $(addsuffix .cxx.clean,$(dep)) \
- $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean))
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(gen): | $(out_base)/.gitignore
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver $(genf)
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
-
-$(call include,$(bld_root)/cxx/standard.make) # cxx_standard
-ifdef cxx_standard
-$(gen): xsd_options += --std $(cxx_standard)
-$(call include,$(scf_root)/xsd/parser/xsd-cxx.make)
-endif
-
-
-# Dependencies.
-#
-$(call import,$(src_root)/xsd/makefile)
diff --git a/tests/cxx/parser/validation/sequence/test-000.std b/tests/cxx/parser/validation/sequence/test-000.std
deleted file mode 100644
index 8a44762..0000000
--- a/tests/cxx/parser/validation/sequence/test-000.std
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- c = c
- d = d
- any: test#any
- {
- chars = aaa
- any: #a
- {
- chars = bbb
- }
- chars = ccc
- }
- f = f
- e = e
-}
-
-{
- a = a
- b = b
- c = c
- d = d
- d = d
- d = d
- any: other#any
- {
- chars = any
- }
- f = f
- e = e
- e = e
-}
-
-{
- a = a
- b = b
- c = c
- d = d
- d = d
- d = d
- any: other#any
- {
- chars = any
- }
- f = f
- e = e
- e = e
- c = c
- d = d
- any: test#any
- {
- chars = any
- }
- f = f
- e = e
-}
-
diff --git a/tests/cxx/parser/validation/sequence/test-000.xml b/tests/cxx/parser/validation/sequence/test-000.xml
deleted file mode 100644
index 9bcbd7e..0000000
--- a/tests/cxx/parser/validation/sequence/test-000.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:o="other"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <sequence>
- <c>c</c>
- <d>d</d>
- <t:any>aaa<a>bbb</a>ccc</t:any>
- <f>f</f>
- <e>e</e>
- </sequence>
-
- <sequence>
- <a>a</a>
- <b>b</b>
- <c>c</c>
- <d>d</d>
- <d>d</d>
- <d>d</d>
- <o:any>any</o:any>
- <f>f</f>
- <e>e</e>
- <e>e</e>
- </sequence>
-
- <sequence>
- <a>a</a>
- <b>b</b>
- <c>c</c>
- <d>d</d>
- <d>d</d>
- <d>d</d>
- <o:any>any</o:any>
- <f>f</f>
- <e>e</e>
- <e>e</e>
-
- <c>c</c>
- <d>d</d>
- <t:any>any</t:any>
- <f>f</f>
- <e>e</e>
- </sequence>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/sequence/test-001.std b/tests/cxx/parser/validation/sequence/test-001.std
deleted file mode 100644
index 20dea34..0000000
--- a/tests/cxx/parser/validation/sequence/test-001.std
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- :8:14 error: expected element 'a'
-}
-
diff --git a/tests/cxx/parser/validation/sequence/test-001.xml b/tests/cxx/parser/validation/sequence/test-001.xml
deleted file mode 100644
index 67d33ce..0000000
--- a/tests/cxx/parser/validation/sequence/test-001.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:o="other"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <!-- fail minOccurs="1" -->
- <sequence>
- </sequence>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/sequence/test-002.std b/tests/cxx/parser/validation/sequence/test-002.std
deleted file mode 100644
index 61343e7..0000000
--- a/tests/cxx/parser/validation/sequence/test-002.std
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- c = c
- d = d
- any: test#any
- {
- chars = any
- }
- f = f
- e = e
- c = c
- d = d
- any: test#any
- {
- chars = any
- }
- f = f
- e = e
- :20:8 error: unexpected element 'c'
-}
-
diff --git a/tests/cxx/parser/validation/sequence/test-002.xml b/tests/cxx/parser/validation/sequence/test-002.xml
deleted file mode 100644
index be25fcf..0000000
--- a/tests/cxx/parser/validation/sequence/test-002.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:o="other"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <!-- fail maxOccurs="2" -->
- <sequence>
- <c>c</c>
- <d>d</d>
- <t:any>any</t:any>
- <f>f</f>
- <e>e</e>
-
- <c>c</c>
- <d>d</d>
- <t:any>any</t:any>
- <f>f</f>
- <e>e</e>
-
- <c>c</c>
- <d>d</d>
- <t:any>any</t:any>
- <f>f</f>
- <e>e</e>
- </sequence>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/sequence/test-003.std b/tests/cxx/parser/validation/sequence/test-003.std
deleted file mode 100644
index c4e1e46..0000000
--- a/tests/cxx/parser/validation/sequence/test-003.std
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- a = a
- :9:8 error: expected element 'b' instead of 'a'
-}
-
diff --git a/tests/cxx/parser/validation/sequence/test-003.xml b/tests/cxx/parser/validation/sequence/test-003.xml
deleted file mode 100644
index af7d21d..0000000
--- a/tests/cxx/parser/validation/sequence/test-003.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:o="other"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <!-- fail a maxOccurs="1" -->
- <sequence>
- <a>a</a>
- <a>a</a>
- <c>c</c>
- <d>d</d>
- <t:any>any</t:any>
- <f>f</f>
- <e>e</e>
- </sequence>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/sequence/test-004.std b/tests/cxx/parser/validation/sequence/test-004.std
deleted file mode 100644
index f4c1d4d..0000000
--- a/tests/cxx/parser/validation/sequence/test-004.std
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- :8:8 error: expected element 'a' instead of 'd'
-}
-
diff --git a/tests/cxx/parser/validation/sequence/test-004.xml b/tests/cxx/parser/validation/sequence/test-004.xml
deleted file mode 100644
index a58b6d4..0000000
--- a/tests/cxx/parser/validation/sequence/test-004.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:o="other"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <!-- fail c minOccurs="1" -->
- <sequence>
- <d>d</d>
- <t:any>any</t:any>
- <f>f</f>
- <e>e</e>
- </sequence>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/sequence/test-005.std b/tests/cxx/parser/validation/sequence/test-005.std
deleted file mode 100644
index 9fa7904..0000000
--- a/tests/cxx/parser/validation/sequence/test-005.std
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- c = c
- d = d
- :10:13 error: expected element '##targetNamespace#*' instead of 'other1#any'
-}
-
diff --git a/tests/cxx/parser/validation/sequence/test-005.xml b/tests/cxx/parser/validation/sequence/test-005.xml
deleted file mode 100644
index e3dd03d..0000000
--- a/tests/cxx/parser/validation/sequence/test-005.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:o1="other1"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <!-- fail any namespace="##targetNamespace other" -->
- <sequence>
- <c>c</c>
- <d>d</d>
- <o1:any>any</o1:any>
- <f>f</f>
- <e>e</e>
- </sequence>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/sequence/test-006.std b/tests/cxx/parser/validation/sequence/test-006.std
deleted file mode 100644
index eb79f47..0000000
--- a/tests/cxx/parser/validation/sequence/test-006.std
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- c = c
- d = d
- any: test#any
- {
- chars = any
- }
- f = f
- e = e
- e = e
- :14:8 error: unexpected element 'e'
-}
-
diff --git a/tests/cxx/parser/validation/sequence/test-006.xml b/tests/cxx/parser/validation/sequence/test-006.xml
deleted file mode 100644
index e1ecd69..0000000
--- a/tests/cxx/parser/validation/sequence/test-006.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:o="other"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd">
-
- <!-- fail e maxOccurs="2" -->
- <sequence>
- <c>c</c>
- <d>d</d>
- <t:any>any</t:any>
- <f>f</f>
- <e>e</e>
- <e>e</e>
- <e>e</e>
- </sequence>
-
-</t:root>
diff --git a/tests/cxx/parser/validation/sequence/test.xsd b/tests/cxx/parser/validation/sequence/test.xsd
deleted file mode 100644
index 8753f54..0000000
--- a/tests/cxx/parser/validation/sequence/test.xsd
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
-
- <complexType name="sequence">
- <sequence minOccurs="1" maxOccurs="2">
- <element name="a" type="string" minOccurs="0"/>
- <sequence>
- <element name="b" type="string" minOccurs="0"/>
- <element name="c" type="string"/>
- </sequence>
- <element name="d" type="string" maxOccurs="unbounded"/>
- <sequence>
- <any namespace="##targetNamespace other"/>
- <element name="f" type="string"/>
- </sequence>
- <element name="e" type="string" maxOccurs="2"/>
- </sequence>
- </complexType>
-
- <complexType name="type">
- <sequence>
- <element name="sequence" type="t:sequence" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-
- <element name="root" type="t:type"/>
-
-</schema>