MCPcopy
hub / github.com/Textualize/rich / test_track

Function test_track

tests/test_progress.py:280–306  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

278
279
280def test_track() -> None:
281 console = Console(
282 file=io.StringIO(),
283 force_terminal=True,
284 width=60,
285 color_system="truecolor",
286 legacy_windows=False,
287 _environ={},
288 )
289 test = ["foo", "bar", "baz"]
290 expected_values = iter(test)
291 for value in track(
292 test, "test", console=console, auto_refresh=False, get_time=MockClock(auto=True)
293 ):
294 assert value == next(expected_values)
295 result = console.file.getvalue()
296 print(repr(result))
297 expected = "\x1b[?25l\r\x1b[2Ktest \x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m 0%\x1b[0m \x1b[36m-:--:--\x1b[0m\r\x1b[2Ktest \x1b[38;2;249;38;114m━━━━━━━━━━━━━\x1b[0m\x1b[38;5;237m╺\x1b[0m\x1b[38;5;237m━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m 33%\x1b[0m \x1b[36m-:--:--\x1b[0m\r\x1b[2Ktest \x1b[38;2;249;38;114m━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m\x1b[38;2;249;38;114m╸\x1b[0m\x1b[38;5;237m━━━━━━━━━━━━━\x1b[0m \x1b[35m 67%\x1b[0m \x1b[36m0:00:06\x1b[0m\r\x1b[2Ktest \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m100%\x1b[0m \x1b[33m0:00:19\x1b[0m\r\x1b[2Ktest \x1b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m \x1b[35m100%\x1b[0m \x1b[33m0:00:19\x1b[0m\n\x1b[?25h"
298 print("--")
299 print("RESULT:")
300 print(result)
301 print(repr(result))
302 print("EXPECTED:")
303 print(expected)
304 print(repr(expected))
305
306 assert result == expected
307
308
309def test_progress_track() -> None:

Callers

nothing calls this directly

Calls 4

ConsoleClass · 0.90
trackFunction · 0.90
MockClockClass · 0.85
printFunction · 0.50

Tested by

no test coverage detected