Esempio n. 1
0
    def test_field_size_limit(self):
        # Testing field_size_limit for failure. Creating data using str * int.
        with open('.test.csv', 'r', encoding='utf-8') as f:
            c = csv_py3.Reader(f, field_size_limit=9)
            try:
                c.__next__()
            except FieldSizeLimitError:
                pass
            else:
                raise AssertionError('Expected FieldSizeLimitError')

        # Now testing higher field_size_limit.
        with open('.test.csv', 'r', encoding='utf-8') as f:
            c = csv_py3.Reader(f, field_size_limit=11)
            self.assertEqual(['a' * 10], c.__next__())
Esempio n. 2
0
 def test_utf8(self):
     with open('examples/test.csv', encoding='utf-8') as f:
         reader = csv_py3.Reader(f)
         self.assertEqual(next(reader), ['one', 'two', 'three'])
         self.assertEqual(next(reader), ['1', '4', 'a'])
         self.assertEqual(next(reader), ['2', '3', 'b'])
         self.assertEqual(next(reader), ['', '2', u'👍'])
Esempio n. 3
0
    def test_properties(self):
        with open('examples/test.csv', encoding='utf-8') as f:
            reader = csv_py3.Reader(f)

            self.assertEqual(reader.dialect.delimiter, ',')
            self.assertEqual(reader.line_num, 0)

            next(reader)

            self.assertEqual(reader.line_num, 1)
Esempio n. 4
0
    def test_writerows(self):
        output = six.StringIO()
        writer = csv_py3.Writer(output)
        writer.writerows([['a', 'b', 'c'], ['1', '2', '3'], ['4', '5', u'ʤ']])

        written = six.StringIO(output.getvalue())

        reader = csv_py3.Reader(written)
        self.assertEqual(next(reader), ['a', 'b', 'c'])
        self.assertEqual(next(reader), ['1', '2', '3'])
        self.assertEqual(next(reader), ['4', '5', u'ʤ'])
Esempio n. 5
0
    def test_line_numbers(self):
        output = six.StringIO()
        writer = csv_py3.Writer(output, line_numbers=True)
        writer.writerow(['a', 'b', 'c'])
        writer.writerow(['1', '2', '3'])
        writer.writerow(['4', '5', u'ʤ'])

        written = six.StringIO(output.getvalue())

        reader = csv_py3.Reader(written)
        self.assertEqual(next(reader), ['line_number', 'a', 'b', 'c'])
        self.assertEqual(next(reader), ['1', '1', '2', '3'])
        self.assertEqual(next(reader), ['2', '4', '5', u'ʤ'])
Esempio n. 6
0
    def test_line_numbers(self):
        with open('examples/test.csv', encoding='utf-8') as f:
            rows = list(csv_py3.Reader(f, line_numbers=True))

        sample_rows = [[
            'line_numbers', 'number', 'text', 'boolean', 'date', 'datetime',
            'timedelta'
        ],
                       [
                           '1', '1', 'a', 'True', '2015-11-04',
                           '2015-11-04T12:22:00', '0:04:15'
                       ],
                       [
                           '2', '2', u'👍', 'False', '2015-11-05',
                           '2015-11-04T12:45:00', '0:06:18'
                       ], ['3', '', 'b', '', '', '', '']]

        for a, b in zip(sample_rows, rows):
            self.assertEqual(a, b)
Esempio n. 7
0
    def test_utf8(self):
        with open('examples/test.csv', encoding='utf-8') as f:
            rows = list(csv_py3.Reader(f))

        for a, b in zip(self.rows, rows):
            self.assertEqual(a, b)