diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-14 20:18:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-14 20:18:28 +0000 |
commit | f8363b456f1ab31ee56abad579b215af195093d5 (patch) | |
tree | b1500c675c2e0a55fb75721a854e1510acf7c862 /tests/test_card.py | |
parent | Initial commit. (diff) | |
download | rich-f8363b456f1ab31ee56abad579b215af195093d5.tar.xz rich-f8363b456f1ab31ee56abad579b215af195093d5.zip |
Adding upstream version 9.11.0.upstream/9.11.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/test_card.py')
-rw-r--r-- | tests/test_card.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/test_card.py b/tests/test_card.py new file mode 100644 index 0000000..9f167b9 --- /dev/null +++ b/tests/test_card.py @@ -0,0 +1,40 @@ +import io +import re + +from rich.console import Console, RenderableType +from rich.__main__ import make_test_card + +from ._card_render import expected + +re_link_ids = re.compile(r"id=[\d\.\-]*?;.*?\x1b") + + +def replace_link_ids(render: str) -> str: + """Link IDs have a random ID and system path which is a problem for + reproducible tests. + + """ + return re_link_ids.sub("id=0;foo\x1b", render) + + +def render(renderable: RenderableType) -> str: + console = Console( + width=100, file=io.StringIO(), color_system="truecolor", legacy_windows=False + ) + console.print(renderable) + output = replace_link_ids(console.file.getvalue()) + return output + + +def test_card_render(): + card = make_test_card() + result = render(card) + assert result == expected + + +if __name__ == "__main__": + card = make_test_card() + with open("_card_render.py", "wt") as fh: + card_render = render(card) + print(card_render) + fh.write(f"expected={card_render!r}") |