From: Victor Stinner Date: Thu, 2 Jan 2014 11:53:50 +0000 (+0100) Subject: (Merge 3.3) Issue #18829: Add tests for the csv module for invalid characters X-Git-Tag: v3.4.0b2~51 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=009771ee6b81321f66b3f6dcdc505597d7149407;p=python (Merge 3.3) Issue #18829: Add tests for the csv module for invalid characters (delimiter, escapechar, quotechar) --- 009771ee6b81321f66b3f6dcdc505597d7149407 diff --cc Lib/test/test_csv.py index cbde78145f,83f8cb3cb7..7e2485f954 --- a/Lib/test/test_csv.py +++ b/Lib/test/test_csv.py @@@ -837,6 -828,19 +837,20 @@@ class TestDialectValidity(unittest.Test 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) ++ with self.subTest(field_name=field_name): ++ 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 = """\