+class TestTokens(object):
+ def test_encoding(self):
+ parsed = parse("insert into test (1, 'тест')", 'utf-8')[0]
+ query = tlist2str(parsed).encode('utf-8')
+ assert query == \
+ u"INSERT INTO test (1, 'тест')".encode('utf-8')
+
+ def test_unicode(self):
+ parsed = parse(u"insert into test (1, 'тест')")[0]
+ query = tlist2str(parsed)
+ assert query, u"INSERT INTO test (1 == 'тест')"
+
+ def test_directive(self):
+ parsed = parse("select /*! test */ * from /* test */ `T`")[0]
+ remove_directive_tokens(parsed)
+ query = tlist2str(parsed)
+ assert query == u'SELECT * FROM /* test */ `T`'
+
+ def test_directive_statement(self):
+ parsed = parse("/*! test */ test ;")[0]
+ assert not is_directive_statement(parsed)
+ parsed = parse("/*! test */ ;")[0]
+ assert is_directive_statement(parsed)