summaryrefslogtreecommitdiff
path: root/test/core
diff options
context:
space:
mode:
authorAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-02-28 15:48:07 +0100
committerAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-02-28 15:48:07 +0100
commitb54760fbd5470032dc716dc870dc08b32dfba5ac (patch)
treea736b5e314c34a9d84d6ef7f56e0380ec225e3db /test/core
parent81e009aa22b5018b055ddda689cd3e78336a164b (diff)
Test case for data being empty if a token is found
Diffstat (limited to 'test/core')
-rw-r--r--test/core/parser/utils/TokenizerTest.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/core/parser/utils/TokenizerTest.cpp b/test/core/parser/utils/TokenizerTest.cpp
index 785bd81..9f644c2 100644
--- a/test/core/parser/utils/TokenizerTest.cpp
+++ b/test/core/parser/utils/TokenizerTest.cpp
@@ -450,5 +450,32 @@ TEST(Tokenizer, nonPrimaryTokens)
TokenizedData data;
ASSERT_FALSE(tokenizer.read(reader, token, data));
}
+
+
+TEST(Tokenizer, ambiguousTokens2)
+{
+ CharReader reader{"<\\"};
+
+ Tokenizer tokenizer;
+
+ TokenId tBackslash = tokenizer.registerToken("\\");
+ TokenId tAnnotationStart = tokenizer.registerToken("<\\");
+
+ TokenSet tokens = TokenSet{tBackslash, tAnnotationStart};
+ Token token;
+ {
+ TokenizedData data;
+ ASSERT_TRUE(tokenizer.read(reader, token, data));
+ ASSERT_EQ("<\\", token.content);
+ ASSERT_EQ(tAnnotationStart, token.id);
+ ASSERT_TRUE(data.empty());
+ }
+
+ {
+ TokenizedData data;
+ ASSERT_FALSE(tokenizer.read(reader, token, data));
+ }
+}
+
}