failed NO_PATCH NO_PATCH UNSUBMITTED empty_patch(None) · None tool calls · 0 s · Textualize/rich
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 | Arguments | Result |
|---|---|---|---|
| No trace captured. | |||
.................................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