summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2015-01-24 14:43:36 +0100
committerBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2015-01-24 14:43:36 +0100
commitea2ff3388513949ddb5d3e3c2dca89bceb3d52bc (patch)
tree8b7c3d720801b3e3d45666ec21f3e87404e936e4 /test
parent7a2fffd5827d0b645f9fb1624d50ccc5b1d583c0 (diff)
parent6cb52deaad36f59738b6b4d203457a7f8d2d13e9 (diff)
Merge branch 'master' of somweyr.de:ousia
Diffstat (limited to 'test')
-rw-r--r--test/core/common/ArgumentTest.cpp3
-rw-r--r--test/core/common/LoggerTest.cpp81
-rw-r--r--test/core/common/VariantReaderTest.cpp1
-rw-r--r--test/core/frontend/TerminalLoggerTest.cpp135
-rw-r--r--test/core/model/DocumentTest.cpp2
-rw-r--r--test/core/model/DomainTest.cpp1
-rw-r--r--test/core/model/TypesystemTest.cpp1
-rw-r--r--test/plugins/css/CSSParserTest.cpp6
-rw-r--r--test/plugins/html/DemoOutputTest.cpp2
-rw-r--r--test/plugins/xml/XmlParserTest.cpp1
10 files changed, 145 insertions, 88 deletions
diff --git a/test/core/common/ArgumentTest.cpp b/test/core/common/ArgumentTest.cpp
index 5580e00..8b74a19 100644
--- a/test/core/common/ArgumentTest.cpp
+++ b/test/core/common/ArgumentTest.cpp
@@ -22,9 +22,8 @@
#include <core/common/Argument.hpp>
#include <core/common/Function.hpp>
-#include <core/common/Logger.hpp>
#include <core/common/RttiBuilder.hpp>
-
+#include <core/frontend/TerminalLogger.hpp>
#include <core/managed/Managed.hpp>
namespace ousia {
diff --git a/test/core/common/LoggerTest.cpp b/test/core/common/LoggerTest.cpp
index 7b0e6d0..67acc83 100644
--- a/test/core/common/LoggerTest.cpp
+++ b/test/core/common/LoggerTest.cpp
@@ -20,91 +20,10 @@
#include <gtest/gtest.h>
-#include <core/common/CharReader.hpp>
#include <core/common/Logger.hpp>
-#include <core/common/SourceContextReader.hpp>
namespace ousia {
-struct Pos {
- SourceLocation pos;
- Pos(SourceLocation pos = SourceLocation{}) : pos(pos){};
-
- SourceLocation getLocation() { return pos; }
-};
-
-static const std::string testStr =
- "\\link[domain]{book}\n" // 1
- "\\link[domain]{meta}\n" // 2
- "\n" // 3
- "\\meta{\n" // 4
- "\t\\title{The Adventures Of Tom Sawyer}\n" // 5
- "\t\\author{Mark Twain}\n" // 6
- "}\n" // 7
- "\n" // 8
- "\\book{\n" // 9
- "\n" // 10
- "\n" // 11
- "\\chapter\n" // 12
- "<<TOM!>>\n" // 13
- "\n" // 14
- "No answer.\n" // 15
- "\n" // 16
- "<<TOM!>>\n" // 17
- "\n" // 18
- "No answer.\n" // 19
- "\n" // 20
- "<<What's gone with that boy, I wonder? You TOM!>>\n" // 21
- "}\n"; // 22
-
-static SourceContextReader contextReader{};
-
-static SourceContext contextCallback(const SourceLocation &location)
-{
- CharReader reader{testStr, 0};
- return contextReader.readContext(reader, location, 60,
- "the_adventures_of_tom_sawyer.opd");
-}
-
-TEST(TerminalLogger, log)
-{
- // Test for manual visual expection only -- no assertions
- TerminalLogger logger{std::cerr, true};
- logger.setSourceContextCallback(contextCallback);
-
- logger.debug("This is a test debug message");
- logger.note("This is a test note");
- logger.note("This is a test note with point context", SourceLocation{0, 49});
- logger.note("This is a test note with range context", SourceLocation{0, 49, 55});
- logger.note("This is a test note with multiline context", SourceLocation{0, 49, 150});
- logger.warning("This is a test warning");
- logger.error("This is a test error");
- logger.fatalError("This is a test fatal error!");
-
- logger.error("This is a test error with context");
-
- try {
- throw LoggableException{"An exception"};
- }
- catch (const LoggableException &ex) {
- logger.log(ex);
- }
-}
-
-TEST(TerminalLogger, fork)
-{
- // Test for manual visual expection only -- no assertions
- TerminalLogger logger{std::cerr, true};
-
- logger.setSourceContextCallback(contextCallback);
-
- LoggerFork fork = logger.fork();
-
- fork.error("This is a test error with context");
-
- // Print all error messages
- fork.commit();
-}
}
diff --git a/test/core/common/VariantReaderTest.cpp b/test/core/common/VariantReaderTest.cpp
index cfdb1a0..241aa56 100644
--- a/test/core/common/VariantReaderTest.cpp
+++ b/test/core/common/VariantReaderTest.cpp
@@ -20,6 +20,7 @@
#include <gtest/gtest.h>
#include <core/common/VariantReader.hpp>
+#include <core/frontend/TerminalLogger.hpp>
namespace ousia {
diff --git a/test/core/frontend/TerminalLoggerTest.cpp b/test/core/frontend/TerminalLoggerTest.cpp
new file mode 100644
index 0000000..99e8f29
--- /dev/null
+++ b/test/core/frontend/TerminalLoggerTest.cpp
@@ -0,0 +1,135 @@
+/*
+ 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/>.
+*/
+
+#include <iostream>
+
+#include <gtest/gtest.h>
+
+#include <core/common/CharReader.hpp>
+#include <core/common/SourceContextReader.hpp>
+#include <core/frontend/TerminalLogger.hpp>
+
+namespace ousia {
+
+struct Pos {
+ SourceLocation pos;
+
+ Pos(SourceLocation pos = SourceLocation{}) : pos(pos){};
+
+ SourceLocation getLocation() { return pos; }
+};
+
+static const std::string testStr =
+ "\\link[domain]{book}\n" // 1
+ "\\link[domain]{meta}\n" // 2
+ "\n" // 3
+ "\\meta{\n" // 4
+ "\t\\title{The Adventures Of Tom Sawyer}\n" // 5
+ "\t\\author{Mark Twain}\n" // 6
+ "}\n" // 7
+ "\n" // 8
+ "\\book{\n" // 9
+ "\n" // 10
+ "\n" // 11
+ "\\chapter\n" // 12
+ "<<TOM!>>\n" // 13
+ "\n" // 14
+ "No answer.\n" // 15
+ "\n" // 16
+ "<<TOM!>>\n" // 17
+ "\n" // 18
+ "No answer.\n" // 19
+ "\n" // 20
+ "<<What's gone with that boy, I wonder? You TOM!>>\n" // 21
+ "}\n"; // 22
+
+static SourceContextReader contextReader{};
+
+static SourceContext contextCallback(const SourceLocation &location)
+{
+ CharReader reader{testStr, 0};
+ return contextReader.readContext(reader, location,
+ "the_adventures_of_tom_sawyer.opd");
+}
+
+static SourceContext truncatedContextCallback(const SourceLocation &location)
+{
+ CharReader reader{testStr, 0};
+ return contextReader.readContext(reader, location, 60,
+ "the_adventures_of_tom_sawyer.opd");
+}
+
+TEST(TerminalLogger, log)
+{
+ // Test for manual visual expection only -- no assertions
+ TerminalLogger logger{std::cerr, true};
+ logger.setSourceContextCallback(contextCallback);
+
+ logger.debug("This is a test debug message");
+ logger.note("This is a test note");
+ logger.note("This is a test note with point context",
+ SourceLocation{0, 49});
+ logger.note("This is a test note with range context",
+ SourceLocation{0, 49, 55});
+ logger.note("This is a test note with multiline context",
+ SourceLocation{0, 49, 150});
+
+ logger.setSourceContextCallback(truncatedContextCallback);
+ logger.note("This is a test note with truncated multiline context",
+ SourceLocation{0, 49, 150});
+ logger.setSourceContextCallback(contextCallback);
+
+ logger.warning("This is a test warning");
+ logger.error("This is a test error");
+ logger.fatalError("This is a test fatal error!");
+
+ logger.error("This is a test error with context");
+
+ try {
+ throw LoggableException{"An exception"};
+ }
+ catch (const LoggableException &ex) {
+ logger.log(ex);
+ }
+
+ try {
+ throw LoggableException{"An exception with context",
+ SourceLocation{0, 41, 46}};
+ }
+ catch (const LoggableException &ex) {
+ logger.log(ex);
+ }
+}
+
+TEST(TerminalLogger, fork)
+{
+ // Test for manual visual expection only -- no assertions
+ TerminalLogger logger{std::cerr, true};
+
+ logger.setSourceContextCallback(contextCallback);
+
+ LoggerFork fork = logger.fork();
+
+ fork.error("This is a test error without");
+
+ fork.error("This is a test error with context", SourceLocation{0, 6, 12});
+
+ // Print all error messages
+ fork.commit();
+}
+}
diff --git a/test/core/model/DocumentTest.cpp b/test/core/model/DocumentTest.cpp
index a9c0dcc..e07deb8 100644
--- a/test/core/model/DocumentTest.cpp
+++ b/test/core/model/DocumentTest.cpp
@@ -21,7 +21,7 @@
#include <iostream>
#include <core/common/Rtti.hpp>
-
+#include <core/frontend/TerminalLogger.hpp>
#include <core/model/Document.hpp>
#include <core/model/Domain.hpp>
diff --git a/test/core/model/DomainTest.cpp b/test/core/model/DomainTest.cpp
index 2b63aeb..c00b122 100644
--- a/test/core/model/DomainTest.cpp
+++ b/test/core/model/DomainTest.cpp
@@ -21,6 +21,7 @@
#include <iostream>
#include <core/common/Rtti.hpp>
+#include <core/frontend/TerminalLogger.hpp>
#include <core/model/Domain.hpp>
#include "TestDomain.hpp"
diff --git a/test/core/model/TypesystemTest.cpp b/test/core/model/TypesystemTest.cpp
index e6655c1..4d1d2c9 100644
--- a/test/core/model/TypesystemTest.cpp
+++ b/test/core/model/TypesystemTest.cpp
@@ -21,6 +21,7 @@
#include <iostream>
#include <core/common/Rtti.hpp>
+#include <core/frontend/TerminalLogger.hpp>
#include <core/model/Typesystem.hpp>
namespace ousia {
diff --git a/test/plugins/css/CSSParserTest.cpp b/test/plugins/css/CSSParserTest.cpp
index 420241e..5132e51 100644
--- a/test/plugins/css/CSSParserTest.cpp
+++ b/test/plugins/css/CSSParserTest.cpp
@@ -21,9 +21,9 @@
#include <iostream>
#include <sstream>
-#include <plugins/css/CSSParser.hpp>
-
+#include <core/frontend/TerminalLogger.hpp>
#include <core/parser/StandaloneParserContext.hpp>
+#include <plugins/css/CSSParser.hpp>
namespace ousia {
TEST(CSSParser, testParseSelectors)
@@ -266,7 +266,7 @@ void assertException(std::string css)
CharReader reader(css);
TerminalLogger logger(std::cerr, true);
{
- ScopedLogger sl(logger);
+ GuardedLogger sl(logger);
StandaloneParserContext ctx(sl);
CSSParser instance;
diff --git a/test/plugins/html/DemoOutputTest.cpp b/test/plugins/html/DemoOutputTest.cpp
index 5668ddc..11e5fa6 100644
--- a/test/plugins/html/DemoOutputTest.cpp
+++ b/test/plugins/html/DemoOutputTest.cpp
@@ -24,7 +24,7 @@
#include <plugins/html/DemoOutput.hpp>
#include <core/common/Rtti.hpp>
-
+#include <core/frontend/TerminalLogger.hpp>
#include <core/model/Document.hpp>
#include <core/model/Domain.hpp>
diff --git a/test/plugins/xml/XmlParserTest.cpp b/test/plugins/xml/XmlParserTest.cpp
index 52b64e5..37b9cab 100644
--- a/test/plugins/xml/XmlParserTest.cpp
+++ b/test/plugins/xml/XmlParserTest.cpp
@@ -22,6 +22,7 @@
#include <core/common/CharReader.hpp>
#include <core/common/Logger.hpp>
+#include <core/frontend/TerminalLogger.hpp>
#include <core/parser/StandaloneParserContext.hpp>
#include <plugins/xml/XmlParser.hpp>