示例#1
0
    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"])
示例#2
0
    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"])
示例#3
0
    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"])
示例#4
0
    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
示例#5
0
    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"])
示例#6
0
    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), [])
示例#7
0
    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()
示例#8
0
    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), [])