diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/core/parser/ParserStackTest.cpp | 6 | ||||
-rw-r--r-- | test/core/parser/StandaloneParserContext.hpp | 23 | ||||
-rw-r--r-- | test/plugins/css/CSSParserTest.cpp | 12 | ||||
-rw-r--r-- | test/plugins/xml/XmlParserTest.cpp | 4 |
4 files changed, 25 insertions, 20 deletions
diff --git a/test/core/parser/ParserStackTest.cpp b/test/core/parser/ParserStackTest.cpp index ed57260..69978b0 100644 --- a/test/core/parser/ParserStackTest.cpp +++ b/test/core/parser/ParserStackTest.cpp @@ -69,7 +69,7 @@ static const std::multimap<std::string, HandlerDescriptor> TEST_HANDLERS{ TEST(ParserStack, simpleTest) { StandaloneParserContext ctx; - ParserStack s{ctx, TEST_HANDLERS}; + ParserStack s{ctx.context, TEST_HANDLERS}; startCount = 0; endCount = 0; @@ -132,7 +132,7 @@ TEST(ParserStack, simpleTest) TEST(ParserStack, errorHandling) { StandaloneParserContext ctx; - ParserStack s{ctx, TEST_HANDLERS}; + ParserStack s{ctx.context, TEST_HANDLERS}; ASSERT_THROW(s.start("body", {}), OusiaException); s.start("document", {}); @@ -152,7 +152,7 @@ TEST(ParserStack, validation) { ConcreteLogger logger; StandaloneParserContext ctx(logger); - ParserStack s{ctx, TEST_HANDLERS}; + ParserStack s{ctx.context, TEST_HANDLERS}; s.start("arguments", {}); ASSERT_TRUE(logger.hasError()); diff --git a/test/core/parser/StandaloneParserContext.hpp b/test/core/parser/StandaloneParserContext.hpp index 78d148d..aca056e 100644 --- a/test/core/parser/StandaloneParserContext.hpp +++ b/test/core/parser/StandaloneParserContext.hpp @@ -19,28 +19,35 @@ #ifndef _OUSIA_STANDALONE_PARSER_CONTEXT_ #define _OUSIA_STANDALONE_PARSER_CONTEXT_ +#include <memory> + +#include <core/model/Project.hpp> #include <core/parser/Parser.hpp> namespace ousia { namespace parser { -struct StandaloneParserContext : public ParserContext { -private: +struct StandaloneParserContext { +public: Manager manager; Logger logger; Scope scope; Registry registry; + Rooted<model::Project> project; + ParserContext context; -public: StandaloneParserContext() - : ParserContext(scope, registry, logger, manager), - registry(logger){}; + : registry(logger), + project(new model::Project(manager)), + context(scope, registry, logger, manager, project) + { + } StandaloneParserContext(Logger &externalLogger) - : ParserContext(scope, registry, externalLogger, manager), - registry(externalLogger){}; + : registry(externalLogger), + project(new model::Project(manager)), + context(scope, registry, externalLogger, manager, project){}; }; - } } diff --git a/test/plugins/css/CSSParserTest.cpp b/test/plugins/css/CSSParserTest.cpp index 54c359b..84522b3 100644 --- a/test/plugins/css/CSSParserTest.cpp +++ b/test/plugins/css/CSSParserTest.cpp @@ -45,7 +45,8 @@ TEST(CSSParser, testParseSelectors) // parse the data. CSSParser instance; - Rooted<SelectorNode> root = instance.parse(data, ctx).cast<SelectorNode>(); + Rooted<SelectorNode> root = + instance.parse(data, ctx.context).cast<SelectorNode>(); // we expect three children of the root node overall. ASSERT_EQ(3U, root->getEdges().size()); @@ -156,7 +157,7 @@ TEST(CSSParser, testParseCSS) CSSParser instance; CharReader reader{input}; Rooted<SelectorNode> root = - instance.parse(reader, ctx).cast<SelectorNode>(); + instance.parse(reader, ctx.context).cast<SelectorNode>(); // we expect three children of the root node overall. ASSERT_EQ(3U, root->getEdges().size()); @@ -269,14 +270,11 @@ void assertException(std::string css) { ScopedLogger sl(logger, "test.css", SourceLocation{}, CharReader::contextCallback, &reader); - Scope scope; - Registry registry(logger); - Manager manager; - ParserContext ctx{scope, registry, logger, manager}; + StandaloneParserContext ctx(sl); CSSParser instance; try { - instance.parse(reader, ctx).cast<SelectorNode>(); + instance.parse(reader, ctx.context).cast<SelectorNode>(); } catch (LoggableException ex) { logger.log(ex); diff --git a/test/plugins/xml/XmlParserTest.cpp b/test/plugins/xml/XmlParserTest.cpp index 2046940..6ac2fc1 100644 --- a/test/plugins/xml/XmlParserTest.cpp +++ b/test/plugins/xml/XmlParserTest.cpp @@ -38,7 +38,7 @@ TEST(XmlParser, mismatchedTagException) bool hadException = false; try { - p.parse("<document>\n</document2>", ctx); + p.parse("<document>\n</document2>", ctx.context); } catch (LoggableException ex) { ASSERT_EQ(2, ex.loc.line); @@ -81,7 +81,7 @@ TEST(XmlParser, namespaces) ScopedLogger sl(logger, "test.oxd", SourceLocation{}, CharReader::contextCallback, &reader); try { - p.parse(TEST_DATA, ctx); + p.parse(TEST_DATA, ctx.context); } catch (LoggableException ex) { logger.log(ex); |