summaryrefslogtreecommitdiff
path: root/tests/utils.py
diff options
context:
space:
mode:
authorMichael Schuller <michael.schuller@artlogic.net>2014-03-07 18:01:41 +0000
committerMichael Schuller <michael.schuller@artlogic.net>2014-03-10 12:20:38 +0000
commit480e52fddf28fad591f3214ee28c2d2af8842ce1 (patch)
treead9fe3c141c22113769a7f50b588f1d8c6156819 /tests/utils.py
parentff7ba6404342898616be24115f7be4744520289d (diff)
downloadsqlparse-480e52fddf28fad591f3214ee28c2d2af8842ce1.tar.gz
Fix SerializerUnicode to split unquoted newlines
This provides a fix to issue #131. The `split_unquoted_newlines()` function added to the utils module handles the splitting of the string by performing a simple iteration of the string passed in and splitting on unquoted CR, LF, or CR+LFs as they are found.
Diffstat (limited to 'tests/utils.py')
-rw-r--r--tests/utils.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/tests/utils.py b/tests/utils.py
index e2c01a3..9eb46bf 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -8,6 +8,8 @@ import os
import unittest
from StringIO import StringIO
+import sqlparse.utils
+
NL = '\n'
DIR_PATH = os.path.abspath(os.path.dirname(__file__))
PARENT_DIR = os.path.dirname(DIR_PATH)
@@ -31,7 +33,12 @@ class TestCaseBase(unittest.TestCase):
if first != second:
sfirst = unicode(first)
ssecond = unicode(second)
- diff = difflib.ndiff(sfirst.splitlines(), ssecond.splitlines())
+ # Using the built-in .splitlines() method here will cause incorrect
+ # results when splitting statements that have quoted CR/CR+LF
+ # characters.
+ sfirst = sqlparse.utils.split_unquoted_newlines(sfirst)
+ ssecond = sqlparse.utils.split_unquoted_newlines(ssecond)
+ diff = difflib.ndiff(sfirst, ssecond)
fp = StringIO()
fp.write(NL)
fp.write(NL.join(diff))