diff options
author | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2014-11-20 17:40:36 +0100 |
---|---|---|
committer | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2014-11-20 17:40:36 +0100 |
commit | 6c8ee8084a8fa8317be69f5578d9b1052aee3b70 (patch) | |
tree | fe673a403e75d3478e1995fba2e40ec268f1cb8b /test/core/utils/TokenizerTest.cpp | |
parent | adf0b5eaef95484a8d3b8ad1e6e6765018658bdc (diff) | |
parent | d2f14ec9b2d54c8addc03fef147be15327dd8623 (diff) |
Merge branch 'master' of somweyr.de:ousia
Diffstat (limited to 'test/core/utils/TokenizerTest.cpp')
-rw-r--r-- | test/core/utils/TokenizerTest.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/core/utils/TokenizerTest.cpp b/test/core/utils/TokenizerTest.cpp index ba06c33..79cc01d 100644 --- a/test/core/utils/TokenizerTest.cpp +++ b/test/core/utils/TokenizerTest.cpp @@ -93,5 +93,33 @@ TEST(Tokenizer, testTokenization) } ASSERT_FALSE(tokenizer.next(t)); } + +TEST(Tokenizer, testIncompleteTokens) +{ + TokenTreeNode root{{{"ab", 1}, {"c", 2}}}; + + BufferedCharReader reader; + reader.feed("ac"); + // 1234567890 + // 0 1 + + std::vector<Token> expected = { + {TOKEN_TEXT, "a", 1, 1, 2, 1}, + {2, "c", 2, 1, 3, 1}}; + + Tokenizer tokenizer{reader, root}; + + Token t; + for (auto &te : expected) { + ASSERT_TRUE(tokenizer.next(t)); + ASSERT_EQ(te.tokenId, t.tokenId); + ASSERT_EQ(te.content, t.content); + ASSERT_EQ(te.startColumn, t.startColumn); + ASSERT_EQ(te.startLine, t.startLine); + ASSERT_EQ(te.endColumn, t.endColumn); + ASSERT_EQ(te.endLine, t.endLine); + } + ASSERT_FALSE(tokenizer.next(t)); +} } } |