]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Issue #18829: Add tests for the csv module for invalid characters (delimiter,
authorVictor Stinner <victor.stinner@gmail.com>
Thu, 2 Jan 2014 11:53:13 +0000 (12:53 +0100)
committerVictor Stinner <victor.stinner@gmail.com>
Thu, 2 Jan 2014 11:53:13 +0000 (12:53 +0100)
escapechar, quotechar)

Lib/test/test_csv.py

index f1d14b9191cbb2b521fb7715de86aa2bc1002db3..83f8cb3cb7a4583bdd690225ebea8d1071e0084d 100644 (file)
@@ -828,6 +828,19 @@ class TestDialectValidity(unittest.TestCase):
         self.assertEqual(str(cm.exception),
                          '"lineterminator" must be a string')
 
+    def test_invalid_chars(self):
+        def create_invalid(field_name, value):
+            class mydialect(csv.Dialect):
+                pass
+            setattr(mydialect, field_name, value)
+            d = mydialect()
+
+        for field_name in ("delimiter", "escapechar", "quotechar"):
+            self.assertRaises(csv.Error, create_invalid, field_name, "")
+            self.assertRaises(csv.Error, create_invalid, field_name, "abc")
+            self.assertRaises(csv.Error, create_invalid, field_name, b'x')
+            self.assertRaises(csv.Error, create_invalid, field_name, 5)
+
 
 class TestSniffer(unittest.TestCase):
     sample1 = """\