def test_process_event_mouse_button_up_inside(self, _init_pygame: None, default_ui_manager: UIManager, _display_surface_return_none: None): button = UIButton(relative_rect=pygame.Rect(10, 10, 150, 30), text="Test Button", tool_tip_text="This is a test of the button's tool tip functionality.", manager=default_ui_manager) # create a tool tip button.hover_time = 9999.0 button.while_hovering(0.01, pygame.math.Vector2(150.0, 115.0)) # process a mouse button down event processed_down_event = button.process_event(pygame.event.Event(pygame.MOUSEBUTTONDOWN, {'button': 1, 'pos': (50, 25)})) # process a mouse button up event processed_up_event = button.process_event(pygame.event.Event(pygame.MOUSEBUTTONUP, {'button': 1, 'pos': (50, 25)})) assert ( processed_down_event is True and processed_up_event is True and button.held is False and button.pressed_event is True and default_ui_manager.focused_element is None)
def test_while_not_hovering(self, _init_pygame, default_ui_manager): button = UIButton(relative_rect=pygame.Rect(100, 100, 150, 30), text="Test Button", tool_tip_text="This is a test of the button's tool tip functionality.", manager=default_ui_manager) # fail to create the tool tip button.hover_time = 0.0 button.while_hovering(0.01, pygame.math.Vector2(250.0, 250.0)) assert button.tool_tip is None
def test_while_hovering(self, _init_pygame, default_ui_manager, _display_surface_return_none): button = UIButton(relative_rect=pygame.Rect(100, 100, 150, 30), text="Test Button", tool_tip_text="This is a test of the button's tool tip functionality.", manager=default_ui_manager) # create the tool tip button.hover_time = 9999.0 button.while_hovering(0.01, pygame.math.Vector2(150.0, 115.0)) assert button.tool_tip is not None
def test_on_unhovered(self, _init_pygame, default_ui_manager): button = UIButton(relative_rect=pygame.Rect(100, 100, 150, 30), text="Test Button", tool_tip_text="This is a test of the button's tool tip functionality.", manager=default_ui_manager) # create the tool tip button.hover_time = 9999.0 button.while_hovering(0.01, pygame.math.Vector2(150.0, 115.0)) # stop hovering and kill the tool tip button.on_unhovered() assert button.tool_tip is None and button.image == button.drawable_shape.get_surface("normal")
def test_kill(self, _init_pygame, default_ui_manager): button = UIButton(relative_rect=pygame.Rect(100, 100, 150, 30), text="Test Button", tool_tip_text="This is a test of the button's tool tip functionality.", manager=default_ui_manager) # create the tool tip button.hover_time = 9999.0 button.while_hovering(0.01, pygame.math.Vector2(150.0, 115.0)) # should kill everything button.kill() assert button.alive() is False and button.tool_tip.alive() is False
def test_on_unhovered(self, _init_pygame, default_ui_manager, _display_surface_return_none): button = UIButton(relative_rect=pygame.Rect(100, 100, 150, 30), text="Test Button", tool_tip_text="This is a test of the button's tool tip functionality.", manager=default_ui_manager) # create the tool tip button.hover_time = 9999.0 button.while_hovering(0.01, pygame.math.Vector2(150.0, 115.0)) # stop hovering and kill the tool tip button.on_unhovered() unhovered_event_fired = any((event.type == pygame_gui.UI_BUTTON_ON_UNHOVERED and event.ui_element == button) for event in pygame.event.get()) assert unhovered_event_fired assert button.tool_tip is None