diff options
author | Jörg Frings-Fürst <debian@jff.email> | 2024-03-06 10:24:11 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff.email> | 2024-03-06 10:24:11 +0100 |
commit | 4538829ab86b5a1cd4e845e7eab165029c9d6d46 (patch) | |
tree | bbadf39aed0610c8f8f7b41fefff47773b8ac205 /xsd/tests/cxx/tree/detach | |
parent | 23d41842168ac1a1580111b9c5c73500ceee3d57 (diff) | |
parent | aad5ad9bf0c02aa4e79bc6b7d6c934612fff4026 (diff) |
Update upstream source from tag 'upstream/4.2.0'
Update to upstream version '4.2.0'
with Debian dir 1b38df7bbcf313223de3c50107ac0255090fe647
Diffstat (limited to 'xsd/tests/cxx/tree/detach')
-rw-r--r-- | xsd/tests/cxx/tree/detach/driver.cxx | 109 | ||||
-rw-r--r-- | xsd/tests/cxx/tree/detach/makefile | 86 | ||||
-rw-r--r-- | xsd/tests/cxx/tree/detach/test.xsd | 32 |
3 files changed, 0 insertions, 227 deletions
diff --git a/xsd/tests/cxx/tree/detach/driver.cxx b/xsd/tests/cxx/tree/detach/driver.cxx deleted file mode 100644 index cabd9ea..0000000 --- a/xsd/tests/cxx/tree/detach/driver.cxx +++ /dev/null @@ -1,109 +0,0 @@ -// file : tests/cxx/tree/detach/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the detach functionality. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <cassert> - -#include "test.hxx" - -#ifdef XSD_CXX11 -# include <utility> // std::move -# define XSD_MOVE(x) std::move(x) -#else -# define XSD_MOVE(x) x -#endif - -using namespace std; -using namespace test; - -int -main () -{ - using test::ref; - - // Construct the model. - // - object o1 ("o1"); - o1.data ().push_back ("1-1"); - o1.data ().push_back ("1-2"); - o1.data ().push_back ("1-3"); - - object o2 ("o2"); - o1.data ().push_back ("2-1"); - o1.data ().push_back ("2-2"); - o1.data ().push_back ("2-3"); - - object o3 ("o3"); - o1.data ().push_back ("3-1"); - o1.data ().push_back ("3-2"); - o1.data ().push_back ("3-3"); - - object o4 ("o4"); - o1.data ().push_back ("4-1"); - o1.data ().push_back ("4-2"); - o1.data ().push_back ("4-3"); - - subtree s1; - s1.o ().push_back (o1); - s1.o ().push_back (o2); - s1.r ().push_back (ref ("o2")); - s1.r ().push_back (ref ("o3")); - - subtree s2; - s2.o ().push_back (o3); - s2.o ().push_back (o4); - s2.r ().push_back (ref ("o4")); - s2.r ().push_back (ref ("o1")); - - model m; - m.one (s1); - m.opt (s2); - - // Detach one. - // - XSD_AUTO_PTR<subtree> p (m.detach_one ()); - assert (p->_container () == 0); - assert (p->r ()[0].get () == &p->o ()[1]); - assert (m.opt ()->r ()[1].get () == 0); - - m.one (XSD_MOVE (p)); - assert (m.opt ()->r ()[1].get () == &m.one ().o ()[0]); - p = m.detach_one (); - - model m1; - m1.one (XSD_MOVE (p)); - m1.opt (s2); - assert (m1.opt ()->r ()[1].get () == &m1.one ().o ()[0]); - - p = m1.detach_one (); - m.seq ().push_back (XSD_MOVE (p)); - - // Detach opt. - // - p = m.opt ().detach (); - assert (!m.opt ()); - assert (p->_container () == 0); - assert (p->r ()[0].get () == &p->o ()[1]); - assert (m.seq ()[0].r ()[1].get () == 0); - - m.seq ().push_back (XSD_MOVE (p)); - - // Detach seq. - // - p = m.seq ().detach_back (); - assert (p->_container () == 0); - assert (p->r ()[0].get () == &p->o ()[1]); - assert (m.seq ()[0].r ()[1].get () == 0); - - m.seq ().push_back (XSD_MOVE (p)); - assert (m.seq ()[0].r ()[1].get () == &m.seq ()[1].o ()[0]); - - m.seq ().detach (m.seq ().begin (), p); - assert (p->_container () == 0); - assert (p->r ()[0].get () == &p->o ()[1]); - assert (m.seq ()[0].r ()[1].get () == 0); -} diff --git a/xsd/tests/cxx/tree/detach/makefile b/xsd/tests/cxx/tree/detach/makefile deleted file mode 100644 index 64def55..0000000 --- a/xsd/tests/cxx/tree/detach/makefile +++ /dev/null @@ -1,86 +0,0 @@ -# file : tests/cxx/tree/detach/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 - -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-detach --generate-default-ctor -$(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) - $(call message,test $$1,$$1,$(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/xsd/tests/cxx/tree/detach/test.xsd b/xsd/tests/cxx/tree/detach/test.xsd deleted file mode 100644 index b9f5166..0000000 --- a/xsd/tests/cxx/tree/detach/test.xsd +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="object"> - <sequence> - <element name="data" type="string" maxOccurs="unbounded"/> - </sequence> - <attribute name="id" type="ID" use="required"/> - </complexType> - - <complexType name="ref"> - <simpleContent> - <extension base="IDREF"/> - </simpleContent> - </complexType> - - <complexType name="subtree"> - <sequence> - <element name="o" type="t:object" minOccurs="0" maxOccurs="unbounded"/> - <element name="r" type="t:ref" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <complexType name="model"> - <sequence> - <element name="one" type="t:subtree"/> - <element name="opt" type="t:subtree" minOccurs="0"/> - <element name="seq" type="t:subtree" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - </complexType> - -</schema> |