Browse Source

[2372] handle the case of comment after '('

JINMEI Tatuya 12 years ago
parent
commit
60977cf752
1 changed files with 11 additions and 2 deletions
  1. 11 2
      src/lib/dns/tests/master_lexer_state_unittest.cc

+ 11 - 2
src/lib/dns/tests/master_lexer_state_unittest.cc

@@ -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());
+}
+
 }