From 2629c62e415e9c02fe73f61c92d8148b8dad5bf9 Mon Sep 17 00:00:00 2001 From: Andreas Stöckel Date: Sun, 25 Jan 2015 23:16:54 +0100 Subject: Adapted tests to StandaloneEnvironment, using complete pipeline in XmlParserTest --- test/plugins/xml/XmlParserTest.cpp | 91 +++++++++++++++----------------------- 1 file changed, 35 insertions(+), 56 deletions(-) (limited to 'test/plugins/xml') diff --git a/test/plugins/xml/XmlParserTest.cpp b/test/plugins/xml/XmlParserTest.cpp index 3ed7417..3660c35 100644 --- a/test/plugins/xml/XmlParserTest.cpp +++ b/test/plugins/xml/XmlParserTest.cpp @@ -21,75 +21,54 @@ #include #include -#include #include +#include #include -#include +#include +#include #include namespace ousia { -static TerminalLogger logger(std::cerr, true); +namespace RttiTypes { +extern const Rtti Document; +extern const Rtti Typesystem; +} -TEST(XmlParser, mismatchedTagException) -{ - StandaloneParserContext ctx; - XmlParser p; +struct XmlStandaloneEnvironment : public StandaloneEnvironment { + XmlParser xmlParser; + FileLocator fileLocator; - bool hadException = false; - try { - p.parse("\n", ctx.context); - } - catch (LoggableException ex) { - hadException = true; + XmlStandaloneEnvironment(ConcreteLogger &logger) + : StandaloneEnvironment(logger) + { + fileLocator.addUnittestSearchPath("xmlparser"); + + registry.registerDefaultExtensions(); + registry.registerParser({"text/vnd.ousia.oxm", "text/vnd.ousia.oxd"}, + {&RttiTypes::Document, &RttiTypes::Typesystem}, + &xmlParser); + registry.registerResourceLocator(&fileLocator); } - ASSERT_TRUE(hadException); +}; + +static TerminalLogger logger(std::cerr, true); + +TEST(XmlParser, mismatchedTag) +{ + XmlStandaloneEnvironment env(logger); + env.project->parse("mismatchedTag.oxm", "", "", + RttiSet{&RttiTypes::Document}, logger); + ASSERT_TRUE(logger.hasError()); } -const char *TEST_DATA = - "\n" - "\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - "\n"; - -TEST(XmlParser, namespaces) +TEST(XmlParser, generic) { - StandaloneParserContext ctx(logger); - XmlParser p; - CharReader reader(TEST_DATA); - { - try { - p.parse(TEST_DATA, ctx.context); - } - catch (LoggableException ex) { - logger.log(ex); - } - ctx.manager.exportGraphviz("xmlDocument.dot"); - } + XmlStandaloneEnvironment env(logger); + env.project->parse("generic.oxm", "", "", RttiSet{&RttiTypes::Document}, + logger); + env.manager.exportGraphviz("xmlDocument.dot"); } } -- cgit v1.2.3