mirror of
https://github.com/jezhiggins/arabica
synced 2024-12-25 21:58:21 +01:00
started quick Taggle sense test
This commit is contained in:
parent
e26f2fc5f8
commit
aba1deb76b
6 changed files with 113 additions and 2 deletions
|
@ -37,6 +37,7 @@ AC_CONFIG_FILES([examples/XSLT/Makefile])
|
||||||
AC_CONFIG_FILES([tests/Makefile])
|
AC_CONFIG_FILES([tests/Makefile])
|
||||||
AC_CONFIG_FILES([tests/CppUnit/Makefile])
|
AC_CONFIG_FILES([tests/CppUnit/Makefile])
|
||||||
AC_CONFIG_FILES([tests/Utils/Makefile])
|
AC_CONFIG_FILES([tests/Utils/Makefile])
|
||||||
|
AC_CONFIG_FILES([tests/Taggle/Makefile])
|
||||||
AC_CONFIG_FILES([tests/SAX/Makefile])
|
AC_CONFIG_FILES([tests/SAX/Makefile])
|
||||||
AC_CONFIG_FILES([tests/DOM/Makefile])
|
AC_CONFIG_FILES([tests/DOM/Makefile])
|
||||||
AC_CONFIG_FILES([tests/XPath/Makefile])
|
AC_CONFIG_FILES([tests/XPath/Makefile])
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
SUBDIRS = CppUnit Utils SAX
|
SUBDIRS = CppUnit Utils SAX Taggle
|
||||||
if WANT_DOM
|
if WANT_DOM
|
||||||
SUBDIRS += DOM
|
SUBDIRS += DOM
|
||||||
endif
|
endif
|
||||||
|
|
19
tests/Taggle/Makefile.am
Executable file
19
tests/Taggle/Makefile.am
Executable file
|
@ -0,0 +1,19 @@
|
||||||
|
|
||||||
|
check_PROGRAMS = taggle_test
|
||||||
|
if WANT_TESTS
|
||||||
|
TESTS = $(check_PROGRAMS)
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include @PARSER_HEADERS@ $(BOOST_CPPFLAGS)
|
||||||
|
LIBARABICA = $(top_builddir)/src/libarabica.la
|
||||||
|
TESTLIBS = $(LIBARABICA) ../CppUnit/libcppunit.la
|
||||||
|
|
||||||
|
test_sources = test_WhitespaceStripper.hpp
|
||||||
|
|
||||||
|
taggle_test_SOURCES = taggle_test.cpp \
|
||||||
|
$(test_sources)
|
||||||
|
taggle_test_LDADD = $(TESTLIBS)
|
||||||
|
taggle_test_DEPENDENCIES = $(TESTLIBS)
|
||||||
|
|
||||||
|
|
22
tests/Taggle/taggle_test.cpp
Normal file
22
tests/Taggle/taggle_test.cpp
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
#pragma warning(disable: 4786 4250 4503)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "../CppUnit/TestRunner.hpp"
|
||||||
|
#include "../CppUnit/framework/Test.h"
|
||||||
|
#include "../CppUnit/framework/TestSuite.h"
|
||||||
|
#include <Arabica/StringAdaptor.hpp>
|
||||||
|
#include "test_Taggle.hpp"
|
||||||
|
|
||||||
|
////////////////////////////////////////////////
|
||||||
|
int main(int argc, const char* argv[])
|
||||||
|
{
|
||||||
|
TestRunner runner;
|
||||||
|
|
||||||
|
runner.addTest("TaggleTest", Taggle_test_suite());
|
||||||
|
|
||||||
|
bool ok = runner.run(argc, argv);
|
||||||
|
|
||||||
|
return !ok;
|
||||||
|
} // main
|
||||||
|
|
56
tests/Taggle/test_Taggle.hpp
Normal file
56
tests/Taggle/test_Taggle.hpp
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
#ifndef ARABICA_TEST_TAGGLE_HPP
|
||||||
|
#define ARABICA_TEST_TAGGLE_HPP
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
#include <sstream>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
#include <SAX/filter/Writer.hpp>
|
||||||
|
#include <Taggle/Taggle.hpp>
|
||||||
|
|
||||||
|
#include "../CppUnit/framework/TestCase.h"
|
||||||
|
#include "../CppUnit/framework/TestSuite.h"
|
||||||
|
#include "../CppUnit/framework/TestCaller.h"
|
||||||
|
|
||||||
|
class TaggleTest : public TestCase
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
TaggleTest(std::string name) :
|
||||||
|
TestCase(name)
|
||||||
|
{
|
||||||
|
} // TaggleTest
|
||||||
|
|
||||||
|
void setUp()
|
||||||
|
{
|
||||||
|
} // setUp
|
||||||
|
|
||||||
|
void senseTest()
|
||||||
|
{
|
||||||
|
Arabica::SAX::Taggle<std::string> parser;
|
||||||
|
std::ostringstream sink;
|
||||||
|
Arabica::SAX::Writer<std::string> writer(sink, parser);
|
||||||
|
|
||||||
|
writer.parse(*source("<html><body>woo!<br></body></html>"));
|
||||||
|
assertEquals("<html>yay</html>", sink.str());
|
||||||
|
} // senseTest
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::auto_ptr<Arabica::SAX::InputSource<std::string> > source(const std::string& str)
|
||||||
|
{
|
||||||
|
std::auto_ptr<std::iostream> ss(new std::stringstream());
|
||||||
|
(*ss) << str;
|
||||||
|
return std::auto_ptr<Arabica::SAX::InputSource<std::string> >(new Arabica::SAX::InputSource<std::string>(ss));
|
||||||
|
} // source
|
||||||
|
}; // TaggleTest
|
||||||
|
|
||||||
|
TestSuite* Taggle_test_suite()
|
||||||
|
{
|
||||||
|
TestSuite *suiteOfTests = new TestSuite;
|
||||||
|
|
||||||
|
suiteOfTests->addTest(new TestCaller<TaggleTest>("senseTest", &TaggleTest::senseTest));
|
||||||
|
|
||||||
|
return suiteOfTests;
|
||||||
|
} // TaggleTest_suite
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -478,12 +478,24 @@ class URITest : public TestCase
|
||||||
URI b("wooo/main.txt");
|
URI b("wooo/main.txt");
|
||||||
URI u(b, "file:fragtastic/woot.txt");
|
URI u(b, "file:fragtastic/woot.txt");
|
||||||
|
|
||||||
|
assertEquals("", u.host());
|
||||||
|
assertEquals("", u.scheme());
|
||||||
|
assertEquals("wooo/fragtastic/woot.txt", u.path());
|
||||||
|
assertEquals(false, u.is_absolute());
|
||||||
|
assertEquals("wooo/fragtastic/woot.txt", u.as_string());
|
||||||
|
} // test42
|
||||||
|
|
||||||
|
void test43()
|
||||||
|
{
|
||||||
|
URI b("file:wooo/main.txt");
|
||||||
|
URI u(b, "file:fragtastic/woot.txt");
|
||||||
|
|
||||||
assertEquals("", u.host());
|
assertEquals("", u.host());
|
||||||
assertEquals("file", u.scheme());
|
assertEquals("file", u.scheme());
|
||||||
assertEquals("wooo/fragtastic/woot.txt", u.path());
|
assertEquals("wooo/fragtastic/woot.txt", u.path());
|
||||||
assertEquals(false, u.is_absolute());
|
assertEquals(false, u.is_absolute());
|
||||||
assertEquals("file:wooo/fragtastic/woot.txt", u.as_string());
|
assertEquals("file:wooo/fragtastic/woot.txt", u.as_string());
|
||||||
} // test42
|
} // test43
|
||||||
}; // class URITest
|
}; // class URITest
|
||||||
|
|
||||||
TestSuite* URITest_suite()
|
TestSuite* URITest_suite()
|
||||||
|
@ -532,6 +544,7 @@ TestSuite* URITest_suite()
|
||||||
suiteOfTests->addTest(new TestCaller<URITest>("test40", &URITest::test40));
|
suiteOfTests->addTest(new TestCaller<URITest>("test40", &URITest::test40));
|
||||||
suiteOfTests->addTest(new TestCaller<URITest>("test41", &URITest::test41));
|
suiteOfTests->addTest(new TestCaller<URITest>("test41", &URITest::test41));
|
||||||
suiteOfTests->addTest(new TestCaller<URITest>("test42", &URITest::test42));
|
suiteOfTests->addTest(new TestCaller<URITest>("test42", &URITest::test42));
|
||||||
|
suiteOfTests->addTest(new TestCaller<URITest>("test43", &URITest::test43));
|
||||||
|
|
||||||
return suiteOfTests;
|
return suiteOfTests;
|
||||||
} // URITest_suite
|
} // URITest_suite
|
||||||
|
|
Loading…
Reference in a new issue