示例#1
0
    def test_fo_graphical_icon_disappears(self):
        o = get_mock_graphical_output()
        overlay = FunctionOverlay([lambda: True, lambda: False])
        mu = Menu([], get_mock_input(), o, name=ui_name, config={})
        mu.idle_loop = lambda *a, **k: True
        Canvas.fonts_dir = fonts_dir
        overlay.apply_to(mu)
        def activate():
            mu.before_activate()
            mu.to_foreground()
            mu.idle_loop()
            img_1 = o.display_image.call_args[0]
            mu.idle_loop()
            mu.refresh()
            img_2 = o.display_image.call_args[0]
            assert(img_1 == img_2)
            for i in range(overlay.duration):
                mu.idle_loop()
            mu.refresh()
            img_2 = o.display_image.call_args[0]
            assert(img_1 != img_2)
            mu.deactivate()  # KEY_LEFT

        with patch.object(mu, 'activate', side_effect=activate) as p:
            mu.activate()
示例#2
0
    def test_so_spins(self):
        Canvas.fonts_dir = fonts_dir
        o = get_mock_graphical_output()
        overlay = SpinnerOverlay()
        mu = Menu([], get_mock_input(), o, name=ui_name)
        mu.idle_loop = lambda *a, **k: True
        overlay.apply_to(mu)
        overlay.set_state(mu, False)
        def activate():
            mu.before_activate()
            mu.to_foreground()
            mu.idle_loop()
            img_1 = o.display_image.call_args[0]
            mu.idle_loop()
            mu.refresh()
            img_2 = o.display_image.call_args[0]
            assert(img_1 == img_2)
            # enabling the spinner
            overlay.set_state(mu, True)
            # first iteration of the spinner
            mu.idle_loop()
            img_3 = o.display_image.call_args[0]
            assert(img_3 != img_1)
            # second iteration of the spinner
            mu.idle_loop()
            img_4 = o.display_image.call_args[0]
            assert(img_4 != img_1)
            assert(img_4 != img_3)
            # disabling the spinner
            overlay.set_state(mu, False)
            mu.idle_loop() # now idle_loop shouldn't contain a refresh
            img_5 = o.display_image.call_args[0]
            assert(img_5 == img_4)
            mu.refresh() # now, after an explicit refresh, there should be no spinner left
            img_6 = o.display_image.call_args[0]
            assert(img_6 == img_1)
            assert(img_6 != img_3)
            assert(img_6 != img_4)
            mu.deactivate()  # KEY_LEFT

        with patch.object(mu, 'activate', side_effect=activate) as p:
            mu.activate()
示例#3
0
文件: main.py 项目: hramrach/ZPUI
 def idle_loop(self):
     Menu.idle_loop(self)
     self.refresh()
示例#4
0
 def idle_loop(self):
     Menu.idle_loop(self)
     self.check_character_state()