summaryrefslogtreecommitdiff
path: root/tests/cxx/tree/wildcard
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/tree/wildcard
parent7420f85ea19b0562ffdd8123442f32bc8bac1267 (diff)
Switch to build2
Diffstat (limited to 'tests/cxx/tree/wildcard')
-rw-r--r--tests/cxx/tree/wildcard/driver.cxx203
-rw-r--r--tests/cxx/tree/wildcard/makefile86
-rw-r--r--tests/cxx/tree/wildcard/output24
-rw-r--r--tests/cxx/tree/wildcard/test.xml19
-rw-r--r--tests/cxx/tree/wildcard/test.xsd18
5 files changed, 0 insertions, 350 deletions
diff --git a/tests/cxx/tree/wildcard/driver.cxx b/tests/cxx/tree/wildcard/driver.cxx
deleted file mode 100644
index 51a17a3..0000000
--- a/tests/cxx/tree/wildcard/driver.cxx
+++ /dev/null
@@ -1,203 +0,0 @@
-// file : tests/cxx/tree/wildcard/driver.cxx
-// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-// Test wildcard (any & anyAttribute) mapping.
-//
-
-#include <memory> // std::auto_ptr/unique_ptr
-#include <sstream>
-#include <iostream>
-
-#include <xercesc/dom/DOM.hpp>
-#include <xercesc/util/PlatformUtils.hpp>
-
-#include "test.hxx" // Get XSD_CXX11 defined.
-
-#include <xsd/cxx/xml/string.hxx>
-
-using namespace std;
-using namespace test;
-using namespace xercesc;
-
-namespace xml = xsd::cxx::xml;
-
-void
-print (type& t)
-{
- if (t.att ())
- cout << *t.att () << endl;
-
- type::any_attribute_set& as (t.any_attribute ());
-
- for (type::any_attribute_iterator i (as.begin ()); i != as.end (); ++i)
- {
- cout << xml::transcode<char> (i->getTextContent ()) << endl;
- }
-
- cout << xml::transcode<char> (t.any ().getTextContent ()) << endl
- << t.foo () << endl;
-
- if (t.any1 ())
- cout << xml::transcode<char> (t.any1 ()->getTextContent ()) << endl;
-
- cout << t.bar () << endl;
-
- type::any2_sequence& es (t.any2 ());
-
- for (type::any2_iterator i (es.begin ()); i != es.end (); ++i)
- {
- cout << xml::transcode<char> (i->getTextContent ()) << endl;
- }
-
- cout << endl;
-}
-
-int
-main (int argc, char* argv[])
-{
- if (argc != 2)
- {
- cerr << "usage: " << argv[0] << " test.xml" << endl;
- return 1;
- }
-
- XMLPlatformUtils::Initialize ();
-
- try
- {
- // Test accessors/modifiers for various cardinalities.
- //
- type t;
-
- DOMDocument& doc (t.dom_document ());
-
- // one
- //
- {
- DOMElement* e (doc.createElement (xml::string ("a").c_str ()));
- t.any (*e);
- e->release ();
- assert (xml::transcode<char> (t.any ().getTagName ()) == "a");
-
- t.any (doc.createElement (xml::string ("b").c_str ()));
- assert (xml::transcode<char> (t.any ().getTagName ()) == "b");
- }
-
- // optional
- //
- {
- assert (!t.any1 ().present ());
-
- DOMElement* e (doc.createElement (xml::string ("a").c_str ()));
- t.any1 (*e);
- e->release ();
- assert (t.any1 ().present ());
- assert (xml::transcode<char> (t.any1 ().get ().getTagName ()) == "a");
-
- t.any1 (doc.createElement (xml::string ("b").c_str ()));
- assert (xml::transcode<char> (t.any1 ()->getTagName ()) == "b");
-
- type::any1_optional c (
- doc.createElement (xml::string ("c").c_str ()), doc);
- t.any1 (c);
- assert (xml::transcode<char> (t.any1 ()->getTagName ()) == "c");
- }
-
-
- // sequence
- //
- {
- type::any2_sequence& s (t.any2 ());
-
- DOMElement* e (doc.createElement (xml::string ("a").c_str ()));
- s.push_back (*e);
- e->release ();
- s.push_back (doc.createElement (xml::string ("b").c_str ()));
- assert (s.size () == 2);
-
- for (type::any2_iterator i (s.begin ()); i != s.end (); ++i)
- {
- if (i == s.begin ())
- assert (xml::transcode<char> (i->getTagName ()) == "a");
- else
- assert (xml::transcode<char> ((*i).getTagName ()) == "b");
- }
-
- // copy c-tor
- type::any2_sequence cs (s, doc);
- assert (cs.size () == 2);
- assert (xml::transcode<char> (cs[0].getTagName ()) == "a");
- assert (xml::transcode<char> (cs[1].getTagName ()) == "b");
-
- // assignment
- t.any2 (cs);
- assert (s.size () == 2);
- assert (xml::transcode<char> (s[0].getTagName ()) == "a");
- assert (xml::transcode<char> (s[1].getTagName ()) == "b");
- }
-
- // anyAttribute
- //
- {
- type::any_attribute_set& s (t.any_attribute ());
-
- DOMAttr* a (doc.createAttribute (xml::string ("a").c_str ()));
- s.insert (*a);
- a->release ();
- s.insert (doc.createAttribute (xml::string ("b").c_str ()));
- assert (s.size () == 2);
-
- assert (s.find ("a") != s.end ());
- assert (s.find ("b") != s.end ());
-
- for (type::any_attribute_iterator i (s.begin ()); i != s.end (); ++i)
- {
- assert (xml::transcode<char> (i->getName ()) == "a" ||
- xml::transcode<char> ((*i).getName ()) == "b");
- }
-
- // copy c-tor
- type::any_attribute_set cs (s, doc);
- assert (cs.size () == 2);
- assert (cs.count ("a"));
- assert (cs.count ("b"));
-
- // assignment
- t.any_attribute (cs);
- assert (s.size () == 2);
- assert (s.count ("a"));
- assert (s.count ("b"));
- }
-
- // Test parsing
- //
- XSD_AUTO_PTR<type> r (root (argv[1]));
- print (*r);
-
- // Test serialization.
- //
- xml_schema::namespace_infomap map;
-
- map["t"].name = "test";
- map["t"].schema = "test.xsd";
- map["o"].name = "other";
-
- stringstream iostr;
- root (iostr, *r, map);
-
- // cout << iostr.str () << endl
- // << endl;
-
- XSD_AUTO_PTR<type> copy (root (iostr, argv[1]));
- assert (*copy == *r);
-
- print (*copy);
- }
- catch (xml_schema::exception const& e)
- {
- cerr << e << endl;
- return 1;
- }
-
- XMLPlatformUtils::Terminate ();
-}
diff --git a/tests/cxx/tree/wildcard/makefile b/tests/cxx/tree/wildcard/makefile
deleted file mode 100644
index 39f4846..0000000
--- a/tests/cxx/tree/wildcard/makefile
+++ /dev/null
@@ -1,86 +0,0 @@
-# file : tests/cxx/tree/wildcard/makefile
-# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make
-
-xsd := test.xsd
-cxx := driver.cxx
-
-obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.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=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx)
-gen := $(addprefix $(out_base)/,$(genf))
-
-$(gen): xsd := $(out_root)/xsd/xsd
-$(gen): xsd_options += --generate-wildcard --generate-default-ctor \
---generate-from-base-ctor --generate-serialization --generate-comparison
-$(gen): $(out_root)/xsd/xsd
-
-$(call include-dep,$(dep),$(obj),$(gen))
-
-# Convenience alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-$(test): driver := $(driver)
-$(test): $(driver) $(src_base)/test.xml $(src_base)/output
- $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver))
-
-# Clean.
-#
-$(clean): $(driver).o.clean \
- $(addsuffix .cxx.clean,$(obj)) \
- $(addsuffix .cxx.clean,$(dep)) \
- $(addprefix $(out_base)/,$(xsd:.xsd=.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/tree/xsd-cxx.make)
-endif
-
-
-# Dependencies.
-#
-$(call import,$(src_root)/xsd/makefile)
diff --git a/tests/cxx/tree/wildcard/output b/tests/cxx/tree/wildcard/output
deleted file mode 100644
index b23b488..0000000
--- a/tests/cxx/tree/wildcard/output
+++ /dev/null
@@ -1,24 +0,0 @@
-att
-any
-o:any
-t:any
-o:one
-foo
-t:bar
-bar
-o:one1
-o:one2
-o:one3
-
-att
-any
-o:any
-t:any
-o:one
-foo
-t:bar
-bar
-o:one1
-o:one2
-o:one3
-
diff --git a/tests/cxx/tree/wildcard/test.xml b/tests/cxx/tree/wildcard/test.xml
deleted file mode 100644
index b0c3267..0000000
--- a/tests/cxx/tree/wildcard/test.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<t:root xmlns:t="test"
- xmlns:o="other"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="test test.xsd"
-
- att="att"
- any="any"
- t:any="t:any"
- o:any="o:any">
-
- <o:one>o:one</o:one>
- <foo>foo</foo>
- <t:bar>t:bar</t:bar>
- <bar>bar</bar>
- <o:seq1>o:one1</o:seq1>
- <o:seq2>o:one2</o:seq2>
- <o:seq3>o:one3</o:seq3>
-
-</t:root>
diff --git a/tests/cxx/tree/wildcard/test.xsd b/tests/cxx/tree/wildcard/test.xsd
deleted file mode 100644
index 6c7b308..0000000
--- a/tests/cxx/tree/wildcard/test.xsd
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test">
-
- <complexType name="type">
- <sequence>
- <any namespace="##other" processContents="skip"/>
- <element name="foo" type="string"/>
- <any namespace="##targetNamespace" minOccurs="0" processContents="skip"/>
- <element name="bar" type="string"/>
- <any namespace="##other" maxOccurs="unbounded" processContents="skip"/>
- </sequence>
- <attribute name="att" type="string"/>
- <anyAttribute namespace="##any" processContents="skip"/>
- </complexType>
-
- <element name="root" type="t:type"/>
-
-</schema>