[Python-checkins] cpython (merge 3.2 -> default): merge. Fix issue #15899: Make the unicode.rst doctests pass. Patch by Chris

senthil.kumaran python-checkins at python.org
Tue Sep 11 12:20:33 CEST 2012


http://hg.python.org/cpython/rev/1d9e89f6abec
changeset:   78987:1d9e89f6abec
parent:      78985:d7ea7ec671ba
parent:      78986:8a40bc71c072
user:        Senthil Kumaran <senthil at uthcode.com>
date:        Tue Sep 11 03:20:22 2012 -0700
summary:
  merge.  Fix issue #15899: Make the unicode.rst doctests pass. Patch by Chris Jerdonek.

files:
  Doc/howto/unicode.rst |  27 +++++++++++++--------------
  1 files changed, 13 insertions(+), 14 deletions(-)


diff --git a/Doc/howto/unicode.rst b/Doc/howto/unicode.rst
--- a/Doc/howto/unicode.rst
+++ b/Doc/howto/unicode.rst
@@ -257,13 +257,13 @@
 'REPLACEMENT CHARACTER'), or 'ignore' (just leave the character out of the
 Unicode result).  The following examples show the differences::
 
-    >>> b'\x80abc'.decode("utf-8", "strict")
+    >>> b'\x80abc'.decode("utf-8", "strict")  #doctest: +NORMALIZE_WHITESPACE
     Traceback (most recent call last):
-      File "<stdin>", line 1, in ?
-    UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 in position 0:
-                        unexpected code byte
+        ...
+    UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0:
+      invalid start byte
     >>> b'\x80abc'.decode("utf-8", "replace")
-    '?abc'
+    '�abc'
     >>> b'\x80abc'.decode("utf-8", "ignore")
     'abc'
 
@@ -301,11 +301,11 @@
     >>> u = chr(40960) + 'abcd' + chr(1972)
     >>> u.encode('utf-8')
     b'\xea\x80\x80abcd\xde\xb4'
-    >>> u.encode('ascii')
+    >>> u.encode('ascii')  #doctest: +NORMALIZE_WHITESPACE
     Traceback (most recent call last):
-      File "<stdin>", line 1, in ?
+        ...
     UnicodeEncodeError: 'ascii' codec can't encode character '\ua000' in
-                        position 0: ordinal not in range(128)
+      position 0: ordinal not in range(128)
     >>> u.encode('ascii', 'ignore')
     b'abcd'
     >>> u.encode('ascii', 'replace')
@@ -331,12 +331,11 @@
 not four::
 
     >>> s = "a\xac\u1234\u20ac\U00008000"
-              ^^^^ two-digit hex escape
-                   ^^^^^ four-digit Unicode escape
-                              ^^^^^^^^^^ eight-digit Unicode escape
-    >>> for c in s:  print(ord(c), end=" ")
-    ...
-    97 172 4660 8364 32768
+    ... #     ^^^^ two-digit hex escape
+    ... #         ^^^^^^ four-digit Unicode escape
+    ... #                     ^^^^^^^^^^ eight-digit Unicode escape
+    >>> [ord(c) for c in s]
+    [97, 172, 4660, 8364, 32768]
 
 Using escape sequences for code points greater than 127 is fine in small doses,
 but becomes an annoyance if you're using many accented characters, as you would

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list