예제 #1
0
파일: test.py 프로젝트: koreno/termenu
 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]
예제 #2
0
파일: test.py 프로젝트: weka/termenu
 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"]
예제 #3
0
파일: test.py 프로젝트: koreno/termenu
 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)"
예제 #4
0
파일: test.py 프로젝트: koreno/termenu
 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"
예제 #5
0
파일: test.py 프로젝트: weka/termenu
 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"]
예제 #6
0
파일: test.py 프로젝트: koreno/termenu
 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"]
예제 #7
0
파일: test.py 프로젝트: koreno/termenu
 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"]
예제 #8
0
파일: test.py 프로젝트: koreno/termenu
 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]
예제 #9
0
파일: test.py 프로젝트: koreno/termenu
 def test_scroll_almost_bottom_cursor_bottom(self):
     menu = Termenu(OPTIONS, height=4)
     menu.scroll = len(OPTIONS) - 5
     menu.cursor = 3
     assert strmenu(menu) == "95 96 97 (98)"
     menu._on_pageDown()
     assert strmenu(menu) == "96 97 98 (99)"
예제 #10
0
파일: test.py 프로젝트: koreno/termenu
 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"
예제 #11
0
파일: test.py 프로젝트: weka/termenu
 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"
예제 #12
0
파일: test.py 프로젝트: koreno/termenu
 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"
예제 #13
0
파일: test.py 프로젝트: weka/termenu
 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]
예제 #14
0
파일: test.py 프로젝트: weka/termenu
 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]
예제 #15
0
파일: test.py 프로젝트: weka/termenu
 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"
예제 #16
0
파일: test.py 프로젝트: weka/termenu
 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 xrange(4)] == [False, True, True, False]
예제 #17
0
파일: test.py 프로젝트: weka/termenu
 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)"
예제 #18
0
파일: test.py 프로젝트: weka/termenu
 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"
예제 #19
0
파일: test.py 프로젝트: weka/termenu
 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)"
예제 #20
0
파일: test.py 프로젝트: weka/termenu
 def test_more_below_one(self):
     menu = Termenu(OPTIONS, height=4)
     assert [menu._decorate_flags(i)["moreBelow"]
             for i in xrange(4)] == [False, False, False, True]
예제 #21
0
파일: test.py 프로젝트: koreno/termenu
 def test_active_selected(self):
     menu = Termenu(OPTIONS, height=4)
     assert menu._decorate("text", active=True, selected=True) == "*" + active_selected("text") + "  "
예제 #22
0
파일: test.py 프로젝트: weka/termenu
 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") + "  "
예제 #23
0
파일: test.py 프로젝트: weka/termenu
 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)"
예제 #24
0
파일: test.py 프로젝트: weka/termenu
 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)"
예제 #25
0
파일: test.py 프로젝트: weka/termenu
 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"
예제 #26
0
파일: test.py 프로젝트: koreno/termenu
 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"
예제 #27
0
파일: test.py 프로젝트: koreno/termenu
 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"
예제 #28
0
파일: test.py 프로젝트: koreno/termenu
 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"
예제 #29
0
파일: test.py 프로젝트: koreno/termenu
 def test_more_above_one(self):
     menu = Termenu(OPTIONS, height=4)
     menu.scroll = 1
     assert [menu._decorate_flags(i)["moreAbove"] for i in xrange(4)] == [True, False, False, False]
예제 #30
0
파일: test.py 프로젝트: koreno/termenu
 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"
예제 #31
0
파일: test.py 프로젝트: koreno/termenu
 def test_filter(self):
     menu = Termenu(OPTIONS, height=4, plugins=[FilterPlugin()])
     menu._on_key("4")
     assert strmenu(menu) == "(04) 14 24 34"
예제 #32
0
파일: test.py 프로젝트: koreno/termenu
 def test_active(self):
     menu = Termenu(OPTIONS, height=4)
     assert menu._decorate("text", active=True) == " " + active("text") + "  "
예제 #33
0
파일: test.py 프로젝트: weka/termenu
 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"
예제 #34
0
파일: test.py 프로젝트: koreno/termenu
 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 xrange(4)] == [False, True, True, False]
예제 #35
0
파일: test.py 프로젝트: weka/termenu
 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"
예제 #36
0
파일: test.py 프로젝트: koreno/termenu
 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)"
예제 #37
0
파일: test.py 프로젝트: koreno/termenu
 def test_more_below_one(self):
     menu = Termenu(OPTIONS, height=4)
     assert [menu._decorate_flags(i)["moreBelow"] for i in xrange(4)] == [False, False, False, True]
예제 #38
0
파일: test.py 프로젝트: koreno/termenu
 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)"
예제 #39
0
파일: test.py 프로젝트: weka/termenu
 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")
예제 #40
0
파일: test.py 프로젝트: koreno/termenu
 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)"
예제 #41
0
파일: test.py 프로젝트: weka/termenu
 def test_active(self):
     menu = Termenu(OPTIONS, height=4)
     assert [menu._decorate_flags(i)["active"]
             for i in xrange(4)] == [True, False, False, False]
예제 #42
0
파일: test.py 프로젝트: weka/termenu
 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)"
예제 #43
0
파일: test.py 프로젝트: weka/termenu
 def test_more_above_one(self):
     menu = Termenu(OPTIONS, height=4)
     menu.scroll = 1
     assert [menu._decorate_flags(i)["moreAbove"]
             for i in xrange(4)] == [True, False, False, False]
예제 #44
0
파일: test.py 프로젝트: koreno/termenu
 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"
예제 #45
0
파일: test.py 프로젝트: weka/termenu
 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 xrange(4)] == [False, False, False, False]
예제 #46
0
파일: test.py 프로젝트: koreno/termenu
 def test_active(self):
     menu = Termenu(OPTIONS, height=4)
     assert [menu._decorate_flags(i)["active"] for i in xrange(4)] == [True, False, False, False]
예제 #47
0
파일: test.py 프로젝트: koreno/termenu
 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)"
예제 #48
0
파일: test.py 프로젝트: weka/termenu
 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)"
예제 #49
0
파일: test.py 프로젝트: weka/termenu
 def test_filter(self):
     menu = Termenu(OPTIONS, height=4, plugins=[FilterPlugin()])
     menu._on_key("4")
     assert strmenu(menu) == "(04) 14 24 34"
예제 #50
0
파일: test.py 프로젝트: weka/termenu
 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"
예제 #51
0
파일: test.py 프로젝트: koreno/termenu
 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"
예제 #52
0
파일: test.py 프로젝트: koreno/termenu
 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") + "  "
예제 #53
0
파일: test.py 프로젝트: weka/termenu
 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"
예제 #54
0
파일: test.py 프로젝트: koreno/termenu
 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")
예제 #55
0
파일: test.py 프로젝트: weka/termenu
 def test_active(self):
     menu = Termenu(OPTIONS, height=4)
     assert menu._decorate("text",
                           active=True) == " " + active("text") + "  "
예제 #56
0
파일: test.py 프로젝트: weka/termenu
 def test_active_selected(self):
     menu = Termenu(OPTIONS, height=4)
     assert menu._decorate(
         "text", active=True,
         selected=True) == "*" + active_selected("text") + "  "
예제 #57
0
파일: test.py 프로젝트: weka/termenu
 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)"
예제 #58
0
파일: test.py 프로젝트: koreno/termenu
 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 xrange(4)] == [False, False, False, False]
예제 #59
0
파일: test.py 프로젝트: weka/termenu
 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"
예제 #60
0
파일: test.py 프로젝트: koreno/termenu
 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)"