MCPcopy Index your code
hub / github.com/python/cpython / test_ascii

Method test_ascii

Lib/test/test_str.py:115–156  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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()

Callers

nothing calls this directly

Calls 7

assertTypedEqualMethod · 0.95
asciiFunction · 0.85
StrSubclassClass · 0.70
WithReprClass · 0.70
assertEqualMethod · 0.45
joinMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected