diff options
| author | quest <quest@wonky.windwards.net> | 2012-04-21 19:57:26 +0200 |
|---|---|---|
| committer | quest <quest@wonky.windwards.net> | 2012-04-21 19:57:26 +0200 |
| commit | 7631460377274f6a9e074c974e2d63dafb1938eb (patch) | |
| tree | c3df43be3a0e5c43f42353c83b991b665f4c7c51 /tests/test_tokenize.py | |
| parent | 0afebf47e24d8a1ee1981faef39c0a15a798f7fd (diff) | |
| download | sqlparse-7631460377274f6a9e074c974e2d63dafb1938eb.tar.gz | |
We can now work with file-like objects.
Diffstat (limited to 'tests/test_tokenize.py')
| -rw-r--r-- | tests/test_tokenize.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/test_tokenize.py b/tests/test_tokenize.py index 3f51a46..5b403f9 100644 --- a/tests/test_tokenize.py +++ b/tests/test_tokenize.py @@ -69,6 +69,13 @@ class TestTokenize(unittest.TestCase): self.assertEqual(tokens[2][0], Number.Integer) self.assertEqual(tokens[2][1], '-1') + def test_tab_expansion(self): + sql = "\t" + lex = lexer.Lexer() + lex.tabsize = 5 + tokens = list(lex.get_tokens(sql)) + self.assertEqual(tokens[0][1], " " * 5) + class TestToken(unittest.TestCase): def test_str(self): @@ -116,3 +123,35 @@ class TestTokenList(unittest.TestCase): t2) self.assertEqual(x.token_matching(1, [lambda t: t.ttype is Keyword]), None) + +class TestStream(unittest.TestCase): + def test_simple(self): + import types + from cStringIO import StringIO + + stream = StringIO("SELECT 1; SELECT 2;") + lex = lexer.Lexer() + + tokens = lex.get_tokens(stream) + self.assertEqual(len(list(tokens)), 9) + + stream.seek(0) + lex.bufsize = 4 + tokens = list(lex.get_tokens(stream)) + self.assertEqual(len(tokens), 9) + + stream.seek(0) + lex.bufsize = len(stream.getvalue()) + tokens = list(lex.get_tokens(stream)) + self.assertEqual(len(tokens), 9) + + def test_error(self): + from cStringIO import StringIO + + stream = StringIO("FOOBAR{") + + lex = lexer.Lexer() + lex.bufsize = 4 + tokens = list(lex.get_tokens(stream)) + self.assertEqual(len(tokens), 2) + self.assertEqual(tokens[1][0], Error) |
