Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 48816c6

Browse files
author
Skip Montanaro
committed
some sniffer tests
1 parent 2726fcd commit 48816c6

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

Lib/test/test_csv.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -533,6 +533,40 @@ class mydialect(csv.Dialect):
533533
self.assertRaises(csv.Error, mydialect)
534534

535535

536+
class TestSniffer(unittest.TestCase):
537+
sample1 = """\
538+
Harry's, Arlington Heights, IL, 2/1/03, Kimi Hayes
539+
Shark City, Glendale Heights, IL, 12/28/02, Prezence
540+
Tommy's Place, Blue Island, IL, 12/28/02, Blue Sunday/White Crow
541+
Stonecutters Seafood and Chop House, Lemont, IL, 12/19/02, Week Back
542+
"""
543+
sample2 = """\
544+
'Harry''s':'Arlington Heights':'IL':'2/1/03':'Kimi Hayes'
545+
'Shark City':'Glendale Heights':'IL':'12/28/02':'Prezence'
546+
'Tommy''s Place':'Blue Island':'IL':'12/28/02':'Blue Sunday/White Crow'
547+
'Stonecutters Seafood and Chop House':'Lemont':'IL':'12/19/02':'Week Back'
548+
"""
549+
550+
header = '''\
551+
"venue","city","state","date","performers"
552+
'''
553+
def test_has_header(self):
554+
sniffer = csv.Sniffer()
555+
self.assertEqual(sniffer.has_header(self.sample1), False)
556+
self.assertEqual(sniffer.has_header(self.header+self.sample1), True)
557+
558+
def test_sniff(self):
559+
sniffer = csv.Sniffer()
560+
dialect = sniffer.sniff(self.sample1)
561+
self.assertEqual(dialect.delimiter, ",")
562+
self.assertEqual(dialect.quotechar, '"')
563+
self.assertEqual(dialect.skipinitialspace, True)
564+
565+
dialect = sniffer.sniff(self.sample2)
566+
self.assertEqual(dialect.delimiter, ":")
567+
self.assertEqual(dialect.quotechar, "'")
568+
self.assertEqual(dialect.skipinitialspace, False)
569+
536570
if not hasattr(sys, "gettotalrefcount"):
537571
if verbose: print "*** skipping leakage tests ***"
538572
else:

0 commit comments

Comments
 (0)