summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorWalter Dörwald <walter@livinglogic.de>2009-05-06 14:28:24 (GMT)
committerWalter Dörwald <walter@livinglogic.de>2009-05-06 14:28:24 (GMT)
commita7fb408a02a06c9d391bc52b61396a6eba2f60d0 (patch)
treee847130b98bf6fca9af1db3e0204531935fcdba9 /Lib
parentc924b3d115044dc068569a2217569212166735f4 (diff)
downloadcpython-a7fb408a02a06c9d391bc52b61396a6eba2f60d0.zip
cpython-a7fb408a02a06c9d391bc52b61396a6eba2f60d0.tar.gz
cpython-a7fb408a02a06c9d391bc52b61396a6eba2f60d0.tar.bz2
Issue 3739: The unicode-internal encoder now reports the number of *characters*
consumed like any other encoder (instead of the number of bytes).
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_codecs.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/Lib/test/test_codecs.py b/Lib/test/test_codecs.py
index cee819c..5df6fe5 100644
--- a/Lib/test/test_codecs.py
+++ b/Lib/test/test_codecs.py
@@ -802,6 +802,12 @@ class UnicodeInternalTest(unittest.TestCase):
"UnicodeInternalTest")
self.assertEquals((u"ab", 12), ignored)
+ def test_encode_length(self):
+ # Issue 3739
+ encoder = codecs.getencoder("unicode_internal")
+ self.assertEquals(encoder(u"a")[1], 1)
+ self.assertEquals(encoder(u"\xe9\u0142")[1], 2)
+
# From http://www.gnu.org/software/libidn/draft-josefsson-idn-test-vectors.html
nameprep_tests = [
# 3.1 Map to nothing.
@@ -1292,8 +1298,7 @@ class BasicUnicodeTest(unittest.TestCase):
name = "latin_1"
self.assertEqual(encoding.replace("_", "-"), name.replace("_", "-"))
(bytes, size) = codecs.getencoder(encoding)(s)
- if encoding != "unicode_internal":
- self.assertEqual(size, len(s), "%r != %r (encoding=%r)" % (size, len(s), encoding))
+ self.assertEqual(size, len(s), "%r != %r (encoding=%r)" % (size, len(s), encoding))
(chars, size) = codecs.getdecoder(encoding)(bytes)
self.assertEqual(chars, s, "%r != %r (encoding=%r)" % (chars, s, encoding))