← baseline_full_v2

rich_3061

failed NO_PATCH NO_PATCH UNSUBMITTED empty_patch(None) · None tool calls · 0 s · Textualize/rich

Task input

Extend tabs with styles

The `Text.extend_tabs` method was previously not taking in to account the spans.  Basically it would replace tabs with unstyled spaces. This resolves that issue by extending the style(s) on the tab to cover the new space characters

<img width="623" alt="Screenshot 2023-07-28 at 22 00 06" src="https://github.com/Textualize/rich/assets/554369/28c170a0-b154-4a81-af17-a8a334bebd3a">

Tool calls (0)

#ToolArgumentsResult
No trace captured.

Test output

show
.........F
=================================== FAILURES ===================================
_______________________________ test_render_size _______________________________

    def test_render_size():
        console = Console(width=63, height=46, legacy_windows=False)
        options = console.options.update_dimensions(80, 4)
        lines = console.render_lines(Panel("foo", title="Hello"), options=options)
        print(repr(lines))
        expected = [
            [
                Segment("╭─", Style()),
                Segment(
                    "────────────────────────────────── Hello ───────────────────────────────────"
                ),
                Segment("─╮", Style()),
            ],
            [
                Segment("│", Style()),
                Segment(" ", Style()),
                Segment("foo"),
                Segment(
                    "                                                                         ",
                    Style(),
                ),
                Segment(" ", Style()),
                Segment("│", Style()),
            ],
            [
                Segment("│", Style()),
                Segment(" ", Style()),
                Segment(
                    "                                                                            ",
                    Style(),
                ),
                Segment(" ", Style()),
                Segment("│", Style()),
            ],
            [
                Segment(
                    "╰──────────────────────────────────────────────────────────────────────────────╯",
                    Style(),
                )
            ],
        ]
>       assert lines == expected
E       AssertionError: assert [[Segment('╭─...╯', Style())]] == [[Segment('╭─...╯', Style())]]
E         
E         At index 0 diff: [Segment('╭─', Style()), Segment('──────────────────────────────────', Style()), Segment(' Hello ', Style()), Segment('───────────────────────────────────', Style()), Segment('─╮', Style())] != [Segment('╭─', Style()), Segment('────────────────────────────────── Hello ───────────────────────────────────'), Segment('─╮', Style())]
E         Use -v to get more diff

tests/test_panel.py:99: AssertionError
----------------------------- Captured stdout call -----------------------------
[[Segment('╭─', Style()), Segment('──────────────────────────────────', Style()), Segment(' Hello ', Style()), Segment('───────────────────────────────────', Style()), Segment('─╮', Style())], [Segment('│', Style()), Segment(' ', Style()), Segment('foo'), Segment('                                                                         ', Style()), Segment(' ', Style()), Segment('│', Style())], [Segment('│', Style()), Segment(' ', Style()), Segment('                                                                            ', Style()), Segment(' ', Style()), Segment('│', Style())], [Segment('╰──────────────────────────────────────────────────────────────────────────────╯', Style())]]
!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!
1 failed, 9 passed in 0.20s