def test_simple_set_editor_use_ordered_selected(self): # Initiate with non-alphabetical list model = ListModel(value=["two", "one"]) with reraise_exceptions(), self.setup_gui( model, get_view(ordered=True)) as editor: self.assertEqual(get_list_items(editor._unused), ["four", "three"]) # Used list maintains the order self.assertEqual(get_list_items(editor._used), ["two", "one"]) click_on_item(editor, 1, in_used=False) process_cascade_events() self.assertTrue(is_control_enabled(editor._use)) self.assertFalse(is_control_enabled(editor._unuse)) click_button(editor._use) process_cascade_events() self.assertEqual(get_list_items(editor._unused), ["four"]) # Button inserts at the top self.assertEqual(get_list_items(editor._used), ["three", "two", "one"]) self.assertEqual(editor._get_selected_strings(editor._used), ["three"])
def test_simple_set_editor_move_down(self): with reraise_exceptions(), self.setup_gui( ListModel(), get_view(ordered=True)) as editor: self.assertEqual(get_list_items(editor._unused), ["four", "three"]) self.assertEqual(get_list_items(editor._used), ["one", "two"]) click_on_item(editor, 0, in_used=True) process_cascade_events() self.assertFalse(is_control_enabled(editor._up)) self.assertTrue(is_control_enabled(editor._down)) click_button(editor._down) process_cascade_events() self.assertEqual(get_list_items(editor._unused), ["four", "three"]) self.assertEqual(get_list_items(editor._used), ["two", "one"])
def test_simple_set_editor_move_up(self): with store_exceptions_on_all_threads(): gui, editor = self.setup_gui(ListModel(), get_view(ordered=True)) self.assertEqual(get_list_items(editor._unused), ["four", "three"]) self.assertEqual(get_list_items(editor._used), ["one", "two"]) click_on_item(editor, 1, in_used=True) gui.process_events() self.assertTrue(is_control_enabled(editor._up)) self.assertFalse(is_control_enabled(editor._down)) click_button(editor._up) gui.process_events() self.assertEqual(get_list_items(editor._unused), ["four", "three"]) self.assertEqual(get_list_items(editor._used), ["two", "one"])
def test_labels_enabled_when(self): # Behaviour: label should enable/disable along with editor dialog = EnableWhenDialog() with reraise_exceptions(), create_ui(dialog) as ui: labelled_editor = ui.get_editors("labelled_item")[0] if is_qt(): unlabelled_editor = ui.get_editors("unlabelled_item")[0] self.assertIsNone(unlabelled_editor.label_control) self.assertTrue(is_control_enabled(labelled_editor.label_control)) dialog.bool_item = False self.assertFalse(is_control_enabled(labelled_editor.label_control)) dialog.bool_item = True
def test_simple_set_editor_use_all_button(self): with reraise_exceptions(), self.setup_gui(ListModel(), get_view()) as editor: self.assertEqual(get_list_items(editor._unused), ["four", "three"]) self.assertEqual(get_list_items(editor._used), ["one", "two"]) click_on_item(editor, 1, in_used=False) process_cascade_events() self.assertTrue(is_control_enabled(editor._use_all)) self.assertFalse(is_control_enabled(editor._unuse_all)) click_button(editor._use_all) process_cascade_events() self.assertEqual(get_list_items(editor._unused), []) # Button inserts at the end self.assertEqual(get_list_items(editor._used), ["one", "two", "four", "three"])
def test_simple_set_editor_unuse_all_button(self): with store_exceptions_on_all_threads(): gui, editor = self.setup_gui(ListModel(), get_view()) self.assertEqual(get_list_items(editor._unused), ["four", "three"]) self.assertEqual(get_list_items(editor._used), ["one", "two"]) click_on_item(editor, 0, in_used=True) gui.process_events() self.assertFalse(is_control_enabled(editor._use_all)) self.assertTrue(is_control_enabled(editor._unuse_all)) click_button(editor._unuse_all) gui.process_events() # Button inserts at the end self.assertEqual(get_list_items(editor._unused), ["four", "three", "one", "two"]) self.assertEqual(get_list_items(editor._used), [])
def test_labels_enabled_when(self): # Behaviour: label should enable/disable along with editor dialog = EnableWhenDialog() with store_exceptions_on_all_threads(), \ create_ui(dialog) as ui: labelled_editor = ui.get_editors("labelled_item")[0] if is_current_backend_qt4(): unlabelled_editor = ui.get_editors("unlabelled_item")[0] self.assertIsNone(unlabelled_editor.label_control) self.assertTrue(is_control_enabled(labelled_editor.label_control)) dialog.bool_item = False self.assertFalse(is_control_enabled(labelled_editor.label_control)) dialog.bool_item = True ui.dispose()
def test_simple_set_editor_use_button(self): with store_exceptions_on_all_threads(): # Initiate with non-alphabetical list gui, editor = self.setup_gui(ListModel(value=["two", "one"]), get_view()) self.assertEqual(get_list_items(editor._unused), ["four", "three"]) # Used list is sorted alphabetically self.assertEqual(get_list_items(editor._used), ["one", "two"]) click_on_item(editor, 1, in_used=False) gui.process_events() self.assertTrue(is_control_enabled(editor._use)) self.assertFalse(is_control_enabled(editor._unuse)) click_button(editor._use) gui.process_events() self.assertEqual(get_list_items(editor._unused), ["four"]) # Button inserts at the top self.assertEqual(get_list_items(editor._used), ["three", "one", "two"]) self.assertEqual(editor._get_selected_strings(editor._used), [])