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

Method test_prompt_length

Lib/test/test_pyrepl/test_reader.py:272–301  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

270 self.fail("KeyboardInterrupt not raised.")
271
272 def test_prompt_length(self):
273 # Handles simple ASCII prompt
274 ps1 = ">>> "
275 prompt, l = Reader.process_prompt(ps1)
276 self.assertEqual(prompt, ps1)
277 self.assertEqual(l, 4)
278
279 # Handles ANSI escape sequences
280 ps1 = "\033[0;32m>>> \033[0m"
281 prompt, l = Reader.process_prompt(ps1)
282 self.assertEqual(prompt, "\033[0;32m>>> \033[0m")
283 self.assertEqual(l, 4)
284
285 # Handles ANSI escape sequences bracketed in \001 .. \002
286 ps1 = "\001\033[0;32m\002>>> \001\033[0m\002"
287 prompt, l = Reader.process_prompt(ps1)
288 self.assertEqual(prompt, "\033[0;32m>>> \033[0m")
289 self.assertEqual(l, 4)
290
291 # Handles wide characters in prompt
292 ps1 = "樂>> "
293 prompt, l = Reader.process_prompt(ps1)
294 self.assertEqual(prompt, ps1)
295 self.assertEqual(l, 5)
296
297 # Handles wide characters AND ANSI sequences together
298 ps1 = "\001\033[0;32m\002樂>\001\033[0m\002> "
299 prompt, l = Reader.process_prompt(ps1)
300 self.assertEqual(prompt, "\033[0;32m樂>\033[0m> ")
301 self.assertEqual(l, 5)
302
303 def test_completions_updated_on_key_press(self):
304 namespace = {"itertools": itertools}

Callers

nothing calls this directly

Calls 2

process_promptMethod · 0.80
assertEqualMethod · 0.45

Tested by

no test coverage detected