Skip to content

Commit e7a40aa

Browse files
committed
Fix version check when casting TokenList to string (fixes andialbrecht#212).
1 parent 3360f5d commit e7a40aa

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

sqlparse/sql.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ def __unicode__(self):
157157

158158
def __str__(self):
159159
str_ = self._to_string()
160-
if sys.version_info[0] < 2:
160+
if sys.version_info[0] <= 2:
161161
str_ = str_.encode('utf-8')
162162
return str_
163163

tests/test_regressions.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import sqlparse
88
from sqlparse import sql
99
from sqlparse import tokens as T
10+
from sqlparse.compat import u
1011

1112

1213
class RegressionTests(TestCaseBase):
@@ -275,3 +276,13 @@ def test_issue186_get_type():
275276
sql = "-- comment\ninsert into foo"
276277
p = sqlparse.parse(sql)[0]
277278
assert p.get_type() == 'INSERT'
279+
280+
281+
def test_issue212_py2unicode():
282+
if sys.version_info < (3,):
283+
t1 = sql.Token(T.String, u"schöner ")
284+
else:
285+
t1 = sql.Token(T.String, "schöner ")
286+
t2 = sql.Token(T.String, u"bug")
287+
l = sql.TokenList([t1, t2])
288+
assert str(l) == 'schöner bug'

0 commit comments

Comments
 (0)