]> git.phdru.name Git - phdru.name/cgi-bin/blog-ru/search-tags.git/blobdiff - parser/test_lexer.py
Allow ' AND ' and ' and '
[phdru.name/cgi-bin/blog-ru/search-tags.git] / parser / test_lexer.py
index ac3be813263eab36fc756d376b58e2ee8ffaa4fe..c31593eeaaff45439b00301951d3ac49c82e2cc7 100755 (executable)
@@ -59,5 +59,35 @@ class TestLexer(unittest.TestCase):
         self.assertEqual(lextoken.lineno, 1)
         self.assertEqual(lextoken.lexpos, 9)
 
+    def test_05_expression_2(self):
+        lexer.input('xxx and  yyy')
+        tokens = list(lexer)
+        self.assertEqual(len(tokens), 5)
+        lextoken = tokens[0]
+        self.assertEqual(lextoken.type, 'NAME')
+        self.assertEqual(lextoken.value, 'xxx')
+        self.assertEqual(lextoken.lineno, 1)
+        self.assertEqual(lextoken.lexpos, 0)
+        lextoken = tokens[1]
+        self.assertEqual(lextoken.type, 'SP1')
+        self.assertEqual(lextoken.value, ' ')
+        self.assertEqual(lextoken.lineno, 1)
+        self.assertEqual(lextoken.lexpos, 3)
+        lextoken = tokens[2]
+        self.assertEqual(lextoken.type, 'NAME')
+        self.assertEqual(lextoken.value, 'and')
+        self.assertEqual(lextoken.lineno, 1)
+        self.assertEqual(lextoken.lexpos, 4)
+        lextoken = tokens[3]
+        self.assertEqual(lextoken.type, 'SP1')
+        self.assertEqual(lextoken.value, '  ')
+        self.assertEqual(lextoken.lineno, 1)
+        self.assertEqual(lextoken.lexpos, 7)
+        lextoken = tokens[4]
+        self.assertEqual(lextoken.type, 'NAME')
+        self.assertEqual(lextoken.value, 'yyy')
+        self.assertEqual(lextoken.lineno, 1)
+        self.assertEqual(lextoken.lexpos, 9)
+
 if __name__ == "__main__":
     unittest.main()