diff options
author | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-01-27 01:39:19 +0100 |
---|---|---|
committer | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-01-27 01:39:19 +0100 |
commit | 84f0004cdf45f6fbad6461676897aa27f03cbb93 (patch) | |
tree | acb15536b40d7389c3c65df1567084bb57da416e /test | |
parent | 495e2de57e587450e9532c7fe4ae0c2bfb196e6c (diff) |
Removed dependency between "Project" model class and parser/resources. This reduces coupling and was stupid beforehand.
Diffstat (limited to 'test')
-rw-r--r-- | test/core/StandaloneEnvironment.hpp | 17 | ||||
-rw-r--r-- | test/plugins/xml/XmlParserTest.cpp | 6 |
2 files changed, 15 insertions, 8 deletions
diff --git a/test/core/StandaloneEnvironment.hpp b/test/core/StandaloneEnvironment.hpp index 23efbe0..eaaa9bf 100644 --- a/test/core/StandaloneEnvironment.hpp +++ b/test/core/StandaloneEnvironment.hpp @@ -26,6 +26,7 @@ #include <core/parser/Parser.hpp> #include <core/parser/ParserScope.hpp> #include <core/parser/ParserContext.hpp> +#include <core/resource/ResourceManager.hpp> #include <core/Registry.hpp> namespace ousia { @@ -34,23 +35,31 @@ struct StandaloneEnvironment { ConcreteLogger &logger; Manager manager; Registry registry; - Rooted<Project> project; + ResourceManager resourceManager; ParserScope scope; + Rooted<Project> project; ParserContext context; StandaloneEnvironment(ConcreteLogger &logger) - : logger(logger), project(new Project(manager, registry)), - context(project, scope, logger) + : logger(logger), project(new Project(manager)), + context(registry, resourceManager, scope, project, logger) { logger.reset(); logger.setSourceContextCallback( - project->getSourceContextCallback()); + resourceManager.getSourceContextCallback()); } ~StandaloneEnvironment() { logger.setSourceContextCallback(NullSourceContextCallback); } + + Rooted<Node> parse(const std::string &path, + const std::string mimetype, const std::string rel, + const RttiSet &supportedTypes) + { + return context.link(path, mimetype, rel, supportedTypes); + } }; } diff --git a/test/plugins/xml/XmlParserTest.cpp b/test/plugins/xml/XmlParserTest.cpp index 7ca191e..0f00c86 100644 --- a/test/plugins/xml/XmlParserTest.cpp +++ b/test/plugins/xml/XmlParserTest.cpp @@ -58,16 +58,14 @@ static TerminalLogger logger(std::cerr, true); TEST(XmlParser, mismatchedTag) { XmlStandaloneEnvironment env(logger); - env.project->parse("mismatchedTag.oxm", "", "", - RttiSet{&RttiTypes::Document}, logger); + env.parse("mismatchedTag.oxm", "", "", RttiSet{&RttiTypes::Document}); ASSERT_TRUE(logger.hasError()); } TEST(XmlParser, generic) { XmlStandaloneEnvironment env(logger); - env.project->parse("generic.oxm", "", "", RttiSet{&RttiTypes::Document}, - logger); + env.parse("generic.oxm", "", "", RttiSet{&RttiTypes::Document}); #ifdef MANAGER_GRAPHVIZ_EXPORT env.manager.exportGraphviz("xmlDocument.dot"); #endif |