From 90e7142b5c8dd3ec9896e5308ea2e81a2d77d31d Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Sat, 29 Oct 2016 10:55:57 +1300 Subject: addons.View: better order reversal Deal with some subtleties in order reversal, add a toggle method that emits refresh. --- test/mitmproxy/addons/test_view.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/mitmproxy/addons/test_view.py b/test/mitmproxy/addons/test_view.py index 527464ad..1ab7e8f4 100644 --- a/test/mitmproxy/addons/test_view.py +++ b/test/mitmproxy/addons/test_view.py @@ -62,16 +62,33 @@ def test_order(): v.set_order(view.key_request_method) assert [i.request.method for i in v] == ["GET", "GET", "PUT", "PUT"] - v.order_reverse = True + v.toggle_reversed() assert [i.request.method for i in v] == ["PUT", "PUT", "GET", "GET"] v.set_order(view.key_request_start) assert [i.request.timestamp_start for i in v] == [4, 3, 2, 1] - v.order_reverse = False + v.toggle_reversed() assert [i.request.timestamp_start for i in v] == [1, 2, 3, 4] +def test_reversed(): + v = view.View() + v.request(tft(start=1)) + v.request(tft(start=2)) + v.request(tft(start=3)) + v.toggle_reversed() + + assert v[0].request.timestamp_start == 3 + assert v[-1].request.timestamp_start == 1 + assert v[2].request.timestamp_start == 1 + tutils.raises(IndexError, v.__getitem__, 5) + tutils.raises(IndexError, v.__getitem__, -5) + + assert v.bisect(v[0]) == 1 + assert v.bisect(v[2]) == 3 + + def test_update(): v = view.View() flt = flowfilter.parse("~m get") -- cgit v1.2.3