def test_process_event_text_ctrl_v_select_range( self, _init_pygame: None, default_ui_manager: UIManager, _display_surface_return_none: None): text_entry = UITextEntryLine(relative_rect=pygame.Rect( 100, 100, 200, 30), manager=default_ui_manager) text_entry.set_text('dan') text_entry.select() text_entry.select_range = [1, 3] text_entry.process_event( pygame.event.Event(pygame.KEYDOWN, { 'key': pygame.K_c, 'mod': pygame.KMOD_CTRL, 'unicode': 'c' })) text_entry.select_range = [0, 3] processed_key_event = text_entry.process_event( pygame.event.Event(pygame.KEYDOWN, { 'key': pygame.K_v, 'mod': pygame.KMOD_CTRL, 'unicode': 'v' })) assert processed_key_event and text_entry.get_text() == 'an'
def test_rebuild_select_area_1(self, _init_pygame, default_ui_manager): text_entry = UITextEntryLine(relative_rect=pygame.Rect( 100, 100, 200, 30), manager=default_ui_manager) text_entry.set_text("GOLD") text_entry.select_range = [0, 2] text_entry.rebuild() assert text_entry.image is not None
def test_redraw_selected_text_different_them(self, _init_pygame): manager = UIManager( (800, 600), os.path.join("tests", "data", "themes", "ui_text_entry_line_non_default_2.json")) text_entry = UITextEntryLine(relative_rect=pygame.Rect( 100, 100, 200, 30), manager=manager) text_entry.set_text("Yellow su") text_entry.select_range = [3, 9] text_entry.redraw()
def test_redraw_selected_text(self, _init_pygame): manager = UIManager((800, 600), os.path.join("tests", "data", "themes", "ui_text_entry_line_bad_values.json")) text_entry = UITextEntryLine(relative_rect=pygame.Rect( 100, 100, 200, 30), manager=manager) text_entry.set_text("Yellow su") text_entry.select_range = [3, 8] text_entry.start_text_offset = 500 text_entry.redraw()
def test_redraw_cursor(self, _init_pygame, default_ui_manager): text_entry = UITextEntryLine(relative_rect=pygame.Rect( 100, 100, 200, 30), manager=default_ui_manager) text_entry.set_text("GOLD") text_entry.select_range = [0, 2] text_entry.cursor_on = True text_entry.edit_position = 1 text_entry.redraw_cursor() assert text_entry.image is not None
def test_set_text_rebuild_select_area_3(self, _init_pygame): manager = UIManager((800, 600), os.path.join("tests", "data", "themes", "ui_text_entry_line_bad_values.json")) text_entry = UITextEntryLine(relative_rect=pygame.Rect( 100, 100, 200, 30), manager=manager) text_entry.set_text("GOLD") text_entry.select_range = [0, 2] text_entry.rebuild() assert text_entry.image is not None
def test_process_event_backspace_select_range( self, _init_pygame: None, default_ui_manager: UIManager, _display_surface_return_none: None): text_entry = UITextEntryLine(relative_rect=pygame.Rect( 100, 100, 200, 30), manager=default_ui_manager) text_entry.set_text('dan') text_entry.select() text_entry.select_range = [1, 3] processed_key_event = text_entry.process_event( pygame.event.Event(pygame.KEYDOWN, {'key': pygame.K_BACKSPACE})) assert processed_key_event
def test_set_text_rebuild_select_area_2(self, _init_pygame, _display_surface_return_none): manager = UIManager( (800, 600), os.path.join("tests", "data", "themes", "ui_text_entry_line_non_default.json")) text_entry = UITextEntryLine(relative_rect=pygame.Rect( 100, 100, 200, 30), manager=manager) text_entry.set_text("GOLDEN GOD") text_entry.select_range = [4, 7] text_entry.rebuild() assert text_entry.image is not None
def test_process_event_text_entered_with_select_range( self, _init_pygame: None, default_ui_manager: UIManager, _display_surface_return_none: None): text_entry = UITextEntryLine(relative_rect=pygame.Rect( 100, 100, 200, 30), manager=default_ui_manager) text_entry.set_text('Hours and hours of fun writing tests') text_entry.select() text_entry.select_range = [1, 9] # process a mouse button down event processed_key_event = text_entry.process_event( pygame.event.Event(pygame.KEYDOWN, { 'key': pygame.K_o, 'mod': 0, 'unicode': 'o' })) assert processed_key_event is True and text_entry.get_text( ) == 'Ho hours of fun writing tests'
def test_process_event_text_ctrl_c(self, _init_pygame: None, _display_surface_return_none: None): manager = UIManager( (800, 600), os.path.join("tests", "data", "themes", "ui_text_entry_line_non_default_2.json")) text_entry = UITextEntryLine(relative_rect=pygame.Rect( 100, 100, 200, 30), manager=manager) text_entry.set_text('dan') text_entry.select() text_entry.select_range = [0, 3] processed_key_event = text_entry.process_event( pygame.event.Event(pygame.KEYDOWN, { 'key': pygame.K_c, 'mod': pygame.KMOD_CTRL, 'unicode': 'c' })) text_entry.cursor_on = True text_entry.redraw_cursor() assert processed_key_event and clipboard_paste() == 'dan'