(self)
| 113 | self.assertNotEqual(r"\u0020", " ") |
| 114 | |
| 115 | def test_ascii(self): |
| 116 | self.assertEqual(ascii('abc'), "'abc'") |
| 117 | self.assertEqual(ascii('ab\\c'), "'ab\\\\c'") |
| 118 | self.assertEqual(ascii('ab\\'), "'ab\\\\'") |
| 119 | self.assertEqual(ascii('\\c'), "'\\\\c'") |
| 120 | self.assertEqual(ascii('\\'), "'\\\\'") |
| 121 | self.assertEqual(ascii('\n'), "'\\n'") |
| 122 | self.assertEqual(ascii('\r'), "'\\r'") |
| 123 | self.assertEqual(ascii('\t'), "'\\t'") |
| 124 | self.assertEqual(ascii('\b'), "'\\x08'") |
| 125 | self.assertEqual(ascii("'\""), """'\\'"'""") |
| 126 | self.assertEqual(ascii("'\""), """'\\'"'""") |
| 127 | self.assertEqual(ascii("'"), '''"'"''') |
| 128 | self.assertEqual(ascii('"'), """'"'""") |
| 129 | latin1repr = ( |
| 130 | "'\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0b\\x0c\\r" |
| 131 | "\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a" |
| 132 | "\\x1b\\x1c\\x1d\\x1e\\x1f !\"#$%&\\'()*+,-./0123456789:;<=>?@ABCDEFGHI" |
| 133 | "JKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\\x7f" |
| 134 | "\\x80\\x81\\x82\\x83\\x84\\x85\\x86\\x87\\x88\\x89\\x8a\\x8b\\x8c\\x8d" |
| 135 | "\\x8e\\x8f\\x90\\x91\\x92\\x93\\x94\\x95\\x96\\x97\\x98\\x99\\x9a\\x9b" |
| 136 | "\\x9c\\x9d\\x9e\\x9f\\xa0\\xa1\\xa2\\xa3\\xa4\\xa5\\xa6\\xa7\\xa8\\xa9" |
| 137 | "\\xaa\\xab\\xac\\xad\\xae\\xaf\\xb0\\xb1\\xb2\\xb3\\xb4\\xb5\\xb6\\xb7" |
| 138 | "\\xb8\\xb9\\xba\\xbb\\xbc\\xbd\\xbe\\xbf\\xc0\\xc1\\xc2\\xc3\\xc4\\xc5" |
| 139 | "\\xc6\\xc7\\xc8\\xc9\\xca\\xcb\\xcc\\xcd\\xce\\xcf\\xd0\\xd1\\xd2\\xd3" |
| 140 | "\\xd4\\xd5\\xd6\\xd7\\xd8\\xd9\\xda\\xdb\\xdc\\xdd\\xde\\xdf\\xe0\\xe1" |
| 141 | "\\xe2\\xe3\\xe4\\xe5\\xe6\\xe7\\xe8\\xe9\\xea\\xeb\\xec\\xed\\xee\\xef" |
| 142 | "\\xf0\\xf1\\xf2\\xf3\\xf4\\xf5\\xf6\\xf7\\xf8\\xf9\\xfa\\xfb\\xfc\\xfd" |
| 143 | "\\xfe\\xff'") |
| 144 | testrepr = ascii(''.join(map(chr, range(256)))) |
| 145 | self.assertEqual(testrepr, latin1repr) |
| 146 | # Test ascii works on wide unicode escapes without overflow. |
| 147 | self.assertEqual(ascii("\U00010000" * 39 + "\uffff" * 4096), |
| 148 | ascii("\U00010000" * 39 + "\uffff" * 4096)) |
| 149 | |
| 150 | self.assertTypedEqual(ascii('\U0001f40d'), r"'\U0001f40d'") |
| 151 | self.assertTypedEqual(ascii(StrSubclass('abc')), "'abc'") |
| 152 | self.assertTypedEqual(ascii(WithRepr('<abc>')), '<abc>') |
| 153 | self.assertTypedEqual(ascii(WithRepr(StrSubclass('<abc>'))), StrSubclass('<abc>')) |
| 154 | self.assertTypedEqual(ascii(WithRepr('<\U0001f40d>')), r'<\U0001f40d>') |
| 155 | self.assertTypedEqual(ascii(WithRepr(StrSubclass('<\U0001f40d>'))), r'<\U0001f40d>') |
| 156 | self.assertRaises(TypeError, ascii, WithRepr(b'byte-repr')) |
| 157 | |
| 158 | def test_repr(self): |
| 159 | # Test basic sanity of repr() |
nothing calls this directly
no test coverage detected