diff options
author | Jörg Frings-Fürst <debian@jff.email> | 2024-03-06 10:24:46 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff.email> | 2024-03-06 10:24:46 +0100 |
commit | 372a0e99c2f61543d9e14d9933b59d9d1f4cb26e (patch) | |
tree | bbadf39aed0610c8f8f7b41fefff47773b8ac205 /xsd/tests/cxx/parser/validation/attribute | |
parent | 23d41842168ac1a1580111b9c5c73500ceee3d57 (diff) | |
parent | 4538829ab86b5a1cd4e845e7eab165029c9d6d46 (diff) |
Merge branch 'feature/upstream' into develop
Diffstat (limited to 'xsd/tests/cxx/parser/validation/attribute')
-rw-r--r-- | xsd/tests/cxx/parser/validation/attribute/driver.cxx | 198 | ||||
-rw-r--r-- | xsd/tests/cxx/parser/validation/attribute/makefile | 93 | ||||
-rw-r--r-- | xsd/tests/cxx/parser/validation/attribute/test-000.std | 24 | ||||
-rw-r--r-- | xsd/tests/cxx/parser/validation/attribute/test-000.xml | 10 | ||||
-rw-r--r-- | xsd/tests/cxx/parser/validation/attribute/test.xsd | 71 |
5 files changed, 0 insertions, 396 deletions
diff --git a/xsd/tests/cxx/parser/validation/attribute/driver.cxx b/xsd/tests/cxx/parser/validation/attribute/driver.cxx deleted file mode 100644 index 7e4de25..0000000 --- a/xsd/tests/cxx/parser/validation/attribute/driver.cxx +++ /dev/null @@ -1,198 +0,0 @@ -// file : tests/cxx/parser/validation/attribute/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// 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/xsd/tests/cxx/parser/validation/attribute/makefile b/xsd/tests/cxx/parser/validation/attribute/makefile deleted file mode 100644 index 94e5369..0000000 --- a/xsd/tests/cxx/parser/validation/attribute/makefile +++ /dev/null @@ -1,93 +0,0 @@ -# file : tests/cxx/parser/validation/attribute/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# 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/xsd/tests/cxx/parser/validation/attribute/test-000.std b/xsd/tests/cxx/parser/validation/attribute/test-000.std deleted file mode 100644 index 847b054..0000000 --- a/xsd/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/xsd/tests/cxx/parser/validation/attribute/test-000.xml b/xsd/tests/cxx/parser/validation/attribute/test-000.xml deleted file mode 100644 index b994d1a..0000000 --- a/xsd/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/xsd/tests/cxx/parser/validation/attribute/test.xsd b/xsd/tests/cxx/parser/validation/attribute/test.xsd deleted file mode 100644 index 833eb8e..0000000 --- a/xsd/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> |