add keyword arguments support to str/unicode encode and decode #6300
diff --git a/Lib/test/test_str.py b/Lib/test/test_str.py
index c546154..fa86db4 100644
--- a/Lib/test/test_str.py
+++ b/Lib/test/test_str.py
@@ -401,6 +401,17 @@
     def test_buffer_is_readonly(self):
         self.assertRaises(TypeError, sys.stdin.readinto, b"")
 
+    def test_encode_and_decode_kwargs(self):
+        self.assertEqual('abcde'.encode('ascii', 'replace'),
+                         'abcde'.encode('ascii', errors='replace'))
+        self.assertEqual('abcde'.encode('ascii', 'ignore'),
+                         'abcde'.encode(encoding='ascii', errors='ignore'))
+        self.assertEqual('Andr\202 x'.decode('ascii', 'ignore'),
+                         'Andr\202 x'.decode('ascii', errors='ignore'))
+        self.assertEqual('Andr\202 x'.decode('ascii', 'replace'),
+                         'Andr\202 x'.decode(encoding='ascii', errors='replace'))
+
+
 
 def test_main():
     test_support.run_unittest(StrTest)
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py
index 43830b2..2b269cc 100644
--- a/Lib/test/test_unicode.py
+++ b/Lib/test/test_unicode.py
@@ -593,12 +593,20 @@
         self.assertRaises(UnicodeError, u'Andr\202 x'.encode, 'ascii','strict')
         self.assertEqual(u'Andr\202 x'.encode('ascii','ignore'), "Andr x")
         self.assertEqual(u'Andr\202 x'.encode('ascii','replace'), "Andr? x")
+        self.assertEqual(u'Andr\202 x'.encode('ascii', 'replace'),
+                         u'Andr\202 x'.encode('ascii', errors='replace'))
+        self.assertEqual(u'Andr\202 x'.encode('ascii', 'ignore'),
+                         u'Andr\202 x'.encode(encoding='ascii', errors='ignore'))
 
         # Error handling (decoding)
         self.assertRaises(UnicodeError, unicode, 'Andr\202 x', 'ascii')
         self.assertRaises(UnicodeError, unicode, 'Andr\202 x', 'ascii','strict')
         self.assertEqual(unicode('Andr\202 x','ascii','ignore'), u"Andr x")
         self.assertEqual(unicode('Andr\202 x','ascii','replace'), u'Andr\uFFFD x')
+        self.assertEqual(u'abcde'.decode('ascii', 'ignore'),
+                         u'abcde'.decode('ascii', errors='ignore'))
+        self.assertEqual(u'abcde'.decode('ascii', 'replace'),
+                         u'abcde'.decode(encoding='ascii', errors='replace'))
 
         # Error handling (unknown character names)
         self.assertEqual("\\N{foo}xx".decode("unicode-escape", "ignore"), u"xx")