From d151c6c32230f71146b3b1215fc2b41a4e9e880d Mon Sep 17 00:00:00 2001 From: Miroslav Date: Thu, 1 Mar 2018 01:18:05 +0200 Subject: Initial tests. New conditions. --- test/mitmproxy/tools/console/test_statusbar.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'test') diff --git a/test/mitmproxy/tools/console/test_statusbar.py b/test/mitmproxy/tools/console/test_statusbar.py index db8a63a7..22bb761f 100644 --- a/test/mitmproxy/tools/console/test_statusbar.py +++ b/test/mitmproxy/tools/console/test_statusbar.py @@ -1,6 +1,8 @@ from mitmproxy import options from mitmproxy.tools.console import statusbar, master +from unittest import mock + def test_statusbar(monkeypatch): o = options.Options() @@ -31,3 +33,26 @@ def test_statusbar(monkeypatch): bar = statusbar.StatusBar(m) # this already causes a redraw assert bar.ib._w + + +def test_prep_message(): + o = options.Options() + m = master.ConsoleMaster(o) + m.ui = mock.MagicMock() + m.ui.get_cols_rows = mock.MagicMock(return_value=(50, 50)) + ab = statusbar.ActionBar(m) + + prep_msg = ab.prep_message("Error: Fits into statusbar") + assert prep_msg == [(None, "Error: Fits into statusbar"), ("warn", "")] + + prep_msg = ab.prep_message("Error: Doesn't fit into statusbar"*2) + assert prep_msg == [(None, "Error: Doesn't fit into statu..."), + ("warn", "(more in eventlog)")] + + prep_msg = ab.prep_message("Error: Two lines.\nFirst fits") + assert prep_msg == [(None, "Error: Two lines."), + ("warn", "(more in eventlog)")] + + prep_msg = ab.prep_message("Error: Two lines"*4 + "\nFirst doensn't fit") + assert prep_msg == [(None, "Error: Two linesError: Two li..."), + ("warn", "(more in eventlog)")] -- cgit v1.2.3 From 0dcdb6c3cc54eb11d8af55157c1910acddfa7d00 Mon Sep 17 00:00:00 2001 From: Miroslav Date: Fri, 2 Mar 2018 23:40:58 +0200 Subject: Finalization of tests. Conditions rewritten again. --- test/mitmproxy/tools/console/test_statusbar.py | 42 ++++++++++++++------------ 1 file changed, 23 insertions(+), 19 deletions(-) (limited to 'test') diff --git a/test/mitmproxy/tools/console/test_statusbar.py b/test/mitmproxy/tools/console/test_statusbar.py index 22bb761f..7b991890 100644 --- a/test/mitmproxy/tools/console/test_statusbar.py +++ b/test/mitmproxy/tools/console/test_statusbar.py @@ -1,6 +1,7 @@ +import pytest + from mitmproxy import options from mitmproxy.tools.console import statusbar, master - from unittest import mock @@ -35,24 +36,27 @@ def test_statusbar(monkeypatch): assert bar.ib._w -def test_prep_message(): - o = options.Options() - m = master.ConsoleMaster(o) - m.ui = mock.MagicMock() - m.ui.get_cols_rows = mock.MagicMock(return_value=(50, 50)) +@pytest.mark.parametrize("message,ready_message", [ + ("", [(None, ""), ("warn", "")]), + (("info", "Line fits into statusbar"), [("info", "Line fits into statusbar"), + ("warn", "")]), + ("Line doesn't fit into statusbar", [(None, "Line does..."), + ("warn", "(more in eventlog)")]), + (("alert", "Two lines.\nFirst fits"), [("alert", "Two lines."), + ("warn", "(more in eventlog)")]), + ("Two long lines\nFirst doesn't fit", [(None, "Two long ..."), + ("warn", "(more in eventlog)")]) +]) +def test_prep_message(message, ready_message): + m = mock.Mock() + m.ui.get_cols_rows.return_value = (30, 30) ab = statusbar.ActionBar(m) + assert ab.prep_message(message) == ready_message - prep_msg = ab.prep_message("Error: Fits into statusbar") - assert prep_msg == [(None, "Error: Fits into statusbar"), ("warn", "")] - prep_msg = ab.prep_message("Error: Doesn't fit into statusbar"*2) - assert prep_msg == [(None, "Error: Doesn't fit into statu..."), - ("warn", "(more in eventlog)")] - - prep_msg = ab.prep_message("Error: Two lines.\nFirst fits") - assert prep_msg == [(None, "Error: Two lines."), - ("warn", "(more in eventlog)")] - - prep_msg = ab.prep_message("Error: Two lines"*4 + "\nFirst doensn't fit") - assert prep_msg == [(None, "Error: Two linesError: Two li..."), - ("warn", "(more in eventlog)")] +def test_prep_message_narrow(): + m = mock.Mock() + m.ui.get_cols_rows.return_value = (4, 4) + ab = statusbar.ActionBar(m) + prep_msg = ab.prep_message("error") + assert prep_msg == [(None, "..."), ("warn", "(more in eventlog)")] -- cgit v1.2.3 From 237320a539c90411bcc27a40a6ae30fb800cda16 Mon Sep 17 00:00:00 2001 From: Miroslav Date: Sat, 3 Mar 2018 22:12:56 +0200 Subject: Minor fixes. Renaming prep_message method to shorten_message. Docstring. \u2026 instead of .... max_width parameter. --- test/mitmproxy/tools/console/test_statusbar.py | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'test') diff --git a/test/mitmproxy/tools/console/test_statusbar.py b/test/mitmproxy/tools/console/test_statusbar.py index 7b991890..108f238e 100644 --- a/test/mitmproxy/tools/console/test_statusbar.py +++ b/test/mitmproxy/tools/console/test_statusbar.py @@ -2,7 +2,6 @@ import pytest from mitmproxy import options from mitmproxy.tools.console import statusbar, master -from unittest import mock def test_statusbar(monkeypatch): @@ -40,23 +39,23 @@ def test_statusbar(monkeypatch): ("", [(None, ""), ("warn", "")]), (("info", "Line fits into statusbar"), [("info", "Line fits into statusbar"), ("warn", "")]), - ("Line doesn't fit into statusbar", [(None, "Line does..."), + ("Line doesn't fit into statusbar", [(None, "Line doesn'\u2026"), ("warn", "(more in eventlog)")]), (("alert", "Two lines.\nFirst fits"), [("alert", "Two lines."), ("warn", "(more in eventlog)")]), - ("Two long lines\nFirst doesn't fit", [(None, "Two long ..."), + ("Two long lines\nFirst doesn't fit", [(None, "Two long li\u2026"), ("warn", "(more in eventlog)")]) ]) -def test_prep_message(message, ready_message): - m = mock.Mock() - m.ui.get_cols_rows.return_value = (30, 30) +def test_shorten_message(message, ready_message): + o = options.Options() + m = master.ConsoleMaster(o) ab = statusbar.ActionBar(m) - assert ab.prep_message(message) == ready_message + assert ab.shorten_message(message, max_width=30) == ready_message -def test_prep_message_narrow(): - m = mock.Mock() - m.ui.get_cols_rows.return_value = (4, 4) +def test_shorten_message_narrow(): + o = options.Options() + m = master.ConsoleMaster(o) ab = statusbar.ActionBar(m) - prep_msg = ab.prep_message("error") - assert prep_msg == [(None, "..."), ("warn", "(more in eventlog)")] + shorten_msg = ab.shorten_message("error", max_width=4) + assert shorten_msg == [(None, "\u2026"), ("warn", "(more in eventlog)")] -- cgit v1.2.3