diff options
Diffstat (limited to 'gitlint-core/gitlint/tests/test_display.py')
-rw-r--r-- | gitlint-core/gitlint/tests/test_display.py | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/gitlint-core/gitlint/tests/test_display.py b/gitlint-core/gitlint/tests/test_display.py new file mode 100644 index 0000000..e669cdb --- /dev/null +++ b/gitlint-core/gitlint/tests/test_display.py @@ -0,0 +1,60 @@ +from io import StringIO +from unittest.mock import patch + +from gitlint.config import LintConfig +from gitlint.display import Display +from gitlint.tests.base import BaseTestCase + + +class DisplayTests(BaseTestCase): + def test_v(self): + display = Display(LintConfig()) + display.config.verbosity = 2 + + with patch("gitlint.display.stderr", new=StringIO()) as stderr: + # Non exact outputting, should output both v and vv output + with patch("gitlint.display.stdout", new=StringIO()) as stdout: + display.v("tëst") + display.vv("tëst2") + # vvvv should be ignored regardless + display.vvv("tëst3.1") + display.vvv("tëst3.2", exact=True) + self.assertEqual("tëst\ntëst2\n", stdout.getvalue()) + + # exact outputting, should only output v + with patch("gitlint.display.stdout", new=StringIO()) as stdout: + display.v("tëst", exact=True) + display.vv("tëst2", exact=True) + # vvvv should be ignored regardless + display.vvv("tëst3.1") + display.vvv("tëst3.2", exact=True) + self.assertEqual("tëst2\n", stdout.getvalue()) + + # standard error should be empty throughout all of this + self.assertEqual("", stderr.getvalue()) + + def test_e(self): + display = Display(LintConfig()) + display.config.verbosity = 2 + + with patch("gitlint.display.stdout", new=StringIO()) as stdout: + # Non exact outputting, should output both v and vv output + with patch("gitlint.display.stderr", new=StringIO()) as stderr: + display.e("tëst") + display.ee("tëst2") + # vvvv should be ignored regardless + display.eee("tëst3.1") + display.eee("tëst3.2", exact=True) + self.assertEqual("tëst\ntëst2\n", stderr.getvalue()) + + # exact outputting, should only output v + with patch("gitlint.display.stderr", new=StringIO()) as stderr: + display.e("tëst", exact=True) + display.ee("tëst2", exact=True) + # vvvv should be ignored regardless + display.eee("tëst3.1") + display.eee("tëst3.2", exact=True) + self.assertEqual("tëst2\n", stderr.getvalue()) + + # standard output should be empty throughout all of this + self.assertEqual("", stdout.getvalue()) |