mirror of
https://github.com/jezhiggins/arabica
synced 2025-02-03 20:46:24 +01:00
added some tests for SAX2DOM
This commit is contained in:
parent
b230e41d3a
commit
a88c55b602
5 changed files with 130 additions and 17 deletions
|
@ -118,6 +118,10 @@ SOURCE=.\test_ProcessingInstruction.cpp
|
|||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\test_SAX.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\test_Siblings.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
@ -194,6 +198,10 @@ SOURCE=.\test_ProcessingInstruction.h
|
|||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\test_SAX.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\test_Siblings.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
@ -223,10 +231,6 @@ SOURCE=.\CppUnit\framework\TestSuite.h
|
|||
# End Group
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\..\lib\vc6\expat.lib
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\lib\SAX.lib
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
|
|
@ -59,6 +59,7 @@ CLEAN :
|
|||
-@erase "$(INTDIR)\test_DOMImplementation.obj"
|
||||
-@erase "$(INTDIR)\test_Element.obj"
|
||||
-@erase "$(INTDIR)\test_ProcessingInstruction.obj"
|
||||
-@erase "$(INTDIR)\test_SAX.obj"
|
||||
-@erase "$(INTDIR)\test_Siblings.obj"
|
||||
-@erase "$(INTDIR)\TestCase.obj"
|
||||
-@erase "$(INTDIR)\TestFailure.obj"
|
||||
|
@ -93,9 +94,9 @@ LINK32_OBJS= \
|
|||
"$(INTDIR)\TestResult.obj" \
|
||||
"$(INTDIR)\TestSuite.obj" \
|
||||
"$(INTDIR)\TextTestResult.obj" \
|
||||
"..\..\..\..\lib\vc6\expat.lib" \
|
||||
"..\..\lib\SAX.lib" \
|
||||
"..\..\lib\Utilities.lib" \
|
||||
"$(INTDIR)\test_SAX.obj" \
|
||||
"..\..\SAX\Release\SAX.lib"
|
||||
|
||||
"$(OUTDIR)\SAX2DOM_test.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
|
@ -134,6 +135,7 @@ CLEAN :
|
|||
-@erase "$(INTDIR)\test_DOMImplementation.obj"
|
||||
-@erase "$(INTDIR)\test_Element.obj"
|
||||
-@erase "$(INTDIR)\test_ProcessingInstruction.obj"
|
||||
-@erase "$(INTDIR)\test_SAX.obj"
|
||||
-@erase "$(INTDIR)\test_Siblings.obj"
|
||||
-@erase "$(INTDIR)\TestCase.obj"
|
||||
-@erase "$(INTDIR)\TestFailure.obj"
|
||||
|
@ -152,13 +154,13 @@ CLEAN :
|
|||
"$(INTDIR)" :
|
||||
if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
|
||||
|
||||
CPP_PROJ=/nologo /MLd /W3 /Gm /GR /GX /ZI /Od /I "..\..\\" /I "\work\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\SAX2DOM_test.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
|
||||
CPP_PROJ=/nologo /MLd /W3 /Gm /GR /GX /ZI /Od /I "..\..\\" /I "\work\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "USE_EXPAT" /Fp"$(INTDIR)\SAX2DOM_test.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\SAX2DOM_test.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\SAX2DOM_test.pdb" /debug /machine:I386 /out:"$(OUTDIR)\SAX2DOM_test.exe" /pdbtype:sept
|
||||
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\SAX2DOM_test.pdb" /debug /machine:I386 /out:"$(OUTDIR)\SAX2DOM_test.exe" /pdbtype:sept /libpath:"..\..\lib" /libpath:"\work\lib\vc6"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\main.obj" \
|
||||
"$(INTDIR)\test_Attribute.obj" \
|
||||
|
@ -174,9 +176,9 @@ LINK32_OBJS= \
|
|||
"$(INTDIR)\TestResult.obj" \
|
||||
"$(INTDIR)\TestSuite.obj" \
|
||||
"$(INTDIR)\TextTestResult.obj" \
|
||||
"..\..\..\..\lib\vc6\expat.lib" \
|
||||
"..\..\lib\SAX.lib" \
|
||||
"..\..\lib\Utilities.lib"
|
||||
"..\..\lib\Utilities.lib" \
|
||||
"$(INTDIR)\test_SAX.obj"
|
||||
|
||||
"$(OUTDIR)\SAX2DOM_test.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
|
@ -266,6 +268,11 @@ SOURCE=.\test_ProcessingInstruction.cpp
|
|||
"$(INTDIR)\test_ProcessingInstruction.obj" : $(SOURCE) "$(INTDIR)"
|
||||
|
||||
|
||||
SOURCE=.\test_SAX.cpp
|
||||
|
||||
"$(INTDIR)\test_SAX.obj" : $(SOURCE) "$(INTDIR)"
|
||||
|
||||
|
||||
SOURCE=.\test_Siblings.cpp
|
||||
|
||||
"$(INTDIR)\test_Siblings.obj" : $(SOURCE) "$(INTDIR)"
|
||||
|
@ -304,24 +311,24 @@ SOURCE=.\CppUnit\textui\TextTestResult.cpp
|
|||
!IF "$(CFG)" == "SAX2DOM_test - Win32 Release"
|
||||
|
||||
"DOM - Win32 Release" :
|
||||
cd "\work\JezUK\Arabica\DOM"
|
||||
cd "\work\JezUK\Arabica\src\DOM"
|
||||
$(MAKE) /$(MAKEFLAGS) /F .\DOM.mak CFG="DOM - Win32 Release"
|
||||
cd "..\EXAMPLES\SAX2DOM"
|
||||
|
||||
"DOM - Win32 ReleaseCLEAN" :
|
||||
cd "\work\JezUK\Arabica\DOM"
|
||||
cd "\work\JezUK\Arabica\src\DOM"
|
||||
$(MAKE) /$(MAKEFLAGS) /F .\DOM.mak CFG="DOM - Win32 Release" RECURSE=1 CLEAN
|
||||
cd "..\EXAMPLES\SAX2DOM"
|
||||
|
||||
!ELSEIF "$(CFG)" == "SAX2DOM_test - Win32 Debug"
|
||||
|
||||
"DOM - Win32 Debug" :
|
||||
cd "\work\JezUK\Arabica\DOM"
|
||||
cd "\work\JezUK\Arabica\src\DOM"
|
||||
$(MAKE) /$(MAKEFLAGS) /F .\DOM.mak CFG="DOM - Win32 Debug"
|
||||
cd "..\EXAMPLES\SAX2DOM"
|
||||
|
||||
"DOM - Win32 DebugCLEAN" :
|
||||
cd "\work\JezUK\Arabica\DOM"
|
||||
cd "\work\JezUK\Arabica\src\DOM"
|
||||
$(MAKE) /$(MAKEFLAGS) /F .\DOM.mak CFG="DOM - Win32 Debug" RECURSE=1 CLEAN
|
||||
cd "..\EXAMPLES\SAX2DOM"
|
||||
|
||||
|
@ -330,24 +337,24 @@ SOURCE=.\CppUnit\textui\TextTestResult.cpp
|
|||
!IF "$(CFG)" == "SAX2DOM_test - Win32 Release"
|
||||
|
||||
"SAXlib - Win32 Release" :
|
||||
cd "\work\JezUK\Arabica\SAX"
|
||||
cd "\work\JezUK\Arabica\src\SAX"
|
||||
$(MAKE) /$(MAKEFLAGS) /F .\SAX.mak CFG="SAXlib - Win32 Release"
|
||||
cd "..\EXAMPLES\SAX2DOM"
|
||||
|
||||
"SAXlib - Win32 ReleaseCLEAN" :
|
||||
cd "\work\JezUK\Arabica\SAX"
|
||||
cd "\work\JezUK\Arabica\src\SAX"
|
||||
$(MAKE) /$(MAKEFLAGS) /F .\SAX.mak CFG="SAXlib - Win32 Release" RECURSE=1 CLEAN
|
||||
cd "..\EXAMPLES\SAX2DOM"
|
||||
|
||||
!ELSEIF "$(CFG)" == "SAX2DOM_test - Win32 Debug"
|
||||
|
||||
"SAXlib - Win32 Debug" :
|
||||
cd "\work\JezUK\Arabica\SAX"
|
||||
cd "\work\JezUK\Arabica\src\SAX"
|
||||
$(MAKE) /$(MAKEFLAGS) /F .\SAX.mak CFG="SAXlib - Win32 Debug"
|
||||
cd "..\EXAMPLES\SAX2DOM"
|
||||
|
||||
"SAXlib - Win32 DebugCLEAN" :
|
||||
cd "\work\JezUK\Arabica\SAX"
|
||||
cd "\work\JezUK\Arabica\src\SAX"
|
||||
$(MAKE) /$(MAKEFLAGS) /F .\SAX.mak CFG="SAXlib - Win32 Debug" RECURSE=1 CLEAN
|
||||
cd "..\EXAMPLES\SAX2DOM"
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
#include "test_Element.h"
|
||||
#include "test_DocumentFragment.h"
|
||||
#include "test_Attribute.h"
|
||||
#include "test_SAX.h"
|
||||
|
||||
class TestRunner
|
||||
{
|
||||
|
@ -55,6 +56,7 @@ int main(int argc, char* argv[])
|
|||
runner.addTest("ElementTest", ElementTest_suite());
|
||||
runner.addTest("DocumentFragmentTest", DocumentFragmentTest_suite());
|
||||
runner.addTest("AttributeTest", AttrTest_suite());
|
||||
runner.addTest("SAX2DOMTest", SAXTest_suite());
|
||||
runner.run(argc, argv);
|
||||
|
||||
return 0;
|
||||
|
|
93
examples/SAX2DOM/test_SAX.cpp
Normal file
93
examples/SAX2DOM/test_SAX.cpp
Normal file
|
@ -0,0 +1,93 @@
|
|||
|
||||
#pragma warning(disable: 4786 4250 4503)
|
||||
#include "CppUnit/framework/TestCase.h"
|
||||
#include "CppUnit/framework/TestSuite.h"
|
||||
#include "CppUnit/framework/TestCaller.h"
|
||||
#include <sstream>
|
||||
#include <DOM/SAX2DOM/SAX2DOM.h>
|
||||
|
||||
class SAXTest : public TestCase
|
||||
{
|
||||
public:
|
||||
SAXTest(std::string name) :
|
||||
TestCase(name)
|
||||
{
|
||||
} // SAXTest
|
||||
|
||||
void setUp()
|
||||
{
|
||||
} // setUp
|
||||
|
||||
DOM::Document<std::string> parse(std::string str)
|
||||
{
|
||||
std::stringstream ss;
|
||||
ss << str;
|
||||
|
||||
SAX::InputSource is(ss);
|
||||
SAX2DOM::Parser<std::string> parser;
|
||||
parser.parse(is);
|
||||
return parser.getDocument();
|
||||
} // parse
|
||||
|
||||
void test1()
|
||||
{
|
||||
DOM::Element<std::string> d;
|
||||
DOM::Node<std::string> n;
|
||||
assert(d == 0);
|
||||
assert(n == 0);
|
||||
assert(n == d);
|
||||
} // test1
|
||||
|
||||
void test2()
|
||||
{
|
||||
DOM::Document<std::string> d = parse("<root/>");
|
||||
DOM::Element<std::string> elem = d.getDocumentElement();
|
||||
assert(elem.getParentNode() == d);
|
||||
assert(elem.getOwnerDocument() == d);
|
||||
} // test2
|
||||
|
||||
void test3()
|
||||
{
|
||||
DOM::Document<std::string> d = parse("<root attr=\"poop\"/>");
|
||||
DOM::Element<std::string> elem = d.getDocumentElement();
|
||||
assert(elem.hasAttributes() == true);
|
||||
assert(elem.getAttribute("attr") == "poop");
|
||||
} // test3
|
||||
|
||||
void test4()
|
||||
{
|
||||
DOM::Document<std::string> d = parse("<root><child attr=\"poop\"/></root>");
|
||||
DOM::Element<std::string> elem = static_cast<DOM::Element<std::string> >(d.getDocumentElement().getFirstChild());
|
||||
assertEquals("child", elem.getNodeName());
|
||||
assertEquals(true, elem.hasAttributes());
|
||||
assertEquals("poop", elem.getAttribute("attr"));
|
||||
} // test4
|
||||
|
||||
void test8()
|
||||
{
|
||||
DOM::Document<std::string> d = parse("<root attr=\"poop\"><child/></root>");
|
||||
DOM::Element<std::string> elem = d.getDocumentElement();
|
||||
|
||||
DOM::Element<std::string> e2 = static_cast<DOM::Element<std::string> >(elem.cloneNode(true));
|
||||
assert(e2.getOwnerDocument() == d);
|
||||
assert(e2.getParentNode() == 0);
|
||||
assert(e2.hasAttributes() == true);
|
||||
assert(e2.getAttribute("attr") == "poop");
|
||||
assert(e2.getFirstChild().getNodeName() == "child");
|
||||
} // test7
|
||||
};
|
||||
|
||||
TestSuite* SAXTest_suite()
|
||||
{
|
||||
TestSuite *suiteOfTests = new TestSuite;
|
||||
suiteOfTests->addTest(new TestCaller<SAXTest>("test1", &SAXTest::test1));
|
||||
suiteOfTests->addTest(new TestCaller<SAXTest>("test2", &SAXTest::test2));
|
||||
suiteOfTests->addTest(new TestCaller<SAXTest>("test3", &SAXTest::test3));
|
||||
suiteOfTests->addTest(new TestCaller<SAXTest>("test4", &SAXTest::test4));
|
||||
// suiteOfTests->addTest(new TestCaller<SAXTest>("test5", &SAXTest::test5));
|
||||
// suiteOfTests->addTest(new TestCaller<SAXTest>("test6", &SAXTest::test6));
|
||||
// suiteOfTests->addTest(new TestCaller<SAXTest>("test7", &SAXTest::test7));
|
||||
suiteOfTests->addTest(new TestCaller<SAXTest>("test8", &SAXTest::test8));
|
||||
return suiteOfTests;
|
||||
} // MathTest_suite
|
||||
|
7
examples/SAX2DOM/test_SAX.h
Normal file
7
examples/SAX2DOM/test_SAX.h
Normal file
|
@ -0,0 +1,7 @@
|
|||
#ifndef test_SAX_H
|
||||
#define test_SAX_H
|
||||
|
||||
TestSuite* SAXTest_suite();
|
||||
|
||||
#endif
|
||||
|
Loading…
Add table
Reference in a new issue