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]
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]
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"
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]
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]
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"
def test_filter(self): menu = Termenu(OPTIONS, height=4, plugins=[FilterPlugin()]) menu._on_key("4") assert strmenu(menu) == "(04) 14 24 34"