]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2372] handle the case of comment after '('
authorJINMEI Tatuya <jinmei@isc.org>
Mon, 5 Nov 2012 23:59:10 +0000 (15:59 -0800)
committerJINMEI Tatuya <jinmei@isc.org>
Mon, 5 Nov 2012 23:59:10 +0000 (15:59 -0800)
src/lib/dns/tests/master_lexer_state_unittest.cc

index 2c7570ec5beccbccb1328a1ab6a2672d5671b164..00a57143b48edf6d74a141b888fbaf618e627a08 100644 (file)
@@ -142,8 +142,6 @@ TEST_F(MasterLexerStateTest, parentheses) {
     EXPECT_EQ(Token::END_OF_LINE, s_start.getToken(lexer).getType());
     EXPECT_EQ(s_null, s_start.handle(lexer));
     EXPECT_EQ(Token::INITIAL_WS, s_start.getToken(lexer).getType());
-
-    // TBD: Test case: '(;'
 }
 
 TEST_F(MasterLexerStateTest, nestedParentheses) {
@@ -215,4 +213,15 @@ TEST_F(MasterLexerStateTest, startToComment) {
     EXPECT_EQ(Token::END_OF_FILE, s_start.getToken(lexer).getType());
 }
 
+TEST_F(MasterLexerStateTest, commentAfterParen) {
+    // comment after an opening parenthesis.  The code that is tested by
+    // other tests should also ensure that it works correctly, but we
+    // check it explicitly.
+    ss << "( ;this is a comment\na)\n";
+    EXPECT_EQ(&s_string, s_start.handle(lexer)); // consume '(', skip comments
+    s_string.handle(lexer);                      // consume 'a'
+    EXPECT_EQ(s_null, s_start.handle(lexer));    // consume ')', see '\n'
+    EXPECT_EQ(Token::END_OF_LINE, s_start.getToken(lexer).getType());
+}
+
 }