summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2014-12-03 00:04:05 +0100
committerAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2014-12-03 00:04:05 +0100
commit59177921e8c81c1604e4154503a63190db66989c (patch)
tree4234e0d329791d45b69337e545499e3aa92c1bb2 /test
parente579da493bc0b53d63cdd499c96ac181c1719068 (diff)
continued work on XML parser and underlying ParserStack class
Diffstat (limited to 'test')
-rw-r--r--test/core/parser/ParserStackTest.cpp14
-rw-r--r--test/plugins/xml/XmlParserTest.cpp36
2 files changed, 21 insertions, 29 deletions
diff --git a/test/core/parser/ParserStackTest.cpp b/test/core/parser/ParserStackTest.cpp
index 1f4a4e2..5dab979 100644
--- a/test/core/parser/ParserStackTest.cpp
+++ b/test/core/parser/ParserStackTest.cpp
@@ -39,28 +39,24 @@ class TestHandler : public Handler {
public:
using Handler::Handler;
- void start(char **attrs) override
+ void start(const Variant &args) override
{
startCount++;
-// std::cout << this->name << ": start (isChild: " << (this->isChild) << ")" << std::endl;
}
void end() override
{
endCount++;
-// std::cout << this->name << ": end " << std::endl;
}
- void data(const char *data, int len) override
+ void data(const std::string &data, int field) override
{
dataCount++;
-// std::cout << this->name << ": data \"" << std::string{data, static_cast<unsigned int>(len)} << "\"" << std::endl;
}
void child(std::shared_ptr<Handler> handler) override
{
childCount++;
-// std::cout << this->name << ": has child \"" << handler->name << "\"" << std::endl;
}
};
@@ -93,7 +89,7 @@ TEST(ParserStack, simpleTest)
ASSERT_EQ(STATE_NONE, s.currentState());
s.start("document", nullptr);
- s.data("test1", 5);
+ s.data("test1");
ASSERT_EQ("document", s.currentName());
ASSERT_EQ(STATE_DOCUMENT, s.currentState());
@@ -101,7 +97,7 @@ TEST(ParserStack, simpleTest)
ASSERT_EQ(1, dataCount);
s.start("body", nullptr);
- s.data("test2", 5);
+ s.data("test2");
ASSERT_EQ("body", s.currentName());
ASSERT_EQ(STATE_BODY, s.currentState());
ASSERT_EQ(2, startCount);
@@ -123,7 +119,7 @@ TEST(ParserStack, simpleTest)
ASSERT_EQ(STATE_DOCUMENT, s.currentState());
s.start("body", nullptr);
- s.data("test3", 5);
+ s.data("test3");
ASSERT_EQ("body", s.currentName());
ASSERT_EQ(STATE_BODY, s.currentState());
s.end();
diff --git a/test/plugins/xml/XmlParserTest.cpp b/test/plugins/xml/XmlParserTest.cpp
index 98a5a34..ecc9438 100644
--- a/test/plugins/xml/XmlParserTest.cpp
+++ b/test/plugins/xml/XmlParserTest.cpp
@@ -26,26 +26,14 @@ namespace ousia {
namespace parser {
namespace xml {
-struct TestParserContext : public ParserContext {
-
-private:
- Logger log;
- Registry r;
- Scope s;
-
-public:
- TestParserContext() : ParserContext(s, r, log), r(log), s(nullptr) {};
-
-};
-
TEST(XmlParser, mismatchedTagException)
{
- TestParserContext ctx;
+ StandaloneParserContext ctx;
XmlParser p;
bool hadException = false;
try {
- p.parse("<test foo=\"bar\">data<![CDATA[bla]]>\n</btest>", ctx);
+ p.parse("<document>\n</document2>", ctx);
}
catch (ParserException ex) {
ASSERT_EQ(2, ex.line);
@@ -55,19 +43,27 @@ TEST(XmlParser, mismatchedTagException)
ASSERT_TRUE(hadException);
}
-const char* TEST_DATA = "<?xml version=\"1.0\" standalone=\"yes\"?>\n"
- "<document a:bc=\"b\">\n"
- " <bla:test xmlAttr=\"blub\" />\n"
- "</document>\n";
+const char *TEST_DATA =
+ "<?xml version=\"1.0\" standalone=\"yes\"?>\n"
+ "<document a:bc=\"b\">\n"
+ " <head>\n"
+ " <typesystem name=\"color\">\n"
+ " <struct name=\"color\">\n"
+ " </struct>\n"
+ " </typesystem>\n"
+ " </head>\n"
+ " <body xmlAttr=\"blub\">\n"
+ " <book>Dies ist ein Test&gt;</book>\n"
+ " </body>\n"
+ "</document>\n";
TEST(XmlParser, namespaces)
{
- TestParserContext ctx;
+ StandaloneParserContext ctx;
XmlParser p;
p.parse(TEST_DATA, ctx);
}
-
}
}
}