From 974222bcb24a5b2bf3a0e5ecd616a2c3855e8342 Mon Sep 17 00:00:00 2001 From: Andi Albrecht Date: Wed, 6 May 2009 07:53:44 +0200 Subject: Code cleanup and test coverage. --- tests/test_grouping.py | 12 ++++++++++++ tests/test_tokenize.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) (limited to 'tests') diff --git a/tests/test_grouping.py b/tests/test_grouping.py index 6ec6616..0e6c19e 100644 --- a/tests/test_grouping.py +++ b/tests/test_grouping.py @@ -123,3 +123,15 @@ class TestGrouping(TestCaseBase): p = sqlparse.parse(s)[0] self.ndiffAssertEqual(s, p.to_unicode()) self.assertEqual(p.tokens[4].get_alias(), 'view') + + + +class TestStatement(TestCaseBase): + + def test_get_type(self): + f = lambda sql: sqlparse.parse(sql)[0] + self.assertEqual(f('select * from foo').get_type(), 'SELECT') + self.assertEqual(f('update foo').get_type(), 'UPDATE') + self.assertEqual(f(' update foo').get_type(), 'UPDATE') + self.assertEqual(f('\nupdate foo').get_type(), 'UPDATE') + self.assertEqual(f('foo').get_type(), 'UNKNOWN') diff --git a/tests/test_tokenize.py b/tests/test_tokenize.py index 127b4db..e4ef6c3 100644 --- a/tests/test_tokenize.py +++ b/tests/test_tokenize.py @@ -3,7 +3,9 @@ import unittest import types +import sqlparse from sqlparse import lexer +from sqlparse import sql from sqlparse.tokens import * @@ -38,3 +40,47 @@ class TestTokenize(unittest.TestCase): sql = 'foo\r\nbar\n' tokens = lexer.tokenize(sql) self.assertEqual(''.join(str(x[1]) for x in tokens), sql) + + +class TestToken(unittest.TestCase): + + def test_str(self): + token = sql.Token(None, 'FoO') + self.assertEqual(str(token), 'FoO') + + def test_repr(self): + token = sql.Token(Keyword, 'foo') + tst = "