]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
backport Sniffer class fix (rev 41838)
authorSkip Montanaro <skip@pobox.com>
Wed, 28 Dec 2005 15:43:50 +0000 (15:43 +0000)
committerSkip Montanaro <skip@pobox.com>
Wed, 28 Dec 2005 15:43:50 +0000 (15:43 +0000)
Lib/csv.py
Lib/test/test_csv.py

index f2389fd30425944a39163b92ae7b36f118efe300..262eba8436f85d50a3d2e26508f98b6397447755 100644 (file)
@@ -294,7 +294,7 @@ class Sniffer:
                 for char in ascii:
                     metaFrequency = charFrequency.get(char, {})
                     # must count even if frequency is 0
-                    freq = line.strip().count(char)
+                    freq = line.count(char)
                     # value is the mode
                     metaFrequency[freq] = metaFrequency.get(freq, 0) + 1
                     charFrequency[char] = metaFrequency
index aaebabc33c7e9c8325706e64e6f8308a57fb73a0..ad857249d703ad8235e67cbe666226d1aeedb4c3 100644 (file)
@@ -738,6 +738,8 @@ Stonecutters Seafood and Chop House, Lemont, IL, 12/19/02, Week Back
 47483648;43.0;170;abc;def
 '''
 
+    sample5 = "aaa\tbbb\r\nAAA\t\r\nBBB\t\r\n"
+
     def test_has_header(self):
         sniffer = csv.Sniffer()
         self.assertEqual(sniffer.has_header(self.sample1), False)
@@ -765,6 +767,8 @@ Stonecutters Seafood and Chop House, Lemont, IL, 12/19/02, Week Back
         self.assertEqual(dialect.delimiter, "/")
         dialect = sniffer.sniff(self.sample4)
         self.assertEqual(dialect.delimiter, ";")
+        dialect = sniffer.sniff(self.sample5)
+        self.assertEqual(dialect.delimiter, "\t")
 
 if not hasattr(sys, "gettotalrefcount"):
     if test_support.verbose: print "*** skipping leakage tests ***"