Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r57509:0db479b9983d Date: 2012-09-24 18:06 +0200 http://bitbucket.org/pypy/pypy/changeset/0db479b9983d/
Log: Test and fix diff --git a/pypy/module/_csv/interp_reader.py b/pypy/module/_csv/interp_reader.py --- a/pypy/module/_csv/interp_reader.py +++ b/pypy/module/_csv/interp_reader.py @@ -182,9 +182,7 @@ "field - do you need to open the file " "in universal-newline mode?") - if (state == START_FIELD or - state == IN_FIELD or - state == QUOTE_IN_QUOTED_FIELD): + if state == IN_FIELD or state == QUOTE_IN_QUOTED_FIELD: self.save_field(field_builder) break elif state == ESCAPED_CHAR: @@ -195,6 +193,11 @@ elif state == ESCAPE_IN_QUOTED_FIELD: self.add_char(field_builder, '\n') state = IN_QUOTED_FIELD + elif state == START_FIELD: + # save empty field + field_builder = StringBuilder(1) + self.save_field(field_builder) + break else: break # diff --git a/pypy/module/_csv/test/test_reader.py b/pypy/module/_csv/test/test_reader.py --- a/pypy/module/_csv/test/test_reader.py +++ b/pypy/module/_csv/test/test_reader.py @@ -96,3 +96,6 @@ assert r.line_num == 3 raises(StopIteration, r.next) assert r.line_num == 3 + + def test_dubious_quote(self): + self._read_test(['12,12,1",'], [['12', '12', '1"', '']]) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit