diff options
author | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-01-24 13:23:55 +0100 |
---|---|---|
committer | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-01-24 13:23:55 +0100 |
commit | 99c6f5df144d0530fe43225d353dee881cfdf26a (patch) | |
tree | a9a7499dda7d643861c753855823ed0f71aa8021 /test | |
parent | 67d36e699a2852ce471c4d1b8dab5992d6c01a98 (diff) |
Moved Terminal and TerminalLogger to own classes in new frontent folder
Diffstat (limited to 'test')
-rw-r--r-- | test/core/common/ArgumentTest.cpp | 3 | ||||
-rw-r--r-- | test/core/common/LoggerTest.cpp | 81 | ||||
-rw-r--r-- | test/core/common/VariantReaderTest.cpp | 1 | ||||
-rw-r--r-- | test/core/frontend/TerminalLoggerTest.cpp | 109 | ||||
-rw-r--r-- | test/core/model/DocumentTest.cpp | 2 | ||||
-rw-r--r-- | test/core/model/DomainTest.cpp | 1 | ||||
-rw-r--r-- | test/core/model/TypesystemTest.cpp | 1 | ||||
-rw-r--r-- | test/plugins/css/CSSParserTest.cpp | 6 | ||||
-rw-r--r-- | test/plugins/html/DemoOutputTest.cpp | 2 | ||||
-rw-r--r-- | test/plugins/xml/XmlParserTest.cpp | 1 |
10 files changed, 119 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..b0e769d --- /dev/null +++ b/test/core/frontend/TerminalLoggerTest.cpp @@ -0,0 +1,109 @@ +/* + 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, 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/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> |