summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/parser/Parser.hpp19
-rw-r--r--test/core/parser/ParserStackTest.cpp1
-rw-r--r--test/core/parser/StandaloneParserContext.hpp50
-rw-r--r--test/plugins/css/CSSParserTest.cpp2
-rw-r--r--test/plugins/xml/XmlParserTest.cpp3
5 files changed, 55 insertions, 20 deletions
diff --git a/src/core/parser/Parser.hpp b/src/core/parser/Parser.hpp
index 63303e2..867ea1d 100644
--- a/src/core/parser/Parser.hpp
+++ b/src/core/parser/Parser.hpp
@@ -87,25 +87,6 @@ struct ParserContext {
: scope(scope), registry(registry), logger(logger), manager(manager){};
};
-struct StandaloneParserContext : public ParserContext {
-private:
- Logger logger;
- Scope scope;
- Registry registry;
- Manager manager;
-
-public:
- StandaloneParserContext()
- : ParserContext(scope, registry, logger, manager),
- scope(nullptr),
- registry(logger){};
-
- StandaloneParserContext(Logger &l)
- : ParserContext(scope, registry, l, manager),
- scope(nullptr),
- registry(l){};
-};
-
/**
* Abstract parser class. This class builds the basic interface that should be
* used by any parser which reads data from an input stream and transforms it
diff --git a/test/core/parser/ParserStackTest.cpp b/test/core/parser/ParserStackTest.cpp
index 5dab979..a0a4033 100644
--- a/test/core/parser/ParserStackTest.cpp
+++ b/test/core/parser/ParserStackTest.cpp
@@ -21,6 +21,7 @@
#include <gtest/gtest.h>
#include <core/parser/ParserStack.hpp>
+#include <core/parser/StandaloneParserContext.hpp>
namespace ousia {
namespace parser {
diff --git a/test/core/parser/StandaloneParserContext.hpp b/test/core/parser/StandaloneParserContext.hpp
new file mode 100644
index 0000000..0beacaf
--- /dev/null
+++ b/test/core/parser/StandaloneParserContext.hpp
@@ -0,0 +1,50 @@
+/*
+ Ousía
+ Copyright (C) 2014, 2015 Benjamin Paaßen, Andreas Stöckel
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef _OUSIA_STANDALONE_PARSER_CONTEXT_
+#define _OUSIA_STANDALONE_PARSER_CONTEXT_
+
+#include <core/parser/Parser.hpp>
+
+namespace ousia {
+namespace parser {
+
+struct StandaloneParserContext : public ParserContext {
+private:
+ Logger logger;
+ Scope scope;
+ Registry registry;
+ Manager manager;
+
+public:
+ StandaloneParserContext()
+ : ParserContext(scope, registry, logger, manager),
+ scope(nullptr),
+ registry(logger){};
+
+ StandaloneParserContext(Logger &externalLogger)
+ : ParserContext(scope, registry, externalLogger, manager),
+ scope(nullptr),
+ registry(externalLogger){};
+};
+
+}
+}
+
+#endif /* _OUSIA_STANDALONE_PARSER_CONTEXT_ */
+
diff --git a/test/plugins/css/CSSParserTest.cpp b/test/plugins/css/CSSParserTest.cpp
index e47d364..606327e 100644
--- a/test/plugins/css/CSSParserTest.cpp
+++ b/test/plugins/css/CSSParserTest.cpp
@@ -23,6 +23,8 @@
#include <plugins/css/CSSParser.hpp>
+#include <core/parser/StandaloneParserContext.hpp>
+
namespace ousia {
namespace parser {
namespace css {
diff --git a/test/plugins/xml/XmlParserTest.cpp b/test/plugins/xml/XmlParserTest.cpp
index 886cccc..1dbca60 100644
--- a/test/plugins/xml/XmlParserTest.cpp
+++ b/test/plugins/xml/XmlParserTest.cpp
@@ -21,6 +21,7 @@
#include <gtest/gtest.h>
#include <core/common/Logger.hpp>
+#include <core/parser/StandaloneParserContext.hpp>
#include <plugins/xml/XmlParser.hpp>
@@ -28,7 +29,7 @@ namespace ousia {
namespace parser {
namespace xml {
-TerminalLogger logger(std::cerr, true);
+static TerminalLogger logger(std::cerr, true);
TEST(XmlParser, mismatchedTagException)
{