gh-144027: Fix documentation for ignorechars in base64.a85decode() (GH-144028)
It does not support an ASCII string.
Also add more tests.
diff --git a/Doc/library/base64.rst b/Doc/library/base64.rst
index 3e7884d..64d66fc 100644
--- a/Doc/library/base64.rst
+++ b/Doc/library/base64.rst
@@ -254,8 +254,7 @@
*adobe* controls whether the input sequence is in Adobe Ascii85 format
(i.e. is framed with <~ and ~>).
- *ignorechars* should be a :term:`bytes-like object` or ASCII string
- containing characters to ignore
+ *ignorechars* should be a byte string containing characters to ignore
from the input. This should only contain whitespace characters, and by
default contains all whitespace characters in ASCII.
diff --git a/Lib/test/test_base64.py b/Lib/test/test_base64.py
index d029929..6e69ece 100644
--- a/Lib/test/test_base64.py
+++ b/Lib/test/test_base64.py
@@ -965,6 +965,19 @@ def test_a85decode_errors(self):
self.assertRaises(ValueError, base64.a85decode, b'aaaay',
foldspaces=True)
+ self.assertEqual(base64.a85decode(b"a b\nc", ignorechars=b" \n"),
+ b'\xc9\x89')
+ with self.assertRaises(ValueError):
+ base64.a85decode(b"a b\nc", ignorechars=b"")
+ with self.assertRaises(ValueError):
+ base64.a85decode(b"a b\nc", ignorechars=b" ")
+ with self.assertRaises(ValueError):
+ base64.a85decode(b"a b\nc", ignorechars=b"\n")
+ with self.assertRaises(TypeError):
+ base64.a85decode(b"a b\nc", ignorechars=" \n")
+ with self.assertRaises(TypeError):
+ base64.a85decode(b"a b\nc", ignorechars=None)
+
def test_b85decode_errors(self):
illegal = list(range(33)) + \
list(b'"\',./:[\\]') + \