]> git.saurik.com Git - wxWidgets.git/commitdiff
1. fixed wxXmlNode::InsertChild() documentation to match the code
authorVáclav Slavík <vslavik@fastmail.fm>
Sat, 29 Mar 2008 22:55:35 +0000 (22:55 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Sat, 29 Mar 2008 22:55:35 +0000 (22:55 +0000)
2. added tests for InsertChild()
3. simplified InsertChild() code without changing what it does

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52913 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 files changed:
include/wx/xml/xml.h
interface/xml/xml.h
src/xml/xml.cpp
tests/Makefile.in
tests/makefile.bcc
tests/makefile.gcc
tests/makefile.vc
tests/makefile.wat
tests/test.bkl
tests/test_test.dsp
tests/test_vc7_test.vcproj
tests/test_vc8_test.vcproj
tests/xml/xmltest.cpp [new file with mode: 0644]

index 37ffa2099c82698d65485d5e983385e4751f2017..77c88ef74cbee8dc299298779d42f104716ac657 100644 (file)
@@ -127,7 +127,7 @@ public:
               const wxString& content = wxEmptyString,
               int lineNo = -1);
     virtual void AddChild(wxXmlNode *child);
-    virtual bool InsertChild(wxXmlNode *child, wxXmlNode *before_node);
+    virtual bool InsertChild(wxXmlNode *child, wxXmlNode *followingNode);
     virtual bool RemoveChild(wxXmlNode *child);
     virtual void AddAttribute(const wxString& name, const wxString& value);
     virtual bool DeleteAttribute(const wxString& name);
