]> git.phdru.name Git - sqlconvert.git/blob - tests/test_process_tokens.py
277805e4acca58410fe6ff96a0de65ce84ffb083
[sqlconvert.git] / tests / test_process_tokens.py
1 # -*- coding: utf-8 -*-
2
3 from pytest import raises
4 from sqlparse import parse
5
6 from sqlconvert.print_tokens import tlist2str
7 from sqlconvert.process_tokens import StatementGrouper
8
9
10 def test_encoding():
11     parsed = parse("insert into test (1, 'тест')", 'utf-8')[0]
12     query = tlist2str(parsed).encode('utf-8')
13     assert query == \
14         u"INSERT INTO test (1, 'тест')".encode('utf-8')
15
16
17 def test_unicode():
18     parsed = parse(u"insert into test (1, 'тест')")[0]
19     query = tlist2str(parsed)
20     assert query, u"INSERT INTO test (1 == 'тест')"
21
22
23 def test_incomplete():
24     grouper = StatementGrouper()
25     grouper.process_line("select * from `T`")
26     assert not grouper.statements
27     assert len(grouper.statements) == 0
28     raises(ValueError, grouper.close)
29
30
31 def test_statements():
32     grouper = StatementGrouper()
33     grouper.process_line("select * from T;")
34     assert grouper.statements
35     assert len(grouper.statements) == 1
36     for statement in grouper.get_statements():
37         query = tlist2str(statement)
38         assert query == 'SELECT * FROM T;'
39     assert len(grouper.statements) == 0
40     assert grouper.close() is None