added some tests for SAX2DOM

This commit is contained in:
jez_higgins 2002-09-03 13:26:08 +00:00
parent b230e41d3a
commit a88c55b602
5 changed files with 130 additions and 17 deletions

View file

@ -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

View 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"

View file

@ -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;

View 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

View file

@ -0,0 +1,7 @@
#ifndef test_SAX_H
#define test_SAX_H
TestSuite* SAXTest_suite();
#endif