diff options
author | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2014-12-03 00:04:05 +0100 |
---|---|---|
committer | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2014-12-03 00:04:05 +0100 |
commit | 59177921e8c81c1604e4154503a63190db66989c (patch) | |
tree | 4234e0d329791d45b69337e545499e3aa92c1bb2 /test | |
parent | e579da493bc0b53d63cdd499c96ac181c1719068 (diff) |
continued work on XML parser and underlying ParserStack class
Diffstat (limited to 'test')
-rw-r--r-- | test/core/parser/ParserStackTest.cpp | 14 | ||||
-rw-r--r-- | test/plugins/xml/XmlParserTest.cpp | 36 |
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></book>\n" + " </body>\n" + "</document>\n"; TEST(XmlParser, namespaces) { - TestParserContext ctx; + StandaloneParserContext ctx; XmlParser p; p.parse(TEST_DATA, ctx); } - } } } |