Example #1
0
 def test_multiple_plugins_all(self):
     plugins = [self.SamplePlugin(True), self.SamplePlugin(True), self.SamplePlugin(True)]
     menu = Termenu(OPTIONS, height=4, plugins=plugins)
     assert strmenu(menu) == "(01) 02 03 04"
     menu._on_key("down")
     assert strmenu(menu) == "01 (02) 03 04"
     assert [p.ran for p in plugins] == [True, True, True]
Example #2
0
 def test_multiple(self):
     menu = Termenu(zip(OPTIONS, RESULTS), height=4)
     assert strmenu(menu) == "(01) 02 03 04"
     menu._on_space()
     menu._on_space()
     assert strmenu(menu) == "01 02 (03) 04"
     assert menu.get_result() == ["result-01", "result-02"]
Example #3
0
 def test_multiple_plugins_no_call_prev(self):
     plugins = [self.SamplePlugin(False), self.SamplePlugin(False), self.SamplePlugin(False)]
     menu = Termenu(OPTIONS, height=4, plugins=plugins)
     assert strmenu(menu) == "(01) 02 03 04"
     menu._on_key("down")
     assert strmenu(menu) == "(01) 02 03 04"
     assert [p.ran for p in plugins] == [False, False, True]
Example #4
0
 def test_single(self):
     menu = Termenu(zip(OPTIONS, RESULTS), height=4)
     assert strmenu(menu) == "(01) 02 03 04"
     menu._on_down()
     menu._on_down()
     assert strmenu(menu) == "01 02 (03) 04"
     assert menu.get_result() == ["result-03"]
Example #5
0
 def test_esc(self):
     menu = Termenu("one two three four five six seven".split(), height=4, plugins=[FilterPlugin()])
     assert strmenu(menu) == "(one) two three four"
     menu._on_key("e")
     menu._on_key("n")
     assert strmenu(menu) == "(seven)"
     menu._on_key("esc")
     assert strmenu(menu) == "(one) two three four"
Example #6
0
 def test_select(self):
     menu = Termenu(OPTIONS, height=4)
     assert strmenu(menu) == "(01) 02 03 04"
     menu._on_space()
     menu._on_space()
     assert strmenu(menu) == "01 02 (03) 04"
     assert " ".join(menu.get_result()) == "01 02"
     assert " ".join(menu.get_result()) == "01 02"
Example #7
0
 def test_backspace(self):
     menu = Termenu("one two three four five six seven".split(), height=4, plugins=[FilterPlugin()])
     assert strmenu(menu) == "(one) two three four"
     menu._on_key("e")
     assert strmenu(menu) == "(one) three five seven"
     menu._on_key("n")
     assert strmenu(menu) == "(seven)"
     menu._on_key("backspace")
     assert strmenu(menu) == "(one) three five seven"
     menu._on_key("backspace")
     assert strmenu(menu) == "(one) two three four"
Example #8
0
 def test_scroll_bottom_cursor_top(self):
     menu = Termenu(OPTIONS, height=3)
     menu.scroll = len(OPTIONS) - 3
     menu.cursor = 0
     assert strmenu(menu) == "(97) 98 99"
     menu._on_up()
     assert strmenu(menu) == "(96) 97 98"
Example #9
0
 def test_scroll_bottom_cursor_bottom(self):
     menu = Termenu(OPTIONS, height=4)
     menu.scroll = len(OPTIONS) - 4
     menu.cursor = 3
     assert strmenu(menu) == "96 97 98 (99)"
     menu._on_pageDown()
     assert strmenu(menu) == "96 97 98 (99)"
Example #10
0
 def test_scroll_bottom_cursor_bottom(self):
     menu = Termenu(OPTIONS, height=3)
     menu.scroll = len(OPTIONS) - 3
     menu.cursor = 2
     assert strmenu(menu) == "97 98 (99)"
     menu._on_down()
     assert strmenu(menu) == "97 98 (99)"
Example #11
0
 def test_cursor_middle(self):
     menu = Termenu(OPTIONS, height=3)
     menu.cursor = 1
     assert strmenu(menu) == "01 (02) 03"
     menu._on_up()
     assert strmenu(menu) == "(01) 02 03"
Example #12
0
 def test_cursor_top(self):
     menu = Termenu(OPTIONS, height=3)
     menu.cursor = 0
     assert strmenu(menu) == "(01) 02 03"
     menu._on_up()
     assert strmenu(menu) == "(01) 02 03"
