* Correct Sniffer doc to correspond to the implementation.
* Add optional delimiters arg to Sniffer.sniff() which restricts the set of
candidate field delimiters.
diff --git a/Lib/test/test_csv.py b/Lib/test/test_csv.py
index c0ad645..00ba8cd 100644
--- a/Lib/test/test_csv.py
+++ b/Lib/test/test_csv.py
@@ -551,6 +551,12 @@
header = '''\
"venue","city","state","date","performers"
'''
+ sample3 = '''\
+05/05/03?05/05/03?05/05/03?05/05/03?05/05/03?05/05/03
+05/05/03?05/05/03?05/05/03?05/05/03?05/05/03?05/05/03
+05/05/03?05/05/03?05/05/03?05/05/03?05/05/03?05/05/03
+'''
+
def test_has_header(self):
sniffer = csv.Sniffer()
self.assertEqual(sniffer.has_header(self.sample1), False)
@@ -568,6 +574,15 @@
self.assertEqual(dialect.quotechar, "'")
self.assertEqual(dialect.skipinitialspace, False)
+ def test_delimiters(self):
+ sniffer = csv.Sniffer()
+ dialect = sniffer.sniff(self.sample3)
+ self.assertEqual(dialect.delimiter, "0")
+ dialect = sniffer.sniff(self.sample3, delimiters="?,")
+ self.assertEqual(dialect.delimiter, "?")
+ dialect = sniffer.sniff(self.sample3, delimiters="/,")
+ self.assertEqual(dialect.delimiter, "/")
+
if not hasattr(sys, "gettotalrefcount"):
if test_support.verbose: print "*** skipping leakage tests ***"
else: