pycontribs / enrich

Enrich adds few missing features to the wonderful rich library.
MIT License
32 stars 11 forks source link

test_rich_console_ex fails with rich 12.5.1 #40

Open Chedi opened 2 years ago

Chedi commented 2 years ago

The following test (test_rich_console_ex) fails with:

======================================================================== src/enrich/test/test_console.py::test_rich_console_ex

____ test_rich_consoleex ____

def test_rich_console_ex() -> None: """Validate that ConsoleEx can capture output from print() calls.""" console = Console(record=True, redirect=True) console.print("alpha") print("beta") sys.stdout.write("gamma\n") sys.stderr.write("delta\n")

While not supposed to happen we want to be sure that this will not raise

    # an exception. Some libraries may still sometimes send bytes to the
    # streams, notable example being click.
    # sys.stdout.write(b"epsilon\n")  # type: ignore
    text = console.export_text()

   assert text == "alpha\nbeta\ngamma\ndelta\n"

E AssertionError: assert 'alpha\nbeta...elta\ndelta\n' == 'alpha\nbeta\ngamma\ndelta\n' E alpha E beta E + beta E + gamma E gamma E delta E + delta

src/enrich/test/test_console.py:23: AssertionError ----------------------------- Captured stdout call ----------------------------- alpha beta gamma delta

========================================================================

ssbarnea commented 2 years ago

A PR would have being quite useful here.

ssbarnea commented 2 years ago

This is caused by https://github.com/Textualize/rich/issues/2172 and we will need to update the code to address this.

tinvaan commented 1 year ago

This is caused by Textualize/rich#2172 and we will need to update the code to address this.

Just opened an upstream PR, fyi.