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

Function test_divide

tests/test_text.py:406–446  ·  tests/test_text.py::test_divide
()

Source from the content-addressed store, hash-verified

404
405
406def test_divide():
407 lines = Text(class="st">"foo").divide([])
408 assert len(lines) == 1
409 assert lines[0] == Text(class="st">"foo")
410
411 text = Text()
412 text.append(class="st">"foo", class="st">"bold")
413 lines = text.divide([1, 2])
414 assert len(lines) == 3
415 assert str(lines[0]) == class="st">"f"
416 assert str(lines[1]) == class="st">"o"
417 assert str(lines[2]) == class="st">"o"
418 assert lines[0]._spans == [Span(0, 1, class="st">"bold")]
419 assert lines[1]._spans == [Span(0, 1, class="st">"bold")]
420 assert lines[2]._spans == [Span(0, 1, class="st">"bold")]
421
422 text = Text()
423 text.append(class="st">"foo", class="st">"red")
424 text.append(class="st">"bar", class="st">"green")
425 text.append(class="st">"baz", class="st">"blue")
426 lines = text.divide([8])
427 assert len(lines) == 2
428 assert str(lines[0]) == class="st">"foobarba"
429 assert str(lines[1]) == class="st">"z"
430 assert lines[0]._spans == [
431 Span(0, 3, class="st">"red"),
432 Span(3, 6, class="st">"green"),
433 Span(6, 8, class="st">"blue"),
434 ]
435 assert lines[1]._spans == [Span(0, 1, class="st">"blue")]
436
437 lines = text.divide([1])
438 assert len(lines) == 2
439 assert str(lines[0]) == class="st">"f"
440 assert str(lines[1]) == class="st">"oobarbaz"
441 assert lines[0]._spans == [Span(0, 1, class="st">"red")]
442 assert lines[1]._spans == [
443 Span(0, 2, class="st">"red"),
444 Span(2, 5, class="st">"green"),
445 Span(5, 8, class="st">"blue"),
446 ]
447
448
449def test_right_crop():

Callers

nothing calls this directly

Calls 4

divideMethod · 0.95
appendMethod · 0.95
TextClass · 0.90
SpanClass · 0.90

Tested by

no test coverage detected