summaryrefslogtreecommitdiff
path: root/tests/test_format.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_format.py')
-rw-r--r--tests/test_format.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/test_format.py b/tests/test_format.py
index 701540b..b77b7a1 100644
--- a/tests/test_format.py
+++ b/tests/test_format.py
@@ -77,6 +77,23 @@ class TestFormat(TestCaseBase):
s = 'select\n* /* foo */ from bar '
self.ndiffAssertEqual(f(s), 'select * /* foo */ from bar')
+ def test_notransform_of_quoted_crlf(self):
+ # Make sure that CR/CR+LF characters inside string literals don't get
+ # affected by the formatter.
+
+ s1 = "SELECT some_column LIKE 'value\r'"
+ s2 = "SELECT some_column LIKE 'value\r'\r\nWHERE id = 1\n"
+ s3 = "SELECT some_column LIKE 'value\\'\r' WHERE id = 1\r"
+ s4 = "SELECT some_column LIKE 'value\\\\\\'\r' WHERE id = 1\r\n"
+
+ f = lambda x: sqlparse.format(x)
+
+ # Because of the use of
+ self.ndiffAssertEqual(f(s1), "SELECT some_column LIKE 'value\r'")
+ self.ndiffAssertEqual(f(s2), "SELECT some_column LIKE 'value\r'\nWHERE id = 1\n")
+ self.ndiffAssertEqual(f(s3), "SELECT some_column LIKE 'value\\'\r' WHERE id = 1\n")
+ self.ndiffAssertEqual(f(s4), "SELECT some_column LIKE 'value\\\\\\'\r' WHERE id = 1\n")
+
def test_outputformat(self):
sql = 'select * from foo;'
self.assertRaises(SQLParseError, sqlparse.format, sql,