index c584e3e5eaa3a22039f1ad2476ee95b859ffdd55..cc1fd7fef7255682a881fc76276f5382c5b5a2d1 100644 (file)
@@ -157,14 +157,19 @@ public:
     bool HasAttribute(const wxString& attrName) const;
 
     /**
-        Inserts the @a child node after @a before_node in the children list.
-        If @a before_node is @NULL, then @a child is prepended to the list of
-        children and
-        becomes the first child of this node.
-        Returns @true if @a before_node has been found and the @a child node has been
-        inserted.
-    */
-    bool InsertChild(wxXmlNode* child, wxXmlNode* before_node);
+        Inserts the @a child node immediately before @a followingNode in the
+        children list.
+
+        @return @true if @a followingNode has been found and the @a child
+                node has been inserted.
+
+        @note
+        For historical reasons, @a followingNode may be @NULL. In that case,
+        then @a child is prepended to the list of children and becomes the
+        first child of this node, i.e. it behaves identically to using the
+        first children (as returned by GetChildren()) for @a followingNode).
+    */
+    bool InsertChild(wxXmlNode* child, wxXmlNode* followingNode);
 
     /**
         Returns @true if the content of this node is a string containing only
index a68f828b401ad72eea80cbc17fd3b1139fbfd132..37467fc122571b85ec012d75c549a0f7ad143c2f 100644 (file)
@@ -187,39 +187,42 @@ void wxXmlNode::AddChild(wxXmlNode *child)
     child->m_parent = this;
 }
 
-bool wxXmlNode::InsertChild(wxXmlNode *child, wxXmlNode *before_node)
+// inserts a new node in front of 'followingNode'
+bool wxXmlNode::InsertChild(wxXmlNode *child, wxXmlNode *followingNode)
 {
-    wxCHECK_MSG(before_node == NULL || before_node->GetParent() == this, false,
-                 wxT("wxXmlNode::InsertChild - the node has incorrect parent"));
-    wxCHECK_MSG(child, false, wxT("Cannot insert a NULL pointer!"));
+    wxCHECK_MSG( child, false, "cannot insert a NULL node!" );
+    wxCHECK_MSG( child->m_parent == NULL, false, "node already has a parent" );
+    wxCHECK_MSG( child->m_next == NULL, false, "node already has m_next" );
+    wxCHECK_MSG( followingNode == NULL || followingNode->GetParent() == this,
+                 false,
+                 "wxXmlNode::InsertChild - followingNode has incorrect parent" );
 
-    if (m_children == before_node)
-       m_children = child;
-    else if (m_children == NULL)
-    {
-        if (before_node != NULL)
-            return false;       // we have no children so we don't need to search
-        m_children = child;
-    }
-    else if (before_node == NULL)
+    // this is for backward compatibility, NULL was allowed here thanks to
+    // the confusion about followingNode's meaning
+    if ( followingNode == NULL )
+        followingNode = m_children;
+
+    if ( m_children == followingNode )
     {
-        // prepend child
-        child->m_parent = this;
         child->m_next = m_children;
         m_children = child;
-        return true;
     }
     else
     {
         wxXmlNode *ch = m_children;
-        while (ch && ch->m_next != before_node) ch = ch->m_next;
-        if (!ch)
-            return false;       // before_node not found
+        while ( ch && ch->m_next != followingNode )
+            ch = ch->m_next;
+        if ( !ch )
+        {
+            wxFAIL_MSG( "followingNode has this node as parent, but couldn't be found among children" );
+            return false;
+        }
+
+        child->m_next = followingNode;
         ch->m_next = child;
     }
 
     child->m_parent = this;
-    child->m_next = before_node;
     return true;
 }
 
index 14b486647827c9b948f3890c22e305e313e21114..48275140914f5b9489762e10c7af73669a65880a 100644 (file)
@@ -32,6 +32,7 @@ TOOLKIT_LOWERCASE = @TOOLKIT_LOWERCASE@
 TOOLKIT_VERSION = @TOOLKIT_VERSION@
 TOOLCHAIN_FULLNAME = @TOOLCHAIN_FULLNAME@
 EXTRALIBS = @EXTRALIBS@
+EXTRALIBS_XML = @EXTRALIBS_XML@
 EXTRALIBS_GUI = @EXTRALIBS_GUI@
 CXXWARNINGS = @CXXWARNINGS@
 HOST_SUFFIX = @HOST_SUFFIX@
@@ -99,7 +100,8 @@ TEST_OBJECTS =  \
        test_vectors.o \
        test_evtconnection.o \
        test_weakref.o \
-       test_xlocale.o
+       test_xlocale.o \
+       test_xmltest.o
 TEST_ODEP =  $(___pch_testprec_test_testprec_h_gch___depname)
 TEST_GUI_CXXFLAGS = $(__test_gui_PCH_INC) -D__WX$(TOOLKIT)__ \
        $(__WXUNIV_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
@@ -149,6 +151,9 @@ PRINTFBENCH_ODEP =  $(___pch_testprec_printfbench_testprec_h_gch___depname)
 COND_MONOLITHIC_0___WXLIB_NET_p = \
        -lwx_base$(WXBASEPORT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net-$(WX_RELEASE)$(HOST_SUFFIX)
 @COND_MONOLITHIC_0@__WXLIB_NET_p = $(COND_MONOLITHIC_0___WXLIB_NET_p)
+COND_MONOLITHIC_0___WXLIB_XML_p = \
+       -lwx_base$(WXBASEPORT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml-$(WX_RELEASE)$(HOST_SUFFIX)
+@COND_MONOLITHIC_0@__WXLIB_XML_p = $(COND_MONOLITHIC_0___WXLIB_XML_p)
 @COND_USE_GUI_1@__test_gui___depname = test_gui$(EXEEXT)
 @COND_PLATFORM_MAC_0@__test_gui___mac_setfilecmd = @true
 @COND_PLATFORM_MAC_1@__test_gui___mac_setfilecmd = \
@@ -248,7 +253,7 @@ distclean: clean
        rm -f config.cache config.log config.status bk-deps bk-make-pch shared-ld-sh Makefile
 
 test$(EXEEXT): $(TEST_OBJECTS)
-       $(CXX) -o $@ $(TEST_OBJECTS) $(LDFLAGS)   -L$(LIBDIRNAME)  $(SAMPLES_RPATH_FLAG) $(CPPUNIT_LIBS)  $(LIBS) $(__WXLIB_NET_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE)
+       $(CXX) -o $@ $(TEST_OBJECTS) $(LDFLAGS)   -L$(LIBDIRNAME)  $(SAMPLES_RPATH_FLAG) $(CPPUNIT_LIBS)  $(LIBS) $(__WXLIB_NET_p)  $(__WXLIB_BASE_p)  $(__WXLIB_XML_p) $(EXTRALIBS_XML) $(__WXLIB_MONO_p) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE)
        
        $(__test___mac_setfilecmd)
        $(SAMPLES_RPATH_POSTLINK)
@@ -470,6 +475,9 @@ test_weakref.o: $(srcdir)/weakref/weakref.cpp $(TEST_ODEP)
 test_xlocale.o: $(srcdir)/xlocale/xlocale.cpp $(TEST_ODEP)
        $(CXXC) -c -o $@ $(TEST_CXXFLAGS) $(srcdir)/xlocale/xlocale.cpp
 
+test_xmltest.o: $(srcdir)/xml/xmltest.cpp $(TEST_ODEP)
+       $(CXXC) -c -o $@ $(TEST_CXXFLAGS) $(srcdir)/xml/xmltest.cpp
+
 test_gui_sample_rc.o: $(srcdir)/../samples/sample.rc $(TEST_GUI_ODEP)
        $(WINDRES) -i$< -o$@    --define __WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_5)  $(__EXCEPTIONS_DEFINE_p_5) $(__RTTI_DEFINE_p_5) $(__THREAD_DEFINE_p_5)   --include-dir $(srcdir) $(__DLLFLAG_p_5) --include-dir $(srcdir)/../samples $(__RCDEFDIR_p_1) --include-dir $(top_srcdir)/include
 
index 3f6fe75329294a1e9c62bdedf962ce0c73ee8393..0d5d0eca2c0d6b9438562cba6f88074414318d1c 100644 (file)
@@ -86,7 +86,8 @@ TEST_OBJECTS =  \
        $(OBJS)\test_vectors.obj \
        $(OBJS)\test_evtconnection.obj \
        $(OBJS)\test_weakref.obj \
-       $(OBJS)\test_xlocale.obj
+       $(OBJS)\test_xlocale.obj \
+       $(OBJS)\test_xmltest.obj
 TEST_GUI_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \
        $(__OPTIMIZEFLAG) $(__THREADSFLAG_1) -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
        $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
@@ -153,6 +154,10 @@ EXTRALIBS_FOR_BASE =
 __WXLIB_NET_p = \
        wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net.lib
 !endif
+!if "$(MONOLITHIC)" == "0"
+__WXLIB_XML_p = \
+       wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml.lib
+!endif
 !if "$(USE_GUI)" == "1"
 __test_gui___depname = $(OBJS)\test_gui.exe
 !endif
@@ -326,7 +331,7 @@ clean:
 
 $(OBJS)\test.exe: $(OBJS)\test_dummy.obj  $(TEST_OBJECTS)
        ilink32 -Tpe -q $(LDFLAGS) -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO)  -L$(LIBDIRNAME) -ap $(CPPUNIT_LIBS) @&&|
-       c0x32.obj $(TEST_OBJECTS),$@,, $(__WXLIB_NET_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib import32.lib cw32$(__THREADSFLAG)$(__RUNTIME_LIBS_1).lib,,
+       c0x32.obj $(TEST_OBJECTS),$@,, $(__WXLIB_NET_p)  $(__WXLIB_BASE_p)  $(__WXLIB_XML_p)  $(__WXLIB_MONO_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib import32.lib cw32$(__THREADSFLAG)$(__RUNTIME_LIBS_1).lib,,
 |
 
 !if "$(USE_GUI)" == "1"
@@ -502,6 +507,9 @@ $(OBJS)\test_weakref.obj: .\weakref\weakref.cpp
 $(OBJS)\test_xlocale.obj: .\xlocale\xlocale.cpp
        $(CXX) -q -c -P -o$@ $(TEST_CXXFLAGS) .\xlocale\xlocale.cpp
 
+$(OBJS)\test_xmltest.obj: .\xml\xmltest.cpp
+       $(CXX) -q -c -P -o$@ $(TEST_CXXFLAGS) .\xml\xmltest.cpp
+
 $(OBJS)\test_gui_sample.res: .\..\samples\sample.rc
        brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_3) $(__DEBUG_DEFINE_p_3) $(__EXCEPTIONS_DEFINE_p_3) $(__RTTI_DEFINE_p_3) $(__THREAD_DEFINE_p_3) $(__UNICODE_DEFINE_p_3) $(__MSLU_DEFINE_p_3) $(__GFXCTX_DEFINE_p_3) -i$(SETUPHDIR) -i.\..\include -i. $(__DLLFLAG_p_3) -i.\..\samples -dNOPCH .\..\samples\sample.rc
 
index ab7646b5b935a60028ef68c6a35ec951cb4805c4..c5f6814f665390a18746ea6161ac95aaf0a8d83d 100644 (file)
@@ -78,7 +78,8 @@ TEST_OBJECTS =  \
        $(OBJS)\test_vectors.o \
        $(OBJS)\test_evtconnection.o \
        $(OBJS)\test_weakref.o \
-       $(OBJS)\test_xlocale.o
+       $(OBJS)\test_xlocale.o \
+       $(OBJS)\test_xmltest.o
 TEST_GUI_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) \
        $(GCCFLAGS) -DHAVE_W32API_H -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
        $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
@@ -151,6 +152,10 @@ ifeq ($(MONOLITHIC),0)
 __WXLIB_NET_p = \
        -lwxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net
 endif
+ifeq ($(MONOLITHIC),0)
+__WXLIB_XML_p = \
+       -lwxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml
+endif
 ifeq ($(USE_GUI),1)
 __test_gui___depname = $(OBJS)\test_gui.exe
 endif
@@ -309,7 +314,7 @@ clean:
        -if exist $(OBJS)\printfbench.exe del $(OBJS)\printfbench.exe
 
 $(OBJS)\test.exe: $(TEST_OBJECTS)
-       $(CXX) -o $@ $(TEST_OBJECTS) $(LDFLAGS) $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME)  $(CPPUNIT_LIBS)  $(__WXLIB_NET_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32
+       $(CXX) -o $@ $(TEST_OBJECTS) $(LDFLAGS) $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME)  $(CPPUNIT_LIBS)  $(__WXLIB_NET_p)  $(__WXLIB_BASE_p)  $(__WXLIB_XML_p)  $(__WXLIB_MONO_p) -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32
 
 ifeq ($(USE_GUI),1)
 $(OBJS)\test_gui.exe: $(TEST_GUI_OBJECTS) $(OBJS)\test_gui_sample_rc.o
@@ -480,6 +485,9 @@ $(OBJS)\test_weakref.o: ./weakref/weakref.cpp
 $(OBJS)\test_xlocale.o: ./xlocale/xlocale.cpp
        $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\test_xmltest.o: ./xml/xmltest.cpp
+       $(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\test_gui_sample_rc.o: ./../samples/sample.rc
        windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_3) $(__DEBUG_DEFINE_p_3) $(__EXCEPTIONS_DEFINE_p_3) $(__RTTI_DEFINE_p_3) $(__THREAD_DEFINE_p_3) $(__UNICODE_DEFINE_p_3) $(__MSLU_DEFINE_p_3) $(__GFXCTX_DEFINE_p_3) --include-dir $(SETUPHDIR) --include-dir ./../include --include-dir . $(__DLLFLAG_p_3) --include-dir ./../samples --define NOPCH
 
index 3dc3d715ff5aea1200e1419d664cc6ae3e304e25..e7b7ebde77ca51beec3b1b2b5946d58708e2a5a0 100644 (file)
@@ -79,7 +79,8 @@ TEST_OBJECTS =  \
        $(OBJS)\test_vectors.obj \
        $(OBJS)\test_evtconnection.obj \
        $(OBJS)\test_weakref.obj \
-       $(OBJS)\test_xlocale.obj
+       $(OBJS)\test_xlocale.obj \
+       $(OBJS)\test_xmltest.obj
 TEST_GUI_CXXFLAGS = /M$(__RUNTIME_LIBS_23)$(__DEBUGRUNTIME) /DWIN32 \
        $(__DEBUGINFO) /Fd$(OBJS)\test_gui.pdb $(____DEBUGRUNTIME) \
        $(__OPTIMIZEFLAG) $(__NO_VC_CRTDBG_p) /D__WXMSW__ $(__WXUNIV_DEFINE_p) \
@@ -181,6 +182,10 @@ __RUNTIME_LIBS_8 = $(__THREADSFLAG)
 __WXLIB_NET_p = \
        wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net.lib
 !endif
+!if "$(MONOLITHIC)" == "0"
+__WXLIB_XML_p = \
+       wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml.lib
+!endif
 !if "$(USE_GUI)" == "1"
 __test_gui___depname = $(OBJS)\test_gui.exe
 !endif
@@ -411,7 +416,7 @@ clean:
 
 $(OBJS)\test.exe: $(OBJS)\test_dummy.obj  $(TEST_OBJECTS)
        link /NOLOGO /OUT:$@ $(LDFLAGS) $(__DEBUGINFO_2) /pdb:"$(OBJS)\test.pdb"  $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) /SUBSYSTEM:CONSOLE $(CPPUNIT_LIBS) @<<
-       $(TEST_OBJECTS)  $(__WXLIB_NET_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib
+       $(TEST_OBJECTS)  $(__WXLIB_NET_p)  $(__WXLIB_BASE_p)  $(__WXLIB_XML_p)  $(__WXLIB_MONO_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib
 <<
 
 !if "$(USE_GUI)" == "1"
@@ -587,6 +592,9 @@ $(OBJS)\test_weakref.obj: .\weakref\weakref.cpp
 $(OBJS)\test_xlocale.obj: .\xlocale\xlocale.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) .\xlocale\xlocale.cpp
 
+$(OBJS)\test_xmltest.obj: .\xml\xmltest.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) .\xml\xmltest.cpp
+
 $(OBJS)\test_gui_dummy.obj: .\dummy.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) /Yctestprec.h .\dummy.cpp
 
index 1cdce99cc9fc775f9bca46a0dfab11b644733a74..4f1da2621ccb08b38105b3aa33688c4a0c152a92 100644 (file)
@@ -74,6 +74,11 @@ __WXLIB_NET_p =
 __WXLIB_NET_p = &
        wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net.lib
 !endif
+__WXLIB_XML_p =
+!ifeq MONOLITHIC 0
+__WXLIB_XML_p = &
+       wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml.lib
+!endif
 __test_gui___depname =
 !ifeq USE_GUI 1
 __test_gui___depname = $(OBJS)\test_gui.exe
@@ -286,7 +291,8 @@ TEST_OBJECTS =  &
        $(OBJS)\test_vectors.obj &
        $(OBJS)\test_evtconnection.obj &
        $(OBJS)\test_weakref.obj &
-       $(OBJS)\test_xlocale.obj
+       $(OBJS)\test_xlocale.obj &
+       $(OBJS)\test_xmltest.obj
 TEST_GUI_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) &
        $(__RUNTIME_LIBS) -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) &
        $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) &
@@ -340,7 +346,7 @@ $(OBJS)\test.exe :  $(TEST_OBJECTS)
        @%append $(OBJS)\test.lbc option caseexact
        @%append $(OBJS)\test.lbc $(LDFLAGS) $(__DEBUGINFO_2)  libpath $(LIBDIRNAME) system nt ref 'main_' $(CPPUNIT_LIBS)
        @for %i in ($(TEST_OBJECTS)) do @%append $(OBJS)\test.lbc file %i
-       @for %i in ( $(__WXLIB_NET_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE)  $(__GDIPLUS_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib) do @%append $(OBJS)\test.lbc library %i
+       @for %i in ( $(__WXLIB_NET_p)  $(__WXLIB_BASE_p)  $(__WXLIB_XML_p)  $(__WXLIB_MONO_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE)  $(__GDIPLUS_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib) do @%append $(OBJS)\test.lbc library %i
        @%append $(OBJS)\test.lbc
        @for %i in () do @%append $(OBJS)\test.lbc option stack=%i
        wlink @$(OBJS)\test.lbc
@@ -532,6 +538,9 @@ $(OBJS)\test_weakref.obj :  .AUTODEPEND .\weakref\weakref.cpp
 $(OBJS)\test_xlocale.obj :  .AUTODEPEND .\xlocale\xlocale.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(TEST_CXXFLAGS) $<
 
+$(OBJS)\test_xmltest.obj :  .AUTODEPEND .\xml\xmltest.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(TEST_CXXFLAGS) $<
+
 $(OBJS)\test_gui_sample.res :  .AUTODEPEND .\..\samples\sample.rc
        wrc -q -ad -bt=nt -r -fo=$^@    -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p)  $(__GFXCTX_DEFINE_p) -i=$(SETUPHDIR) -i=.\..\include -i=. $(__DLLFLAG_p) -i=.\..\samples -dNOPCH $<
 
index 8d682b799807400ebcba58ae65717e3ffe3cf30e..6080b7b75acebcbaa5b7f91d845522629b0e0a49 100644 (file)
             weakref/evtconnection.cpp
             weakref/weakref.cpp
             xlocale/xlocale.cpp
+            xml/xmltest.cpp
         </sources>
         <wx-lib>net</wx-lib>
         <wx-lib>base</wx-lib>
+        <wx-lib>xml</wx-lib>
     </exe>
 
 
index ea24f8ecebaf2815e5267823e672c706bfac8bb4..8191d2c212a0699fa26131996d6a65c42aadae3c 100644 (file)
@@ -54,8 +54,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo\r
 # ADD BSC32 /nologo\r
 LINK32=link.exe\r
-# ADD BASE LINK32 wxbase29u_net.lib wxbase29u.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivudll\test.exe" /debug /pdb:"vc_mswunivudll\test.pdb" /libpath:".\..\lib\vc_dll" /subsystem:console\r
-# ADD LINK32 wxbase29u_net.lib wxbase29u.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivudll\test.exe" /debug /pdb:"vc_mswunivudll\test.pdb" /libpath:".\..\lib\vc_dll" /subsystem:console\r
+# ADD BASE LINK32 wxbase29u_net.lib wxbase29u.lib wxbase29u_xml.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivudll\test.exe" /debug /pdb:"vc_mswunivudll\test.pdb" /libpath:".\..\lib\vc_dll" /subsystem:console\r
+# ADD LINK32 wxbase29u_net.lib wxbase29u.lib wxbase29u_xml.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivudll\test.exe" /debug /pdb:"vc_mswunivudll\test.pdb" /libpath:".\..\lib\vc_dll" /subsystem:console\r
 \r
 !ELSEIF  "$(CFG)" == "test - Win32 DLL Universal Debug"\r
 \r
@@ -77,8 +77,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo\r
 # ADD BSC32 /nologo\r
 LINK32=link.exe\r
-# ADD BASE LINK32 wxbase29ud_net.lib wxbase29ud.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivuddll\test.exe" /debug /pdb:"vc_mswunivuddll\test.pdb" /libpath:".\..\lib\vc_dll" /subsystem:console\r
-# ADD LINK32 wxbase29ud_net.lib wxbase29ud.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivuddll\test.exe" /debug /pdb:"vc_mswunivuddll\test.pdb" /libpath:".\..\lib\vc_dll" /subsystem:console\r
+# ADD BASE LINK32 wxbase29ud_net.lib wxbase29ud.lib wxbase29ud_xml.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivuddll\test.exe" /debug /pdb:"vc_mswunivuddll\test.pdb" /libpath:".\..\lib\vc_dll" /subsystem:console\r
+# ADD LINK32 wxbase29ud_net.lib wxbase29ud.lib wxbase29ud_xml.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivuddll\test.exe" /debug /pdb:"vc_mswunivuddll\test.pdb" /libpath:".\..\lib\vc_dll" /subsystem:console\r
 \r
 !ELSEIF  "$(CFG)" == "test - Win32 DLL Release"\r
 \r
@@ -100,8 +100,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo\r
 # ADD BSC32 /nologo\r
 LINK32=link.exe\r
-# ADD BASE LINK32 wxbase29u_net.lib wxbase29u.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswudll\test.exe" /debug /pdb:"vc_mswudll\test.pdb" /libpath:".\..\lib\vc_dll" /subsystem:console\r
-# ADD LINK32 wxbase29u_net.lib wxbase29u.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswudll\test.exe" /debug /pdb:"vc_mswudll\test.pdb" /libpath:".\..\lib\vc_dll" /subsystem:console\r
+# ADD BASE LINK32 wxbase29u_net.lib wxbase29u.lib wxbase29u_xml.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswudll\test.exe" /debug /pdb:"vc_mswudll\test.pdb" /libpath:".\..\lib\vc_dll" /subsystem:console\r
+# ADD LINK32 wxbase29u_net.lib wxbase29u.lib wxbase29u_xml.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswudll\test.exe" /debug /pdb:"vc_mswudll\test.pdb" /libpath:".\..\lib\vc_dll" /subsystem:console\r
 \r
 !ELSEIF  "$(CFG)" == "test - Win32 DLL Debug"\r
 \r
@@ -123,8 +123,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo\r
 # ADD BSC32 /nologo\r
 LINK32=link.exe\r
-# ADD BASE LINK32 wxbase29ud_net.lib wxbase29ud.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswuddll\test.exe" /debug /pdb:"vc_mswuddll\test.pdb" /libpath:".\..\lib\vc_dll" /subsystem:console\r
-# ADD LINK32 wxbase29ud_net.lib wxbase29ud.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswuddll\test.exe" /debug /pdb:"vc_mswuddll\test.pdb" /libpath:".\..\lib\vc_dll" /subsystem:console\r
+# ADD BASE LINK32 wxbase29ud_net.lib wxbase29ud.lib wxbase29ud_xml.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswuddll\test.exe" /debug /pdb:"vc_mswuddll\test.pdb" /libpath:".\..\lib\vc_dll" /subsystem:console\r
+# ADD LINK32 wxbase29ud_net.lib wxbase29ud.lib wxbase29ud_xml.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswuddll\test.exe" /debug /pdb:"vc_mswuddll\test.pdb" /libpath:".\..\lib\vc_dll" /subsystem:console\r
 \r
 !ELSEIF  "$(CFG)" == "test - Win32 Universal Release"\r
 \r
@@ -146,8 +146,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo\r
 # ADD BSC32 /nologo\r
 LINK32=link.exe\r
-# ADD BASE LINK32 wxbase29u_net.lib wxbase29u.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivu\test.exe" /debug /pdb:"vc_mswunivu\test.pdb" /libpath:".\..\lib\vc_lib" /subsystem:console\r
-# ADD LINK32 wxbase29u_net.lib wxbase29u.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivu\test.exe" /debug /pdb:"vc_mswunivu\test.pdb" /libpath:".\..\lib\vc_lib" /subsystem:console\r
+# ADD BASE LINK32 wxbase29u_net.lib wxbase29u.lib wxbase29u_xml.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivu\test.exe" /debug /pdb:"vc_mswunivu\test.pdb" /libpath:".\..\lib\vc_lib" /subsystem:console\r
+# ADD LINK32 wxbase29u_net.lib wxbase29u.lib wxbase29u_xml.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivu\test.exe" /debug /pdb:"vc_mswunivu\test.pdb" /libpath:".\..\lib\vc_lib" /subsystem:console\r
 \r
 !ELSEIF  "$(CFG)" == "test - Win32 Universal Debug"\r
 \r
@@ -169,8 +169,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo\r
 # ADD BSC32 /nologo\r
 LINK32=link.exe\r
-# ADD BASE LINK32 wxbase29ud_net.lib wxbase29ud.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivud\test.exe" /debug /pdb:"vc_mswunivud\test.pdb" /libpath:".\..\lib\vc_lib" /subsystem:console\r
-# ADD LINK32 wxbase29ud_net.lib wxbase29ud.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivud\test.exe" /debug /pdb:"vc_mswunivud\test.pdb" /libpath:".\..\lib\vc_lib" /subsystem:console\r
+# ADD BASE LINK32 wxbase29ud_net.lib wxbase29ud.lib wxbase29ud_xml.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivud\test.exe" /debug /pdb:"vc_mswunivud\test.pdb" /libpath:".\..\lib\vc_lib" /subsystem:console\r
+# ADD LINK32 wxbase29ud_net.lib wxbase29ud.lib wxbase29ud_xml.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswunivud\test.exe" /debug /pdb:"vc_mswunivud\test.pdb" /libpath:".\..\lib\vc_lib" /subsystem:console\r
 \r
 !ELSEIF  "$(CFG)" == "test - Win32 Release"\r
 \r
@@ -192,8 +192,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo\r
 # ADD BSC32 /nologo\r
 LINK32=link.exe\r
-# ADD BASE LINK32 wxbase29u_net.lib wxbase29u.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswu\test.exe" /debug /pdb:"vc_mswu\test.pdb" /libpath:".\..\lib\vc_lib" /subsystem:console\r
-# ADD LINK32 wxbase29u_net.lib wxbase29u.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswu\test.exe" /debug /pdb:"vc_mswu\test.pdb" /libpath:".\..\lib\vc_lib" /subsystem:console\r
+# ADD BASE LINK32 wxbase29u_net.lib wxbase29u.lib wxbase29u_xml.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswu\test.exe" /debug /pdb:"vc_mswu\test.pdb" /libpath:".\..\lib\vc_lib" /subsystem:console\r
+# ADD LINK32 wxbase29u_net.lib wxbase29u.lib wxbase29u_xml.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswu\test.exe" /debug /pdb:"vc_mswu\test.pdb" /libpath:".\..\lib\vc_lib" /subsystem:console\r
 \r
 !ELSEIF  "$(CFG)" == "test - Win32 Debug"\r
 \r
@@ -215,8 +215,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo\r
 # ADD BSC32 /nologo\r
 LINK32=link.exe\r
-# ADD BASE LINK32 wxbase29ud_net.lib wxbase29ud.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswud\test.exe" /debug /pdb:"vc_mswud\test.pdb" /libpath:".\..\lib\vc_lib" /subsystem:console\r
-# ADD LINK32 wxbase29ud_net.lib wxbase29ud.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswud\test.exe" /debug /pdb:"vc_mswud\test.pdb" /libpath:".\..\lib\vc_lib" /subsystem:console\r
+# ADD BASE LINK32 wxbase29ud_net.lib wxbase29ud.lib wxbase29ud_xml.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswud\test.exe" /debug /pdb:"vc_mswud\test.pdb" /libpath:".\..\lib\vc_lib" /subsystem:console\r
+# ADD LINK32 wxbase29ud_net.lib wxbase29ud.lib wxbase29ud_xml.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib /nologo /machine:i386 /out:"vc_mswud\test.exe" /debug /pdb:"vc_mswud\test.pdb" /libpath:".\..\lib\vc_lib" /subsystem:console\r
 \r
 !ENDIF\r
 \r
@@ -433,6 +433,10 @@ SOURCE=.\xlocale\xlocale.cpp
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=.\xml\xmltest.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
 SOURCE=.\archive\ziptest.cpp\r
 # End Source File\r
 # Begin Source File\r
index 9494e01caa373e4d2dac90a43f718848b896cb7e..f5be6007e4370cddf06b6c35121470aba63c30bd 100644 (file)
@@ -67,7 +67,7 @@
                                Name="VCPreLinkEventTool"/>\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="wxbase29u_net.lib  wxbase29u.lib   wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
+                               AdditionalDependencies="wxbase29u_net.lib  wxbase29u.lib  wxbase29u_xml.lib   wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
                                AdditionalOptions=""\r
                                OutputFile="vc_mswunivudll\test.exe"\r
                                LinkIncremental="2"\r
                                Name="VCPreLinkEventTool"/>\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="wxbase29ud_net.lib  wxbase29ud.lib   wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
+                               AdditionalDependencies="wxbase29ud_net.lib  wxbase29ud.lib  wxbase29ud_xml.lib   wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
                                AdditionalOptions=""\r
                                OutputFile="vc_mswunivuddll\test.exe"\r
                                LinkIncremental="2"\r
                                Name="VCPreLinkEventTool"/>\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="wxbase29u_net.lib  wxbase29u.lib   wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
+                               AdditionalDependencies="wxbase29u_net.lib  wxbase29u.lib  wxbase29u_xml.lib   wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
                                AdditionalOptions=""\r
                                OutputFile="vc_mswudll\test.exe"\r
                                LinkIncremental="2"\r
                                Name="VCPreLinkEventTool"/>\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="wxbase29ud_net.lib  wxbase29ud.lib   wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
+                               AdditionalDependencies="wxbase29ud_net.lib  wxbase29ud.lib  wxbase29ud_xml.lib   wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
                                AdditionalOptions=""\r
                                OutputFile="vc_mswuddll\test.exe"\r
                                LinkIncremental="2"\r
                                Name="VCPreLinkEventTool"/>\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="wxbase29u_net.lib  wxbase29u.lib   wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
+                               AdditionalDependencies="wxbase29u_net.lib  wxbase29u.lib  wxbase29u_xml.lib   wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
                                AdditionalOptions=""\r
                                OutputFile="vc_mswunivu\test.exe"\r
                                LinkIncremental="2"\r
                                Name="VCPreLinkEventTool"/>\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="wxbase29ud_net.lib  wxbase29ud.lib   wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
+                               AdditionalDependencies="wxbase29ud_net.lib  wxbase29ud.lib  wxbase29ud_xml.lib   wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
                                AdditionalOptions=""\r
                                OutputFile="vc_mswunivud\test.exe"\r
                                LinkIncremental="2"\r
                                Name="VCPreLinkEventTool"/>\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="wxbase29u_net.lib  wxbase29u.lib   wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
+                               AdditionalDependencies="wxbase29u_net.lib  wxbase29u.lib  wxbase29u_xml.lib   wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
                                AdditionalOptions=""\r
                                OutputFile="vc_mswu\test.exe"\r
                                LinkIncremental="2"\r
                                Name="VCPreLinkEventTool"/>\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="wxbase29ud_net.lib  wxbase29ud.lib   wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
+                               AdditionalDependencies="wxbase29ud_net.lib  wxbase29ud.lib  wxbase29ud_xml.lib   wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
                                AdditionalOptions=""\r
                                OutputFile="vc_mswud\test.exe"\r
                                LinkIncremental="2"\r
                                RelativePath=".\regex\wxregextest.cpp"/>\r
                        <File\r
                                RelativePath=".\xlocale\xlocale.cpp"/>\r
+                       <File\r
+                               RelativePath=".\xml\xmltest.cpp"/>\r
                        <File\r
                                RelativePath=".\archive\ziptest.cpp"/>\r
                        <File\r
index 22fd92a23b72f918e6a29e5a7c74310d3b081b88..c401ce3bdabec5855086fb11799b5a5ffa8c34c4 100644 (file)
@@ -82,7 +82,7 @@
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="wxbase29u_net.lib  wxbase29u.lib   wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
+                               AdditionalDependencies="wxbase29u_net.lib  wxbase29u.lib  wxbase29u_xml.lib   wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
                                AdditionalOptions=""\r
                                OutputFile="vc_mswunivudll\test.exe"\r
                                LinkIncremental="2"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="wxbase29ud_net.lib  wxbase29ud.lib   wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
+                               AdditionalDependencies="wxbase29ud_net.lib  wxbase29ud.lib  wxbase29ud_xml.lib   wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
                                AdditionalOptions=""\r
                                OutputFile="vc_mswunivuddll\test.exe"\r
                                LinkIncremental="2"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="wxbase29u_net.lib  wxbase29u.lib   wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
+                               AdditionalDependencies="wxbase29u_net.lib  wxbase29u.lib  wxbase29u_xml.lib   wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
                                AdditionalOptions=""\r
                                OutputFile="vc_mswudll\test.exe"\r
                                LinkIncremental="2"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="wxbase29ud_net.lib  wxbase29ud.lib   wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
+                               AdditionalDependencies="wxbase29ud_net.lib  wxbase29ud.lib  wxbase29ud_xml.lib   wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
                                AdditionalOptions=""\r
                                OutputFile="vc_mswuddll\test.exe"\r
                                LinkIncremental="2"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="wxbase29u_net.lib  wxbase29u.lib   wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
+                               AdditionalDependencies="wxbase29u_net.lib  wxbase29u.lib  wxbase29u_xml.lib   wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
                                AdditionalOptions=""\r
                                OutputFile="vc_mswunivu\test.exe"\r
                                LinkIncremental="2"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="wxbase29ud_net.lib  wxbase29ud.lib   wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
+                               AdditionalDependencies="wxbase29ud_net.lib  wxbase29ud.lib  wxbase29ud_xml.lib   wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
                                AdditionalOptions=""\r
                                OutputFile="vc_mswunivud\test.exe"\r
                                LinkIncremental="2"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="wxbase29u_net.lib  wxbase29u.lib   wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
+                               AdditionalDependencies="wxbase29u_net.lib  wxbase29u.lib  wxbase29u_xml.lib   wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
                                AdditionalOptions=""\r
                                OutputFile="vc_mswu\test.exe"\r
                                LinkIncremental="2"\r
                        />\r
                        <Tool\r
                                Name="VCLinkerTool"\r
-                               AdditionalDependencies="wxbase29ud_net.lib  wxbase29ud.lib   wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
+                               AdditionalDependencies="wxbase29ud_net.lib  wxbase29ud.lib  wxbase29ud_xml.lib   wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib"\r
                                AdditionalOptions=""\r
                                OutputFile="vc_mswud\test.exe"\r
                                LinkIncremental="2"\r
                        <File\r
                                RelativePath=".\xlocale\xlocale.cpp"\r
                        />\r
+                       <File\r
+                               RelativePath=".\xml\xmltest.cpp"\r
+                       />\r
                        <File\r
                                RelativePath=".\archive\ziptest.cpp"\r
                        />\r
diff --git a/tests/xml/xmltest.cpp b/tests/xml/xmltest.cpp
new file mode 100644 (file)
index 0000000..1f35422
--- /dev/null
@@ -0,0 +1,106 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        tests/xml/xmltest.cpp
+// Purpose:     XML classes unit test
+// Author:      Vaclav Slavik
+// Created:     2008-03-29
+// RCS-ID:      $Id$
+// Copyright:   (c) 2008 Vaclav Slavik
+///////////////////////////////////////////////////////////////////////////////
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+#include "testprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+    #include "wx/wx.h"
+#endif // WX_PRECOMP
+
+#include "wx/xml/xml.h"
+
+#include <stdarg.h>
+
+// ----------------------------------------------------------------------------
+// helpers for testing XML tree
+// ----------------------------------------------------------------------------
+
+namespace
+{
+
+void CheckXml(wxXmlNode *n, ...)
+{
+    va_list args;
+    va_start(args, n);
+
+    wxXmlNode *child = n->GetChildren();
+
+    for (;;)
+    {
+        const char *childName = va_arg(args, char*);
+        if ( childName == NULL )
+            break;
+
+        CPPUNIT_ASSERT( child );
+        WX_ASSERT_STR_EQUAL( childName, child->GetName() );
+        CPPUNIT_ASSERT( child->GetChildren() == NULL );
+        CPPUNIT_ASSERT( child->GetParent() == n );
+
+        child = child->GetNext();
+    }
+
+    va_end(args);
+
+    CPPUNIT_ASSERT( child == NULL ); // no more children
+}
+
+} // anon namespace
+
+// ----------------------------------------------------------------------------
+// test class
+// ----------------------------------------------------------------------------
+
+class XmlTestCase : public CppUnit::TestCase
+{
+public:
+    XmlTestCase() {}
+
+private:
+    CPPUNIT_TEST_SUITE( XmlTestCase );
+        CPPUNIT_TEST( InsertChild );
+    CPPUNIT_TEST_SUITE_END();
+
+    void InsertChild();
+
+    DECLARE_NO_COPY_CLASS(XmlTestCase)
+};
+
+// register in the unnamed registry so that these tests are run by default
+CPPUNIT_TEST_SUITE_REGISTRATION( XmlTestCase );
+
+// also include in it's own registry so that these tests can be run alone
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( XmlTestCase, "XmlTestCase" );
+
+void XmlTestCase::InsertChild()
+{
+    wxXmlNode *root = new wxXmlNode(wxXML_ELEMENT_NODE, "root");
+    root->AddChild(new wxXmlNode(wxXML_ELEMENT_NODE, "1"));
+    wxXmlNode *two = new wxXmlNode(wxXML_ELEMENT_NODE, "2");
+    root->AddChild(two);
+    root->AddChild(new wxXmlNode(wxXML_ELEMENT_NODE, "3"));
+    CheckXml(root, "1", "2", "3", NULL);
+
+    // check inserting in front:
+    root->InsertChild(new wxXmlNode(wxXML_ELEMENT_NODE, "A"), NULL);
+    CheckXml(root, "A", "1", "2", "3", NULL);
+    root->InsertChild(new wxXmlNode(wxXML_ELEMENT_NODE, "B"), root->GetChildren());
+    CheckXml(root, "B", "A", "1", "2", "3", NULL);
+
+    // and in the middle:
+    root->InsertChild(new wxXmlNode(wxXML_ELEMENT_NODE, "C"), two);
+    CheckXml(root, "B", "A", "1", "C", "2", "3", NULL);
+}