← baseline_full_v2

rich_3905

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

Task input

Update progress.py

Don't output extraneous blank line when progress display is disabled


<!--
Please note that Rich isn't accepting any new features at this point.

If a feature can be implemented without modifying the core library, then
they should be released as a third-party module. I can accept updates to the
core library that make it easier to extend (think hooks).

Bugfixes are always welcome of course.

Sometimes it is not clear what is a feature and what is a bug fix.
If there is any doubt, please open a discussion first.

-->

<!--
*Are you contributing typo fixes?*

If your PR solely consists of typos, at least one must be in the docs to warrant an addition to CONTRIBUTORS.md
-->

## Type of changes

- [x] Bug fix
- [ ] New feature
- [ ] Documentation / docstrings
- [ ] Tests
- [ ] Other

## AI?

- [ ] AI was used to generate this PR

AI generated PRs may be accepted, but only if @willmcgugan has responded on an issue or discussion.

## Checklist

- [x] I've run the latest [black](https://github.com/psf/black) with default args on new code.
- [x] I've updated CHANGELOG.md and CONTRIBUTORS.md where appropriate (see note about typos above).
- [x] I've added tests for new code.
- [x] I accept that @willmcgugan may be pedantic in the code review.

## Description

When creating a `Progress` with `disabled=True`, it still outputs a blank line on non interactive consoles. This PR adds an `if not self.disable` to the `stop` function, symmetrically to the `start` function.

**Important:** Link to an issue or discussion regarding these changes. 

https://github.com/Textualize/rich/issues/110

Tool calls (0)

#ToolArgumentsResult
No trace captured.

Test output

show
.................................F
=================================== FAILURES ===================================
____________ test_no_output_if_progress_is_disabled_non_interactive ____________

    def test_no_output_if_progress_is_disabled_non_interactive() -> None:
        console = Console(
            file=io.StringIO(),
            force_interactive=False,
            width=60,
            color_system="truecolor",
            legacy_windows=False,
            _environ={},
        )
        progress = Progress(
            console=console,
            disable=True,
        )
        test = ["foo", "bar", "baz"]
        expected_values = iter(test)
        with progress:
            for value in progress.track(test, description="test"):
                assert value == next(expected_values)
        result = console.file.getvalue()
        print(repr(result))
        expected = ""
>       assert result == expected
E       AssertionError: assert '\n' == ''
E         
E         Strings contain only whitespace, escaping them using repr()
E         - ''
E         + '\n'

tests/test_progress.py:589: AssertionError
----------------------------- Captured stdout call -----------------------------
'\n'
!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!
1 failed, 33 passed in 0.50s