summaryrefslogtreecommitdiff
path: root/tests/cxx/parser/validation/attribute
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2020-12-18 18:48:46 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2021-02-25 13:45:48 +0300
commit5e527213a2430bb3018e5eebd909aef294edf9b5 (patch)
tree94de33c82080b53d9a9e300170f6d221d89078f4 /tests/cxx/parser/validation/attribute
parent7420f85ea19b0562ffdd8123442f32bc8bac1267 (diff)
Switch to build2
Diffstat (limited to 'tests/cxx/parser/validation/attribute')
-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
5 files changed, 0 insertions, 394 deletions
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>