diff options
author | Benjamin Paassen <bpaassen@techfak.uni-bielefeld.de> | 2014-12-12 11:30:46 +0100 |
---|---|---|
committer | Benjamin Paassen <bpaassen@techfak.uni-bielefeld.de> | 2014-12-12 11:30:46 +0100 |
commit | 3a86b9dbe2c98c32f08942b07354a0361e8bafdb (patch) | |
tree | 890c45e664534f8ce49a0f4cb9aeba68520f7543 /test | |
parent | 5fde58b21baa7d92194c7910a85ab542a61897a9 (diff) |
Slight changes to logging mechanism.
Diffstat (limited to 'test')
-rw-r--r-- | test/core/common/LoggerTest.cpp | 2 | ||||
-rw-r--r-- | test/plugins/css/CSSParserTest.cpp | 47 |
2 files changed, 43 insertions, 6 deletions
diff --git a/test/core/common/LoggerTest.cpp b/test/core/common/LoggerTest.cpp index cc9f701..ee1fb6f 100644 --- a/test/core/common/LoggerTest.cpp +++ b/test/core/common/LoggerTest.cpp @@ -72,7 +72,7 @@ TEST(TerminalLogger, log) logger.log(ex); } - logger.logAt(Severity::ERROR, "This is a positioned log message", pos); + logger.log(Severity::ERROR, "This is a positioned log message", pos); } TEST(TerminalLogger, fork) diff --git a/test/plugins/css/CSSParserTest.cpp b/test/plugins/css/CSSParserTest.cpp index 3ea3a19..e043f60 100644 --- a/test/plugins/css/CSSParserTest.cpp +++ b/test/plugins/css/CSSParserTest.cpp @@ -18,6 +18,7 @@ #include <gtest/gtest.h> +#include <iostream> #include <sstream> #include <plugins/css/CSSParser.hpp> @@ -130,7 +131,6 @@ TEST(CSSParser, testParseSelectors) TEST(CSSParser, testParseCSS) { - // create the CSS input std::stringstream input; input << "A, B A {\n"; @@ -203,7 +203,7 @@ TEST(CSSParser, testParseCSS) Rooted<SelectorNode> Aselect = children[1]; ASSERT_EQ("A", Aselect->getName()); { - PseudoSelector select{"select",{"a","b"}, false}; + PseudoSelector select{"select", {"a", "b"}, false}; ASSERT_EQ(select, Aselect->getPseudoSelector()); } ASSERT_EQ(0, Aselect->getEdges().size()); @@ -225,7 +225,7 @@ TEST(CSSParser, testParseCSS) */ children = root->getChildren("B"); ASSERT_EQ(1, children.size()); - + Rooted<SelectorNode> B = children[0]; ASSERT_EQ("B", B->getName()); { @@ -235,10 +235,10 @@ TEST(CSSParser, testParseCSS) ASSERT_EQ(1, B->getEdges().size()); ASSERT_FALSE(B->isAccepting()); ASSERT_EQ(0, B->getRuleSet()->getRules().size()); - + children = B->getChildren("A"); ASSERT_EQ(1, children.size()); - + Rooted<SelectorNode> BA = children[0]; ASSERT_EQ("A", BA->getName()); { @@ -258,6 +258,43 @@ TEST(CSSParser, testParseCSS) ASSERT_EQ("val2", v.asString()); } } + +void assertException(std::string css) +{ + std::stringstream input; + input << css; + // initialize a parser context. + TerminalLogger logger(std::cerr, true); + Scope scope(nullptr); + Registry registry(logger); + Manager manager; + ParserContext ctx{scope, registry, logger, manager}; + + bool seenException = false; + // parse the input. + CSSParser instance; + try { + instance.parse(input, ctx).cast<SelectorNode>(); + } + catch (ParserException ex) { + logger.log(ex); + seenException = true; + } + ASSERT_TRUE(seenException); +} + +TEST(CSSParser, testParseExceptions) +{ + assertException(", "); + assertException("A::myGenerative , "); + assertException("A::(a)"); + assertException("A::f()"); + assertException("A#"); + assertException("A[]"); + assertException("A[a"); + assertException("A[a=]"); + assertException("A > "); +} } } } |