Exemple #1
0
    def test_reader_quotes(self):
        """Test CSV reader basic quote handling"""

        reader = CSVReader(StringIO('a,"b c","d"\n'))
        values = reader.parse_line()
        self.assertEqual(values[0], "a")
        self.assertEqual(values[1], "b c")
        self.assertEqual(values[2], "d")
Exemple #2
0
    def test_reader_skips_blank_lines(self):
        """CSV reader should skip blank lines"""

        reader = CSVReader(StringIO("\na,b,c\n \n1,2,3\n"))
        values = reader.parse_line()
        self.assertEqual(values[0], "a")
        values = reader.parse_line()
        self.assertEqual(values[0], "1")
Exemple #3
0
    def test_simple_csv(self):
        """Test basic CSV reading capabilities"""

        reader = CSVReader(StringIO("a,b,c\n"))
        values = reader.parse_line()
        self.assertEqual(values[0], "a")
        self.assertEqual(values[1], "b")
        self.assertEqual(values[2], "c")
        # End of input signaled by None
        next = reader.parse_line()
        self.assertIsNone(next)
Exemple #4
0
    def test_reader_quotes_with_whitespace(self):
        """Test handling of whitepsace around quotes"""

        reader = CSVReader(StringIO('a, "b" ,c\n'))
        values = reader.parse_line()
        self.assertEqual(values[1], 'b')
Exemple #5
0
    def test_reader_embedded_quotes(self):
        """Test CSV reader handling of embedded quotes"""

        reader = CSVReader(StringIO('a,"b ""c""",d\n'))
        values = reader.parse_line()
        self.assertEqual(values[1], 'b "c"')
Exemple #6
0
    def test_reader_unicode(self):
        """Handle Unicode data via the CSV reader"""

        reader = CSVReader(StringIO(u"a,b,c\n"))
        values = reader.parse_line()
        self.assertEqual(values[0], u"a")
Exemple #7
0
    def test_value_trimming(self):
        """Verify that CSV fields are whitespace-trimmed"""

        reader = CSVReader(StringIO("a, b ,c\n"))
        values = reader.parse_line()
        self.assertEqual(values[1], "b")