Skip to content

Commit 9d6d36f

Browse files
Add a test that csv.Sniffer.has_header checks up to 20 rows
1 parent 22346fb commit 9d6d36f

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

Lib/test/test_csv.py

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1364,6 +1364,56 @@ class TestSniffer(unittest.TestCase):
13641364
sample15 = "\n\n\n"
13651365
sample16 = "abc\ndef\nghi"
13661366

1367+
sample17 = """\
1368+
name,age
1369+
Alice,30
1370+
Bob,40
1371+
Carol,50
1372+
Dave,60
1373+
Eve,70
1374+
Frank,80
1375+
Grace,90
1376+
Heidi,100
1377+
Ivan,110
1378+
Judy,120
1379+
Karl,130
1380+
Liam,140
1381+
Mallory,150
1382+
Niaj,160
1383+
Olivia,170
1384+
Peggy,180
1385+
Quinn,190
1386+
Rupert,200
1387+
Sybil,210
1388+
Trent,220
1389+
Victor,not_a_number
1390+
"""
1391+
sample18 = """\
1392+
name,age
1393+
Alice,30
1394+
Bob,40
1395+
Carol,50
1396+
Dave,60
1397+
Eve,70
1398+
Frank,80
1399+
Grace,90
1400+
Heidi,100
1401+
Ivan,110
1402+
Judy,120
1403+
Karl,130
1404+
Liam,140
1405+
Mallory,150
1406+
Niaj,160
1407+
Olivia,170
1408+
Peggy,180
1409+
Quinn,190
1410+
Rupert,200
1411+
Sybil,210
1412+
Trent,220
1413+
Uma,230
1414+
Victor,not_a_number
1415+
"""
1416+
13671417
def test_issue43625(self):
13681418
sniffer = csv.Sniffer()
13691419
self.assertTrue(sniffer.has_header(self.sample12))
@@ -1385,6 +1435,11 @@ def test_has_header_regex_special_delimiter(self):
13851435
self.assertIs(sniffer.has_header(self.sample8), False)
13861436
self.assertIs(sniffer.has_header(self.header2 + self.sample8), True)
13871437

1438+
def test_has_header_checks_20_rows(self):
1439+
sniffer = csv.Sniffer()
1440+
self.assertIs(sniffer.has_header(self.sample17), False)
1441+
self.assertIs(sniffer.has_header(self.sample18), True)
1442+
13881443
def test_guess_quote_and_delimiter(self):
13891444
sniffer = csv.Sniffer()
13901445
for header in (";'123;4';", "'123;4';", ";'123;4'", "'123;4'"):

0 commit comments

Comments
 (0)