diff --git a/extra_tests/snippets/stdlib_csv.py b/extra_tests/snippets/stdlib_csv.py index 2221832b5..0956e254f 100644 --- a/extra_tests/snippets/stdlib_csv.py +++ b/extra_tests/snippets/stdlib_csv.py @@ -1,6 +1,5 @@ import csv import io -import sys from testutils import assert_raises @@ -263,42 +262,6 @@ def test_multichar_lineterminator(): test_multichar_lineterminator() -def test_reject_non_ascii_lineterminator(): - # CPython accepts non-ASCII line terminators; RustPython rejects them - # because the writer quotes and escapes byte by byte. Supporting them - # requires code-point-wise handling as part of full Unicode dialect support. - with assert_raises(csv.Error): - csv.writer(io.StringIO(), lineterminator="é") - - with assert_raises(csv.Error): - csv.writer(io.StringIO(), lineterminator="\x85") - - with assert_raises(csv.Error): - csv.writer(io.StringIO(), lineterminator="\ud800") - - with assert_raises(csv.Error): - csv.writer( - io.StringIO(), lineterminator="é", quoting=csv.QUOTE_NONE, escapechar="\\" - ) - - with assert_raises(csv.Error): - csv.register_dialect("non_ascii_lt", lineterminator="é") - - class NonAsciiDialect(csv.excel): - lineterminator = "é" - - with assert_raises(csv.Error): - NonAsciiDialect() - - buf = io.StringIO() - csv.writer(buf, lineterminator="!@#").writerow(["a", "b"]) - assert buf.getvalue() == "a,b!@#" - - -if sys.implementation.name == "rustpython": - test_reject_non_ascii_lineterminator() - - def test_empty_lineterminator(): class EmptyLineTerminator(csv.excel): lineterminator = ""