diff -r c90107199dea -r aa982b7c3f2a test/unittest_dataimport.py --- a/test/unittest_dataimport.py Thu Apr 03 15:30:37 2014 +0200 +++ b/test/unittest_dataimport.py Thu Apr 03 15:36:33 2014 +0200 @@ -1,6 +1,8 @@ from StringIO import StringIO from logilab.common.testlib import TestCase, unittest_main from cubicweb import dataimport + + class UcsvreaderTC(TestCase): def test_empty_lines_skipped(self): @@ -21,6 +23,34 @@ ], list(dataimport.ucsvreader(stream, skip_empty=False))) + def test_skip_first(self): + stream = StringIO('a,b,c,d,\n' + '1,2,3,4,\n') + reader = dataimport.ucsvreader(stream, skipfirst=True, + ignore_errors=True) + self.assertEqual(list(reader), + [[u'1', u'2', u'3', u'4', u'']]) + + stream.seek(0) + reader = dataimport.ucsvreader(stream, skipfirst=True, + ignore_errors=False) + self.assertEqual(list(reader), + [[u'1', u'2', u'3', u'4', u'']]) + + stream.seek(0) + reader = dataimport.ucsvreader(stream, skipfirst=False, + ignore_errors=True) + self.assertEqual(list(reader), + [[u'a', u'b', u'c', u'd', u''], + [u'1', u'2', u'3', u'4', u'']]) + + stream.seek(0) + reader = dataimport.ucsvreader(stream, skipfirst=False, + ignore_errors=False) + self.assertEqual(list(reader), + [[u'a', u'b', u'c', u'd', u''], + [u'1', u'2', u'3', u'4', u'']]) + if __name__ == '__main__': unittest_main()