Example #13
0
 def test_cursor_middle(self):
     menu = Termenu(OPTIONS, height=3)
     menu.cursor = 1
     assert strmenu(menu) == "01 (02) 03"
     menu._on_down()
     assert strmenu(menu) == "01 02 (03)"
Example #14
0
 def test_off(self):
     menu = Termenu(OPTIONS, height=4, multiselect=False)
     assert strmenu(menu) == "(01) 02 03 04"
     menu._on_space()
     assert strmenu(menu) == "(01) 02 03 04"
     assert menu.get_result() == "01"
Example #15
0
 def test_cursor_bottom(self):
     menu = Termenu(OPTIONS, height=3)
     menu.cursor = 2
     assert strmenu(menu) == "01 02 (03)"
     menu._on_down()
     assert strmenu(menu) == "02 03 (04)"
Example #16
0
 def test_case_insensitive(self):
     menu = Termenu("ONE TWO THREE FOUR FIVE SIX SEVEN".split(), height=4, plugins=[FilterPlugin()])
     menu._on_key("e")
     assert strmenu(menu) == "(ONE) THREE FIVE SEVEN"
Example #17
0
 def test_active_selected(self):
     menu = Termenu(OPTIONS, height=4)
     assert menu._decorate("text", active=True, selected=True) == "*" + active_selected("text") + "  "
Example #18
0
 def test_active(self):
     menu = Termenu(OPTIONS, height=4)
     assert menu._decorate("text", active=True) == " " + active("text") + "  "
Example #19
0
 def test_cursor_bottom(self):
     menu = Termenu(OPTIONS, height=4)
     menu.cursor = 3
     assert strmenu(menu) == "01 02 03 (04)"
     menu._on_pageDown()
     assert strmenu(menu) == "05 06 07 (08)"
Example #20
0
 def test_more_below(self):
     menu = Termenu(OPTIONS, height=4)
     assert menu._decorate("text", active=True, selected=True, moreBelow=True) == "*" + active_selected("text") + " " + white("v")
Example #21
0
 def test_cursor_top(self):
     menu = Termenu(OPTIONS, height=4)
     assert strmenu(menu) == "(01) 02 03 04"
     menu._on_pageDown()
     assert strmenu(menu) == "01 02 03 (04)"
Example #22
0
 def test_selected(self):
     menu = Termenu(OPTIONS, height=4)
     menu._on_down()
     menu._on_space()
     menu._on_space()
     assert [menu._decorate_flags(i)["selected"] for i in range(4)] == [False, True, True, False]
Example #23
0
 def test_active(self):
     menu = Termenu(OPTIONS, height=4)
     assert [menu._decorate_flags(i)["active"] for i in range(4)] == [True, False, False, False]
Example #24
0
 def test_cursor_bottom(self):
     menu = Termenu(OPTIONS, height=3)
     menu.cursor = 2
     assert strmenu(menu) == "01 02 (03)"
     menu._on_up()
     assert strmenu(menu) == "01 (02) 03"
Example #25
0
 def test_filter(self):
     menu = Termenu(OPTIONS, height=4, plugins=[FilterPlugin()])
     menu._on_key("4")
     assert strmenu(menu) == "(04) 14 24 34"
Example #26
0
 def test_more_above_one(self):
     menu = Termenu(OPTIONS, height=4)
     menu.scroll = 1
     assert [menu._decorate_flags(i)["moreAbove"] for i in range(4)] == [True, False, False, False]
Example #27
0
 def test_max_opti_on_len(self):
     menu = Termenu("one three fifteen twenty eleven".split(), height=4)
     assert menu._decorate("three", active=True, selected=True) == "*" + active_selected("three") + "  "
Example #28
0
 def test_cursor_middle(self):
     menu = Termenu(OPTIONS, height=4)
     menu.cursor = 1
     assert strmenu(menu) == "01 (02) 03 04"
     menu._on_pageDown()
     assert strmenu(menu) == "01 02 03 (04)"
Example #29
0
 def test_more_below_one(self):
     menu = Termenu(OPTIONS, height=4)
     assert [menu._decorate_flags(i)["moreBelow"] for i in range(4)] == [False, False, False, True]
Example #30
0
 def test_more_below_none(self):
     menu = Termenu(OPTIONS, height=4)
     menu.scroll = len(OPTIONS) - 4
     assert [menu._decorate_flags(i)["moreBelow"] for i in range(4)] == [False, False, False, False]
Example #31
0
 def test_multiple_empty_list(self):
     menu = Termenu(OPTIONS, height=4, default=[])
     assert strmenu(menu) == "(01) 02 03 04"
     assert " ".join(menu.get_result()) == "01"