From 74b1758bb138355d5036631d8c92e7b0871339b2 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Wed, 26 Apr 2023 21:51:28 -0400 Subject: test: refactor and add a test of terminal link text --- tests/test_misc.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/test_misc.py b/tests/test_misc.py index ba465cbd..455a3bc1 100644 --- a/tests/test_misc.py +++ b/tests/test_misc.py @@ -6,13 +6,14 @@ from __future__ import annotations import sys +from unittest import mock import pytest from coverage.exceptions import CoverageException from coverage.misc import file_be_gone from coverage.misc import Hasher, substitute_variables, import_third_party -from coverage.misc import human_sorted, human_sorted_items +from coverage.misc import human_sorted, human_sorted_items, stdout_link from tests.coveragetest import CoverageTest @@ -153,3 +154,14 @@ def test_human_sorted_items(words: str, ordered: str) -> None: oitems = [(k, v) for k in okeys for v in [1, 2]] assert human_sorted_items(items) == oitems assert human_sorted_items(items, reverse=True) == oitems[::-1] + + +def test_stdout_link_tty() -> None: + with mock.patch.object(sys.stdout, "isatty", lambda:True): + link = stdout_link("some text", "some url") + assert link == "\033]8;;some url\asome text\033]8;;\a" + + +def test_stdout_link_not_tty() -> None: + # Without mocking isatty, it reports False in a pytest suite. + assert stdout_link("some text", "some url") == "some text" -- cgit v1.2.1