summaryrefslogtreecommitdiffstats
path: root/gitlint-core/gitlint/tests/test_display.py
diff options
context:
space:
mode:
Diffstat (limited to 'gitlint-core/gitlint/tests/test_display.py')
-rw-r--r--gitlint-core/gitlint/tests/test_display.py60
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())