1.1 --- a/tests/unicode.py Tue Dec 13 22:46:52 2016 +0100
1.2 +++ b/tests/unicode.py Tue Dec 13 22:48:28 2016 +0100
1.3 @@ -14,35 +14,56 @@
1.4 u = unicode("æøå", "ISO-8859-1")
1.5 print u # æøå
1.6 print u.encode("ISO-8859-1") # æøå
1.7 +print u.encoding # ISO-8859-1
1.8
1.9 # Explicitly from Unicode literals.
1.10
1.11 u2 = u"æøå"
1.12 print u2 # æøå
1.13 print u2.encode("ISO-8859-1") # æøå
1.14 +print u2.encoding # ISO-8859-1
1.15
1.16 # Implicitly from string literals.
1.17
1.18 #u3 = "æøå"
1.19 #print u3 # æøå
1.20 #print u3.encode("ISO-8859-1") # æøå
1.21 +#print u3.encoding # ISO-8859-1
1.22
1.23 # Combine bytes and text.
1.24 # The text should be decoded.
1.25
1.26 su = s + u
1.27 print su # ÆØÅæøå
1.28 +print su.__class__ # __builtins__.str.string
1.29
1.30 # Combine text and bytes.
1.31 # The text should be decoded.
1.32
1.33 us = u + s
1.34 print us # æøåÆØÅ
1.35 +print us.__class__ # __builtins__.str.string
1.36 +
1.37 +# Combine text and text.
1.38 +
1.39 +uu2 = u + u2
1.40 +print uu2 # æøå
1.41 +print uu2.__class__ # __builtins__.unicode.utf8string
1.42 +print uu2.encoding # ISO-8859-1
1.43
1.44 # Inspect and update the encoding of stdout.
1.45 +# Note that su and us are byte strings and are not recoded.
1.46
1.47 print sys.stdout.encoding # None
1.48 +
1.49 sys.stdout.encoding = "ISO-8859-1"
1.50 +print sys.stdout.encoding # ISO-8859-1
1.51 print u # æøå
1.52 print su # ÆØÅæøå
1.53 print us # æøåÆØÅ
1.54 +
1.55 +sys.stdout.encoding = "UTF-8"
1.56 +print sys.stdout.encoding # UTF-8
1.57 +print u # æøå
1.58 +print su # ÆØÅæøå
1.59 +print us # æøåÆØÅ