From de1e14dd9374cf9932be4ee43970083ad332cd98 Mon Sep 17 00:00:00 2001
From: milde <milde@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>
Date: Sat, 27 Nov 2021 16:28:38 +0000
Subject: [PATCH] Special-casing for Python 3.11: Null char valid in CSV.
First part of a fix for bug #436.
git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk@8909 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
---
test/DocutilsTestSupport.py | 1 +
.../test_rst/test_directives/test_tables.py | 88 ++++++++++++++++++----
2 files changed, 76 insertions(+), 13 deletions(-)
diff --git a/test/DocutilsTestSupport.py b/test/DocutilsTestSupport.py
index 592d3f9df..e1f33aa7a 100644
--- a/test/DocutilsTestSupport.py
+++ b/test/DocutilsTestSupport.py
@@ -818,6 +818,7 @@ def exception_data(func, *args, **kwds):
except Exception as detail:
return (detail, detail.args,
'%s: %s' % (detail.__class__.__name__, detail))
+ return None, [], "No exception"
def _format_str(*args):
diff --git a/test/test_parsers/test_rst/test_directives/test_tables.py b/test/test_parsers/test_rst/test_directives/test_tables.py
index 07be0122f..b030e7552 100755
--- a/test/test_parsers/test_rst/test_directives/test_tables.py
+++ b/test/test_parsers/test_rst/test_directives/test_tables.py
@@ -65,6 +65,79 @@ def null_bytes():
next(reader)
null_bytes_exception = DocutilsTestSupport.exception_data(null_bytes)[0]
+# Null bytes are valid in Python 3.11+:
+if null_bytes_exception is None:
+ bad_encoding_result = """\
+<document source="test data">
+<document source="test data">
+ <table>
+ <title>
+ good encoding
+ <tgroup cols="3">
+ <colspec colwidth="33">
+ <colspec colwidth="33">
+ <colspec colwidth="33">
+ <thead>
+ <row>
+ <entry>
+ <paragraph>
+ Treat
+ <entry>
+ <paragraph>
+ Quantity
+ <entry>
+ <paragraph>
+ Description
+ <tbody>
+ <row>
+ <entry>
+ <paragraph>
+ Albatr\u00b0\u00df
+ <entry>
+ <paragraph>
+ 2.99
+ <entry>
+ <paragraph>
+ \u00a1On a \u03c3\u03c4\u03b9\u03ba!
+ <row>
+ <entry>
+ <paragraph>
+ Crunchy Frog
+ <entry>
+ <paragraph>
+ 1.49
+ <entry>
+ <paragraph>
+ If we took the b\u00f6nes out, it wouldn\u2019t be
+ crunchy, now would it?
+ <row>
+ <entry>
+ <paragraph>
+ Gannet Ripple
+ <entry>
+ <paragraph>
+ 1.99
+ <entry>
+ <paragraph>
+ \u00bfOn a \u03c3\u03c4\u03b9\u03ba?
+ <paragraph>
+ (7- and 8-bit text encoded as UTF-16 has lots of null/zero bytes.)
+""" % (null_bytes_exception, utf_16_csv)
+else:
+ bad_encoding_result = """\
+<document source="test data">
+ <system_message level="3" line="1" source="test data" type="ERROR">
+ <paragraph>
+ Error with CSV data in "csv-table" directive:
+ %s
+ <literal_block xml:space="preserve">
+ .. csv-table:: bad encoding
+ :file: %s
+ :encoding: latin-1
+ <paragraph>
+ (7- and 8-bit text encoded as UTF-16 has lots of null/zero bytes.)
+""" % (null_bytes_exception, utf_16_csv)
+
totest = {}
@@ -1031,19 +1104,8 @@ u"""\
(7- and 8-bit text encoded as UTF-16 has lots of null/zero bytes.)
""" % utf_16_csv,
-"""\
-<document source="test data">
- <system_message level="3" line="1" source="test data" type="ERROR">
- <paragraph>
- Error with CSV data in "csv-table" directive:
- %s
- <literal_block xml:space="preserve">
- .. csv-table:: bad encoding
- :file: %s
- :encoding: latin-1
- <paragraph>
- (7- and 8-bit text encoded as UTF-16 has lots of null/zero bytes.)
-""" % (null_bytes_exception, utf_16_csv)],
+bad_encoding_result
+],
["""\
.. csv-table:: good encoding
:file: %s
--
2.11.4.GIT
From 83b6811e753947c9d8576d410c635b36d515657c Mon Sep 17 00:00:00 2001
From: grubert <grubert@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>
Date: Sat, 27 Nov 2021 21:16:41 +0000
Subject: [PATCH] Change
test/test_parsers/test_rst/test_directives/test_tables.py for python 3.11.0a2
csv modules supports null character.
git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk@8910 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
---
.../test_rst/test_directives/test_tables.py | 51 ++++++++++++++--------
1 file changed, 31 insertions(+), 20 deletions(-)
diff --git a/test/test_parsers/test_rst/test_directives/test_tables.py b/test/test_parsers/test_rst/test_directives/test_tables.py
index b030e7552..73724ed7e 100755
--- a/test/test_parsers/test_rst/test_directives/test_tables.py
+++ b/test/test_parsers/test_rst/test_directives/test_tables.py
@@ -69,60 +69,73 @@ null_bytes_exception = DocutilsTestSupport.exception_data(null_bytes)[0]
if null_bytes_exception is None:
bad_encoding_result = """\
<document source="test data">
-<document source="test data">
<table>
<title>
- good encoding
- <tgroup cols="3">
- <colspec colwidth="33">
- <colspec colwidth="33">
- <colspec colwidth="33">
- <thead>
+ bad encoding
+ <tgroup cols="4">
+ <colspec colwidth="25">
+ <colspec colwidth="25">
+ <colspec colwidth="25">
+ <colspec colwidth="25">
+ <tbody>
<row>
<entry>
<paragraph>
- Treat
+ \xfe\xff"Treat"
<entry>
<paragraph>
- Quantity
+ "Quantity"
<entry>
<paragraph>
- Description
- <tbody>
+ "Description"
+ <entry>
<row>
<entry>
<paragraph>
- Albatr\u00b0\u00df
+ "Albatr\u00b0\u00df"
<entry>
<paragraph>
2.99
<entry>
<paragraph>
- \u00a1On a \u03c3\u03c4\u03b9\u03ba!
+ "\u00a1Ona\x03\xc3\x03\xc4\x03\xb9\x03\xba!"
+ <entry>
<row>
<entry>
<paragraph>
- Crunchy Frog
+ "CrunchyFrog"
<entry>
<paragraph>
1.49
<entry>
<paragraph>
- If we took the b\u00f6nes out, it wouldn\u2019t be
- crunchy, now would it?
+ "Ifwetooktheb\u00f6nesout
+ <entry>
+ <paragraph>
+ itwouldn\x20\x19tbe
<row>
<entry>
<paragraph>
- Gannet Ripple
+ crunchy
+ <entry>
+ <paragraph>
+ nowwouldit?"
+ <entry>
+ <entry>
+ <row>
+ <entry>
+ <paragraph>
+ "GannetRipple"
<entry>
<paragraph>
1.99
<entry>
<paragraph>
- \u00bfOn a \u03c3\u03c4\u03b9\u03ba?
+ "\xbfOna\x03\xc3\x03\xc4\x03\xb9\x03\xba?"
+ <entry>
<paragraph>
(7- and 8-bit text encoded as UTF-16 has lots of null/zero bytes.)
-""" % (null_bytes_exception, utf_16_csv)
+"""
else:
bad_encoding_result = """\
<document source="test data">
--
2.11.4.GIT