Exemple #1
0
    def test_esc_on_widget_closes(self):
        QTest.keyClick(core.mainWindow(), Qt.Key_F, Qt.ControlModifier)
        widget = _findSearchController()._widget
        self.assertFalse(widget.isHidden())

        QTest.keyClick(widget, Qt.Key_Escape)
        self.assertTrue(widget.isHidden())
    def test_click_selects_first(self):
        self.qpart.text = 'aaaa\nbbbb\ncccX\ndddd\ncccY'

        QTest.keyClicks(self.qpart, "ccc")
        QTest.mouseClick(self.qpart, Qt.LeftButton)
        QTest.keyClick(self.qpart, Qt.Key_Enter)
        self.assertEqual(self.qpart.text, 'cccY\naaaa\nbbbb\ncccX\ndddd\ncccY')
Exemple #3
0
    def test_subscriptions(self):
        QTest.mouseClick(window.left_menu_button_subscriptions, Qt.LeftButton)
        self.screenshot(window, name="subscriptions_loading")
        self.wait_for_list_populated(window.subscribed_channels_list)
        self.screenshot(window, name="subscriptions")

        # Sort
        window.subscribed_channels_list.sortByColumn(1, 1)
        self.wait_for_list_populated(window.subscribed_channels_list)
        self.screenshot(window, name="subscriptions_sorted")
        max_items = min(window.subscribed_channels_list.model().total_items, 50)
        self.assertLessEqual(window.subscribed_channels_list.verticalHeader().count(), max_items)

        # Filter
        old_num_items = window.subscribed_channels_list.verticalHeader().count()
        QTest.keyClick(window.subscribed_channels_filter_input, '1')
        self.wait_for_list_populated(window.subscribed_channels_list)
        self.screenshot(window, name="subscriptions_filtered")
        self.assertLessEqual(window.subscribed_channels_list.verticalHeader().count(), old_num_items)
        window.subscribed_channels_filter_input.setText('')
        self.wait_for_list_populated(window.subscribed_channels_list)

        # Unsubscribe and subscribe again
        index = self.get_index_of_row(window.subscribed_channels_list, 0)
        window.subscribed_channels_list.on_subscribe_control_clicked(index)
        QTest.qWait(200)
        self.screenshot(window, name="unsubscribed")
        window.subscribed_channels_list.on_subscribe_control_clicked(index)
        QTest.qWait(200)
Exemple #4
0
        def continueFunc(dialog):
            page = dialog._pageForItem["Navigator"]
            self.assertEqual(page.lExecuteError.text(),
                             ('You are trying to use etags from the Emacs package, but it is not supported. '
                              'Use Exuberant Ctags.'))

            QTest.keyClick(dialog, Qt.Key_Enter)
Exemple #5
0
        def continueFunc(dialog):
            page = dialog._pageForItem["Plugins"]
            item = dialog._itemByPath(["Plugins"])
            item.setSelected(True)

            page.update(self._ONE_USERPLUGINS)
            titleCard = \
                page.children()[0].children()[0].children()[0].children()[2]
            enableBtn = titleCard.children()[2].children()[2].buttons()[0]
            self.assertEqual("Enable", enableBtn.text(),
                             "Buttontext differs from Enable")
            self.assertFalse(enableBtn.isDown(), 'Button should not be down')

            QTest.mouseClick(enableBtn, Qt.LeftButton)
            self.assertEqual("Disable", enableBtn.text(),
                             "Buttontext differs from Disable")
            self.assertTrue(enableBtn.isDown(), 'Button should be down')
            self.assertEqual(
                "testplugin0",
                core.loadedPlugins()[-1].__module__,
                'Last module name should be userplugins.testplugin0')

            lenBeforeClick = len(core.loadedPlugins())
            QTest.mouseClick(enableBtn, Qt.LeftButton)
            self.assertEqual("Enable", enableBtn.text(),
                             "Buttontext differs from Enable")
            self.assertFalse(enableBtn.isDown(), 'Button should not be down')
            self.assertEqual(
                lenBeforeClick - 1,
                len(core.loadedPlugins()),
                "Length of loaded plugins should be one fewer after undload.")

            QTest.keyClick(dialog, Qt.Key_Escape)
Exemple #6
0
    def test_whole_word(self):
        qpart = core.workspace().currentDocument().qutepart

        qpart.text = _TEXT_WHOLE_WORD

        # select first 'string'
        QTest.keyClick(core.mainWindow(), Qt.Key_F, Qt.ControlModifier)

        self.keyClicks("bar")
        self.assertEqual(qpart.cursorPosition[0], 1)

        # 2 items found
        self.keyClick(Qt.Key_F3)
        self.assertEqual(qpart.cursorPosition[0], 2)
        self.keyClick(Qt.Key_F3)
        self.assertEqual(qpart.cursorPosition[0], 1)

        # only 1 item found
        QTest.mouseClick(_findSearchController()._widget.cbWholeWord, Qt.LeftButton)
        self.assertEqual(qpart.cursorPosition[0], 2)
        self.keyClick(Qt.Key_F3)
        self.assertEqual(qpart.cursorPosition[0], 2)  # not moved, only line 2

        # only 1 item found in reg exp mode
        qpart.cursorPosition = (0, 0)
        QTest.mouseClick(_findSearchController()._widget.cbRegularExpression, Qt.LeftButton)
        self.assertEqual(qpart.cursorPosition[0], 2)
        self.keyClick(Qt.Key_F3)
        self.assertEqual(qpart.cursorPosition[0], 2)  # not moved, only line 2
Exemple #7
0
 def test_alt_does_not_type(self):
     """ By default when Alt+Key is pressed - text is inserted.
     Qutepart ignores this key pressings
     """
     QTest.keyClick(self.qpart, Qt.Key_A, Qt.AltModifier)
     self.assertEqual(self.qpart.text, '')
     QTest.keyClick(self.qpart, Qt.Key_A)
     self.assertEqual(self.qpart.text, 'a')
Exemple #8
0
    def test_expression_line_edit(self):
        e = ExpressionLineEdit()
        e.setCompleter(QCompleter(self.form.simulator_tab_controller.completer_model, e))
        e.setValidator(RuleExpressionValidator(self.form.simulator_tab_controller.sim_expression_parser))

        self.assertEqual(e.text(), "")
        QTest.keyClick(e, Qt.Key_R, Qt.NoModifier)
        self.assertEqual(e.text(), "r")
Exemple #9
0
        def continueFunc(dialog):
            page = dialog._pageForItem["Editor/Autocompletion"]

            page.gbAutoCompletion.setChecked(enabled)
            page.sThreshold.setValue(threshold)

            self.assertTrue(page.lcdNumber.value(), threshold)

            QTest.keyClick(dialog, Qt.Key_Enter)
    def testChangeArgs(self):
        main_win, w = self.createWidget()
        QTest.keyClicks(w.args_line, "-foo -bar")
        QTest.keyClick(w.args_line, Qt.Key_Enter)
        self.assertEqual(w.args_line.text(), "-foo -bar")

        cmd, args = w.buildCommand("input.i")
        self.assertIn("-foo", args)
        self.assertIn("-bar", args)
Exemple #11
0
    def test_type_and_search(self):
        QTest.keyClick(core.mainWindow(), Qt.Key_F, Qt.ControlModifier)

        qpart = core.workspace().currentDocument().qutepart

        self.keyClicks("string")

        self.assertEqual(qpart.cursorPosition, (6, 18))
        self.assertEqual(qpart.selectedText, "string")
Exemple #12
0
 def click(self, keys):
     if isinstance(keys, str):
         for key in keys:
             if key.isupper() or key in '$%^<>':
                 QTest.keyClick(self.qpart, key, Qt.ShiftModifier)
             else:
                 QTest.keyClicks(self.qpart, key)
     else:
         QTest.keyClick(self.qpart, keys)
Exemple #13
0
    def test_select_and_search(self):
        qpart = core.workspace().currentDocument().qutepart

        # select first 'string'
        qpart.selectedPosition = ((6, 12), (6, 18))
        QTest.keyClick(core.mainWindow(), Qt.Key_F, Qt.ControlModifier)

        self.keyClick(Qt.Key_F3)
        self.assertEqual(qpart.cursorPosition, (7, 9))
        self.assertEqual(qpart.selectedText, "string")
Exemple #14
0
    def test_4b(self):
        # Indent multiline including line with zero selection
        self.qpart.indentUseTabs = True

        self.qpart.text = 'ab\ncd\nef'
        self.qpart.position = (0, 0)

        QTest.keyClick(self.qpart, Qt.Key_Down, Qt.ShiftModifier)
        QTest.keyClick(self.qpart, Qt.Key_Tab)
        self.assertEqual(self.qpart.text, '\tab\ncd\nef')
Exemple #15
0
 def exec_test():
     yield from asyncio.sleep(1)
     QTest.mouseClick(certification_dialog.radio_pubkey, Qt.LeftButton)
     QTest.keyClicks(certification_dialog.edit_pubkey, "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn")
     QTest.mouseClick(certification_dialog.button_box.button(QDialogButtonBox.Ok), Qt.LeftButton)
     yield from asyncio.sleep(1)
     topWidgets = QApplication.topLevelWidgets()
     for w in topWidgets:
         if type(w) is QMessageBox:
             QTest.keyClick(w, Qt.Key_Enter)
 def test_analyze_button_enocean(self):
     self.add_signal_to_form("enocean.complex")
     w = self.form.signal_tab_controller.signal_frames[1].ui.spinBoxCenterOffset
     w.setValue(0)
     QTest.keyClick(w, Qt.Key_Enter)
     w = self.form.signal_tab_controller.signal_frames[1].ui.spinBoxNoiseTreshold
     w.setValue(0.0111)
     QTest.keyClick(w, Qt.Key_Enter)
     self.cfc.ui.btnAnalyze.click()
     self.assertTrue(True)
    def test_set_with_keyboard(self):
        self.qpart.text = '\n' * 5
        QTest.keyClick(self.qpart, Qt.Key_B, Qt.ControlModifier)
        QTest.keyClick(self.qpart, Qt.Key_Down)
        QTest.keyClick(self.qpart, Qt.Key_Down)
        QTest.keyClick(self.qpart, Qt.Key_B, Qt.ControlModifier)
        self.assertEqual(self._markedBlocks(), [0, 2])

        QTest.keyClick(self.qpart, Qt.Key_B, Qt.ControlModifier)
        self.assertEqual(self._markedBlocks(), [0])
Exemple #18
0
        def continueFunc(dialog):
            page = dialog._pageForItem["Editor/Long Lines"]

            page.gbWrapEnabled.setChecked(enabled)
            if atWord:
                page.rbWrapAtWord.setChecked(True)
            else:
                page.rbWrapAnywhere.setChecked(True)

            QTest.keyClick(dialog, Qt.Key_Enter)
Exemple #19
0
    def test_generator_label(self):
        labels = self.cframe.proto_analyzer.protocol_labels
        self.assertEqual(len(labels), 2)

        # Open Protocol in Generator
        self.form.ui.tabWidget.setCurrentIndex(2)
        item = self.gframe.tree_model.rootItem.children[0].children[0]
        index = self.gframe.tree_model.createIndex(0, 0, item)
        rect = self.gframe.ui.treeProtocols.visualRect(index)
        self.assertEqual(len(self.gframe.ui.treeProtocols.selectedIndexes()), 0)
        QTest.mousePress(self.gframe.ui.treeProtocols.viewport(), Qt.LeftButton, pos=rect.center())
        self.assertEqual(self.gframe.ui.treeProtocols.selectedIndexes()[0], index)
        mimedata = self.gframe.tree_model.mimeData(self.gframe.ui.treeProtocols.selectedIndexes())
        self.gframe.table_model.dropMimeData(mimedata, 1, -1, -1, self.gframe.table_model.createIndex(0, 0))
        self.assertEqual(self.gframe.table_model.row_count, 3)

        # Check Label in Generator
        labels = self.gframe.table_model.protocol.protocol_labels
        self.assertEqual(len(labels), 2)

        # Fuzz Label
        lbl = copy.deepcopy(self.gframe.table_model.protocol.messages[0].message_type[1])
        self.gframe.table_model.protocol.messages[0].message_type[1] = lbl
        lbl.fuzz_values.append("1")
        lbl.add_fuzz_value()
        lbl.add_fuzz_value()
        lbl.add_fuzz_value()
        lbl.add_fuzz_value()
        lbl.fuzz_me = Qt.Checked
        self.assertEqual(len(lbl.fuzz_values), 5)
        self.gframe.refresh_label_list()
        self.gframe.refresh_table()
        self.gframe.ui.btnFuzz.setEnabled(True)
        self.gframe.ui.btnFuzz.click()
        self.assertTrue(lbl.active_fuzzing)
        self.assertIn(lbl, self.gframe.table_model.protocol.messages[0].message_type)
        self.assertEqual(self.gframe.table_model.row_count, 4 + 3)

        # Check if Background for fuzzed labels is drawn correctly
        self.__check_background_is_drawn(lbl, 43, 43)

        # Delete a line
        old_row_count = self.gframe.table_model.row_count
        self.gframe.ui.tableMessages.selectRow(2)
        QTest.keyClick(self.gframe.ui.tableMessages, Qt.Key_Delete)
        self.assertEqual(self.gframe.table_model.row_count, old_row_count - 1)

        self.__check_background_is_drawn(lbl, 43, 43)

        # Remove everything
        for i in range(old_row_count):
            self.gframe.ui.tableMessages.selectRow(0)
            QTest.keyClick(self.gframe.ui.tableMessages, Qt.Key_Delete)

        self.assertEqual(self.gframe.table_model.row_count, 0)
    def test_expression_line_edit(self):
        e = ExpressionLineEdit()
        e.setCompleter(
            QCompleter(self.form.simulator_tab_controller.completer_model, e))
        e.setValidator(
            RuleExpressionValidator(
                self.form.simulator_tab_controller.sim_expression_parser))

        self.assertEqual(e.text(), "")
        QTest.keyClick(e, Qt.Key_R, Qt.NoModifier)
        self.assertEqual(e.text(), "r")
Exemple #21
0
    def test_1(self):
        self._rm()
        self.assertFalse(self._exists())
        self.qpart.show()
        def acceptDialog():
            QTest.keyClick(self.app.focusWidget(), Qt.Key_Enter, Qt.NoModifier)
        QTimer.singleShot(1000, acceptDialog)
        QTest.keyClick(self.qpart, Qt.Key_P, Qt.ControlModifier)

        self.assertTrue(self._exists())
        self._rm()
Exemple #22
0
    def test_7(self):
        """Smartly indent python"""
        self.qpart.detectSyntax(language='Python')

        QTest.keyClicks(self.qpart, "def main():")
        QTest.keyClick(self.qpart, Qt.Key_Enter)
        self.assertEqual(self.qpart.cursorPosition, (1, 4))

        QTest.keyClicks(self.qpart, "return 7")
        QTest.keyClick(self.qpart, Qt.Key_Enter)
        self.assertEqual(self.qpart.cursorPosition, (2, 0))
    def test_warning(self):
        self.qpart.show()
        self.qpart.text = 'a\n' * 300
        warning = [None]
        def _saveWarning(text):
            warning[0] = text
        self.qpart.userWarning.connect(_saveWarning)

        QTest.keyClick(self.qpart, Qt.Key_End, Qt.AltModifier | Qt.ShiftModifier | Qt.ControlModifier)

        self.assertEqual(warning[0], 'Rectangular selection area is too big')
Exemple #24
0
 def test_overwrite_edit(self):
     self.qpart.show()
     self.qpart.text = 'abcd'
     QTest.keyClicks(self.qpart, "stu")
     self.assertEqual(self.qpart.text, 'stuabcd')
     QTest.keyClick(self.qpart, Qt.Key_Insert)
     QTest.keyClicks(self.qpart, "xy")
     self.assertEqual(self.qpart.text, 'stuxycd')
     QTest.keyClick(self.qpart, Qt.Key_Insert)
     QTest.keyClicks(self.qpart, "z")
     self.assertEqual(self.qpart.text, 'stuxyzcd')
    def test_tab_completes(self):
        self.qpart.text = 'aaaaa\naaaaaXXXXX\n'

        base._processPendingEvents(self.app)

        self.qpart.cursorPosition = (2, 0)
        QTest.keyClicks(self.qpart, "aaa")
        QTest.keyClick(self.qpart, Qt.Key_Tab)
        self.assertEqual(self.qpart.text, 'aaaaa\naaaaaXXXXX\naaaaa')
        QTest.keyClick(self.qpart, Qt.Key_Tab)
        self.assertEqual(self.qpart.text, 'aaaaa\naaaaaXXXXX\naaaaaXXXXX')
Exemple #26
0
    def test_4(self):
        # (Un)indent multiline with Tab
        self.qpart.indentUseTabs = False

        self.qpart.text = '  ab\n  cd'
        self.qpart.selectedPosition = ((0, 2), (1, 3))

        QTest.keyClick(self.qpart, Qt.Key_Tab)
        self.assertEqual(self.qpart.text, '      ab\n      cd')

        self.qpart.decreaseIndentAction.trigger()
        self.assertEqual(self.qpart.text, '  ab\n  cd')
Exemple #27
0
        def continueFunc(dialog):
            page = dialog._pageForItem["Editor/Indentation"]

            if useTabs:
                page.rbIndentationTabs.setChecked(True)
            else:
                page.rbIndentationSpaces.setChecked(True)

            page.sIndentationWidth.setValue(width)
            page.cbAutodetectIndent.setChecked(autoDetect)

            QTest.keyClick(dialog, Qt.Key_Enter)
    def test_run_operation_stack_safe(self, op_info, keep_stack):
        op_name, params = op_info
        print(
            f"test_run_operation_stack_safe {op_name=} {params=} {keep_stack=}"
        )
        QTest.qWait(SHOW_DELAY)
        index = self.op_window.filterSelector.findText(op_name)
        self.assertGreaterEqual(
            index, 0, f'Operation "{op_name}" not found in filterSelector')
        self.op_window.filterSelector.setCurrentIndex(index)
        QTest.qWait(SHOW_DELAY)

        for param_name, param_value in params:
            widget = self._get_operation_parameter_widget(
                self.op_window.filterPropertiesLayout, param_name)
            widget.selectAll()
            QTest.keyClicks(widget, param_value)
            QTest.keyClick(widget, Qt.Key_Return)
            QTest.qWait(SHOW_DELAY)

        self.op_window.safeApply.setChecked(True)
        QTest.qWait(SHOW_DELAY)

        def mock_wait_for_stack_choice(self, new_stack: Images,
                                       stack_uuid: UUID):
            print("mock_wait_for_stack_choice")
            stack_choice = StackChoicePresenter(self.original_images_stack,
                                                new_stack, self, stack_uuid)
            stack_choice.show()
            QTest.qWait(SHOW_DELAY)
            if keep_stack == "new":
                QTest.mouseClick(stack_choice.view.newDataButton,
                                 Qt.MouseButton.LeftButton)
            else:
                QTest.mouseClick(stack_choice.view.originalDataButton,
                                 Qt.MouseButton.LeftButton)

            return stack_choice.use_new_data

        with mock.patch(
                "mantidimaging.gui.windows.operations.presenter.FiltersWindowPresenter._wait_for_stack_choice",
                mock_wait_for_stack_choice):

            QTimer.singleShot(SHORT_DELAY,
                              lambda: self._click_messageBox("OK"))
            QTest.mouseClick(self.op_window.applyButton,
                             Qt.MouseButton.LeftButton)

            QTest.qWait(SHORT_DELAY)
            self._wait_until(
                lambda: self.op_window.presenter.filter_is_running is False)
            self.main_window.filters.close()
            QTest.qWait(SHOW_DELAY)
Exemple #29
0
def step_impl(context, pos):
    """
    :type context: behave.runner.Context
    """
    viewport = context.tracklist.viewport()

    menu = open_context_menu_at(context,
                                row=int(pos),
                                column=TracklistModel.Columns.title)
    for _ in range(3):
        QTest.keyClick(menu, Qt.Key_Down)
    QTest.keyClick(menu, Qt.Key_Enter)
 def test_analyze_button_enocean(self):
     self.add_signal_to_form("enocean.complex")
     w = self.form.signal_tab_controller.signal_frames[
         1].ui.spinBoxCenterOffset
     w.setValue(0)
     QTest.keyClick(w, Qt.Key_Enter)
     w = self.form.signal_tab_controller.signal_frames[
         1].ui.spinBoxNoiseTreshold
     w.setValue(0.0111)
     QTest.keyClick(w, Qt.Key_Enter)
     self.cfc.ui.btnAnalyze.click()
     self.assertTrue(True)
Exemple #31
0
 def exec_test():
     yield from asyncio.sleep(1)
     self.account.wallets[0].caches[self.community.currency].available_sources = yield from self.wallet.sources(self.community)
     QTest.mouseClick(transfer_dialog.radio_pubkey, Qt.LeftButton)
     QTest.keyClicks(transfer_dialog.edit_pubkey, "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn")
     transfer_dialog.spinbox_amount.setValue(10)
     QTest.mouseClick(transfer_dialog.button_box.button(QDialogButtonBox.Ok), Qt.LeftButton)
     yield from asyncio.sleep(1)
     topWidgets = QApplication.topLevelWidgets()
     for w in topWidgets:
         if type(w) is QMessageBox:
             QTest.keyClick(w, Qt.Key_Enter)
Exemple #32
0
 def test_shape_change(self):
     """Test change shape comboBox"""
     shape_combo_box = self.form.ui.shapeComboBox
     QTest.keyClick(shape_combo_box, Qt.Key_PageUp)
     all_items = [
         self.form.ui.shapeComboBox.itemText(i)
         for i in range(self.form.ui.shapeComboBox.count())
     ]
     for i in range(shape_combo_box.count() - 2):
         shape_combo_box.setCurrentIndex(i)
         current_shape = self.form.ui.shapeComboBox.currentText()
         self.assertEqual(all_items[i], current_shape)
Exemple #33
0
    def test_market_create_order(self):
        QTest.mouseClick(window.token_balance_widget, Qt.LeftButton)
        QTest.mouseClick(window.trade_button, Qt.LeftButton)
        self.wait_for_signal(window.market_page.received_wallets)
        QTest.mouseClick(window.create_bid_button, Qt.LeftButton)
        self.screenshot(window, name="market_create_order_dialog")

        # Enter some bogus input
        QTest.keyClick(window.market_page.dialog.dialog_widget.order_quantity_input, 't')
        QTest.keyClick(window.market_page.dialog.dialog_widget.order_price_input, 't')
        QTest.mouseClick(window.market_page.dialog.dialog_widget.create_button, Qt.LeftButton)
        self.screenshot(window, name="market_create_order_dialog_error")
Exemple #34
0
    def test_market_create_order(self):
        QTest.mouseClick(window.token_balance_widget, Qt.LeftButton)
        QTest.mouseClick(window.trade_button, Qt.LeftButton)
        self.wait_for_signal(window.market_page.received_wallets)
        QTest.mouseClick(window.create_bid_button, Qt.LeftButton)
        self.screenshot(window, name="market_create_order_dialog")

        # Enter some bogus input
        QTest.keyClick(window.market_page.dialog.dialog_widget.order_quantity_input, 't')
        QTest.keyClick(window.market_page.dialog.dialog_widget.order_price_input, 't')
        QTest.mouseClick(window.market_page.dialog.dialog_widget.create_button, Qt.LeftButton)
        self.screenshot(window, name="market_create_order_dialog_error")
Exemple #35
0
 def enter_credentials():
     yield task.deferLater(reactor, 1, defer.succeed, True)
     print 'got here:', qt5.app.opengl
     #
     QTest.keyClick(qt5.app.opengl, Qt.Key_Tab, Qt.NoModifier, 10)
     QTest.keyClicks(qt5.app.opengl, '*****@*****.**', Qt.NoModifier,
                     10)
     QTest.keyClick(qt5.app.opengl, Qt.Key_Tab, Qt.NoModifier, 100)
     QTest.keyClicks(qt5.app.opengl, 'Tererdfcv1!I', Qt.NoModifier, 10)
     QTest.keyClick(qt5.app.opengl, Qt.Key_Tab, Qt.NoModifier, 100)
     QTest.keyClick(qt5.app.opengl, Qt.Key_Tab, Qt.NoModifier, 100)
     QTest.keyClick(qt5.app.opengl, Qt.Key_Enter, Qt.NoModifier, 100)
Exemple #36
0
    def test_4(self):
        # (Un)indent multiline with Tab
        self.qpart.indentUseTabs = False

        self.qpart.text = '  ab\n  cd'
        self.qpart.selectedPosition = ((0, 2), (1, 3))

        QTest.keyClick(self.qpart, Qt.Key_Tab)
        self.assertEqual(self.qpart.text, '      ab\n      cd')

        self.qpart.decreaseIndentAction.trigger()
        self.assertEqual(self.qpart.text, '  ab\n  cd')
Exemple #37
0
    def test_search(self):
        window.top_search_bar.setText("trib")
        QTest.keyClick(window.top_search_bar, Qt.Key_Enter)
        self.wait_for_list_populated(window.search_results_list, num_items=20)
        self.screenshot(window, name="search_results_all")

        QTest.mouseClick(window.search_results_channels_button, Qt.LeftButton)
        self.wait_for_list_populated(window.search_results_list)
        self.screenshot(window, name="search_results_channels")
        QTest.mouseClick(window.search_results_torrents_button, Qt.LeftButton)
        self.wait_for_list_populated(window.search_results_list)
        self.screenshot(window, name="search_results_torrents")
Exemple #38
0
    def test_5(self):
        # (Un)indent multiline with Space
        self.qpart.indentUseTabs = False

        self.qpart.text = '  ab\n  cd'
        self.qpart.selectedPosition = ((0, 2), (1, 3))

        QTest.keyClick(self.qpart, Qt.Key_Space, Qt.ShiftModifier)
        self.assertEqual(self.qpart.text, '   ab\n   cd')

        QTest.keyClick(self.qpart, Qt.Key_Backspace, Qt.ShiftModifier)
        self.assertEqual(self.qpart.text, '  ab\n  cd')
Exemple #39
0
    def test_search(self):
        window.top_search_bar.setText("trib")
        QTest.keyClick(window.top_search_bar, Qt.Key_Enter)
        self.wait_for_list_populated(window.search_results_list, num_items=20)
        self.screenshot(window, name="search_results_all")

        QTest.mouseClick(window.search_results_channels_button, Qt.LeftButton)
        self.wait_for_list_populated(window.search_results_list)
        self.screenshot(window, name="search_results_channels")
        QTest.mouseClick(window.search_results_torrents_button, Qt.LeftButton)
        self.wait_for_list_populated(window.search_results_list)
        self.screenshot(window, name="search_results_torrents")
Exemple #40
0
def tst_channels_widget(window,
                        widget,
                        widget_name,
                        sort_column=1,
                        test_filter=True,
                        test_subscribe=True):
    wait_for_list_populated(widget.content_table)
    screenshot(window, name=f"{widget_name}-page")

    # Sort
    widget.content_table.sortByColumn(sort_column, 1)
    wait_for_list_populated(widget.content_table)
    screenshot(window, name=f"{widget_name}-sorted")
    max_items = min(widget.content_table.model().channel_info["total"], 50)
    assert widget.content_table.verticalHeader().count() <= max_items

    # Filter
    if test_filter:
        old_num_items = widget.content_table.verticalHeader().count()
        QTest.keyClick(widget.channel_torrents_filter_input, 'r')
        wait_for_list_populated(widget.content_table)
        screenshot(window, name=f"{widget_name}-filtered")
        assert widget.content_table.verticalHeader().count() <= old_num_items
        QTest.keyPress(widget.channel_torrents_filter_input, Qt.Key_Backspace)
        wait_for_list_populated(widget.content_table)

    if test_subscribe:
        # Unsubscribe and subscribe again
        index = get_index_of_row_column(
            widget.content_table, 0,
            widget.model.column_position[Column.VOTES])
        widget.content_table.on_subscribe_control_clicked(index)
        QTest.qWait(200)
        window.dialog.button_clicked.emit(0)
        screenshot(window, name=f"{widget_name}-unsubscribed")
        widget.content_table.on_subscribe_control_clicked(index)
        QTest.qWait(200)
        window.dialog.button_clicked.emit(0)

    # Test channel view
    index = get_index_of_row_column(widget.content_table, 0,
                                    widget.model.column_position[Column.NAME])
    widget.content_table.on_table_item_clicked(index)
    wait_for_list_populated(widget.content_table)
    screenshot(window, name=f"{widget_name}-channel_loaded")

    # Click the first torrent
    index = get_index_of_row_column(widget.content_table, 0,
                                    widget.model.column_position[Column.NAME])
    widget.content_table.on_table_item_clicked(index)
    QTest.qWait(100)
    screenshot(window, name=f"{widget_name}-torrent_details")
Exemple #41
0
def click(key):
    clock_before = time.clock()

    if isinstance(key, str):
        QTest.keyClicks(ninja_editor, key)
    else:
        QTest.keyClick(ninja_editor, key)
    while qapp.hasPendingEvents():
        qapp.processEvents()

    clock_after = time.clock()
    ms = int((clock_after - clock_before) * 100)
    click_times[ms] = click_times.get(ms, 0) + 1
Exemple #42
0
        def continueFunc(dialog):
            page = dialog._pageForItem["Lint/Python"]

            if enabled is not None:
                page.gbEnabled.setChecked(enabled)

            if checkedRb is not None:
                getattr(page, checkedRb).setChecked(True)

            if path is not None:
                page.leFlake8Path.setText(path)

            QTest.keyClick(dialog, Qt.Key_Enter)
Exemple #43
0
 def test_analyze_button_enocean(self):
     self.add_signal_to_form("enocean.coco")
     w = self.form.signal_tab_controller.signal_frames[1].ui.spinBoxCenterOffset
     w.setValue(0)
     QTest.keyClick(w, Qt.Key_Enter)
     w = self.form.signal_tab_controller.signal_frames[1].ui.spinBoxNoiseTreshold
     w.setValue(0.0111)
     QTest.keyClick(w, Qt.Key_Enter)
     self.cfc.assign_labels_action.setChecked(True)
     self.cfc.assign_message_type_action.setChecked(True)
     self.cfc.assign_participants_action.setChecked(True)
     self.cfc.ui.btnAnalyze.click()
     self.assertTrue(True)
Exemple #44
0
    def test_1(self):
        self._rm()
        self.assertFalse(self._exists())
        self.qpart.show()

        def acceptDialog():
            QTest.keyClick(self.app.focusWidget(), Qt.Key_Enter, Qt.NoModifier)

        QTimer.singleShot(1000, acceptDialog)
        QTest.keyClick(self.qpart, Qt.Key_P, Qt.ControlModifier)

        self.assertTrue(self._exists())
        self._rm()
Exemple #45
0
    def test_copy_paste_utf8(self):
        self.qpart.show()
        self.qpart.text = 'фыва'
        for i in range(3):
            QTest.keyClick(self.qpart, Qt.Key_Right,
                           Qt.AltModifier | Qt.ShiftModifier)
        QTest.keyClick(self.qpart, Qt.Key_C, Qt.ControlModifier)

        QTest.keyClick(self.qpart, Qt.Key_Right)
        QTest.keyClick(self.qpart, Qt.Key_Space)
        QTest.keyClick(self.qpart, Qt.Key_V, Qt.ControlModifier)

        self.assertEqual(self.qpart.text, 'фыва фыв')
Exemple #46
0
def click(key):
    clockBefore = time.clock()

    if isinstance(key, str):
        QTest.keyClicks(q, key)
    else:
        QTest.keyClick(q, key)
    while app.hasPendingEvents():
        app.processEvents()

    clockAfter = time.clock()
    ms = int((clockAfter - clockBefore) * 1000)
    clickTimes[ms] = clickTimes.get(ms, 0) + 1
Exemple #47
0
    def test_select_and_search_multiline(self):
        qpart = core.workspace().currentDocument().qutepart

        qpart.text = _TEXT_MULTILINE_SEARCH

        # select first 'string'
        qpart.selectedPosition = ((0, 0), (1, 1))
        QTest.keyClick(core.mainWindow(), Qt.Key_F, Qt.ControlModifier)

        self.keyClick(Qt.Key_F3)

        self.assertEqual(qpart.selectedPosition, ((3, 0), (4, 1)))
        self.assertEqual(qpart.selectedText, "a\nb")
Exemple #48
0
 def continueFunc(dialog):
     page = dialog._pageForItem["Plugins"]
     item = dialog._itemByPath(["Plugins"])
     item.setSelected(True)
     page.update(self._EMPTY_USERPLUGINS)
     introLabel = \
         page.children()[0].children()[0].children()[0].children()[1]
     self.assertNotEqual(
         introLabel.text().find("<code>0</code>"),
         -1)
     self.assertNotEqual(
         introLabel.text().find(PLUGIN_DIR_PATH),
         -1)
     QTest.keyClick(dialog, Qt.Key_Enter)
Exemple #49
0
 async def exec_test():
     await asyncio.sleep(1)
     QTest.mouseClick(certification_dialog.ui.radio_pubkey,
                      Qt.LeftButton)
     QTest.keyClicks(certification_dialog.ui.edit_pubkey,
                     "FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn")
     QTest.mouseClick(
         certification_dialog.ui.button_box.button(QDialogButtonBox.Ok),
         Qt.LeftButton)
     await asyncio.sleep(3)
     topWidgets = QApplication.topLevelWidgets()
     for w in topWidgets:
         if type(w) is QMessageBox:
             QTest.keyClick(w, Qt.Key_Enter)
Exemple #50
0
def keySequenceClicks(widget, keySequence, extraModifiers=Qt.NoModifier):
    """Use QTest.keyClick to send a QKeySequence to a widget."""

    # This is based on a simplified version of http://stackoverflow.com/questions/14034209/convert-string-representation-of-keycode-to-qtkey-or-any-int-and-back. I added code to handle the case in which the resulting key contains a modifier (for example, Shift+Home). When I execute QTest.keyClick(widget, keyWithModifier), I get the error "ASSERT: "false" in file .\qasciikey.cpp, line 495". To fix this, the following code splits the key into a key and its modifier.
    # Bitmask for all modifier keys.
    modifierMask = int(Qt.ShiftModifier | Qt.ControlModifier | Qt.AltModifier
                       | Qt.MetaModifier | Qt.KeypadModifier)
    ks = QKeySequence(keySequence)
    # For now, we don't handle a QKeySequence("Ctrl") or any other modified by itself.
    assert ks.count() > 0
    for _, key in enumerate(ks):
        modifiers = Qt.KeyboardModifiers((key & modifierMask) | extraModifiers)
        key = key & ~modifierMask
        QTest.keyClick(widget, key, modifiers)
Exemple #51
0
    def test_completion_enabled(self):
        self._assertNotVisible()

        self.qpart.completionEnabled = True
        QTest.keyClicks(self.qpart, "comple")
        self._assertVisible()

        for i in range(len('comple')):
            QTest.keyClick(self.qpart, Qt.Key_Backspace)
        self._assertNotVisible()

        self.qpart.completionEnabled = False
        QTest.keyClicks(self.qpart, "comple")
        self._assertNotVisible()
    def testIncrementorClampMaxByIncrementor(self):
        QTest.keyClicks(self.dw.inLeft, "179")
        QTest.keyClicks(self.dw.inLeftMin, "59")
        QTest.keyClick(self.dw.inLeftMin, QtCore.Qt.Key_Up)
        self.assertEqual("180", self.dw.inLeft.text())
        self.assertEqual("0", self.dw.inLeftMin.text())
        self.assertEqual(helperFormatCoordinates("180.000000000"),
                         self.dw.inLeftDec.text())

        QTest.keyClick(self.dw.inLeftMin, QtCore.Qt.Key_Up)
        self.assertEqual("180", self.dw.inLeft.text())
        self.assertEqual("0", self.dw.inLeftMin.text())
        self.assertEqual(helperFormatCoordinates("180.000000000"),
                         self.dw.inLeftDec.text())
Exemple #53
0
    def test_paste_replace_selection(self):
        self.qpart.show()
        self.qpart.text = 'asdf'

        for i in range(4):
            QTest.keyClick(self.qpart, Qt.Key_Right,
                           Qt.AltModifier | Qt.ShiftModifier)
        QTest.keyClick(self.qpart, Qt.Key_C, Qt.ControlModifier)

        QTest.keyClick(self.qpart, Qt.Key_End)
        QTest.keyClick(self.qpart, Qt.Key_Left, Qt.ShiftModifier)
        QTest.keyClick(self.qpart, Qt.Key_V, Qt.ControlModifier)

        self.assertEqual(self.qpart.text, 'asdasdf')
Exemple #54
0
    def test_copy_paste(self):
        self.qpart.indentUseTabs = True
        self.qpart.show()
        self.qpart.text = 'xx 123 yy\n' + \
                          'xx 456 yy\n' + \
                          'xx 789 yy\n' + \
                          '\n' + \
                          'asdfghijlmn\n' + \
                          'x\t\n' + \
                          '\n' + \
                          '\t\t\n' + \
                          'end\n'
        self.qpart.cursorPosition = 0, 3
        for i in range(3):
            QTest.keyClick(self.qpart, Qt.Key_Right,
                           Qt.AltModifier | Qt.ShiftModifier)
        for i in range(2):
            QTest.keyClick(self.qpart, Qt.Key_Down,
                           Qt.AltModifier | Qt.ShiftModifier)

        QTest.keyClick(self.qpart, Qt.Key_C, Qt.ControlModifier)

        self.qpart.cursorPosition = 4, 10
        QTest.keyClick(self.qpart, Qt.Key_V, Qt.ControlModifier)

        self.assertEqual(
            self.qpart.text,
            'xx 123 yy\nxx 456 yy\nxx 789 yy\n\nasdfghijlm123n\nx\t      456\n\t\t  789\n\t\t\nend\n'
        )
Exemple #55
0
def test_search(tribler_api, window):
    window.top_search_bar.setText("trib")
    QTest.keyClick(window.top_search_bar, Qt.Key_Enter)
    wait_for_variable(window, "search_results_page.search_request")
    screenshot(window, name="search_loading_page")
    QTest.mouseClick(window.search_results_page.show_results_button,
                     Qt.LeftButton)
    tst_channels_widget(
        window,
        window.search_results_page.results_page,
        "search_results",
        sort_column=2,
        test_filter=False,
        test_subscribe=False,
    )
Exemple #56
0
    def test_manual(self):
        self._window.show()

        self.qpart.text = 'aaaaa\naaaaaXXXXX\n'

        base._processPendingEvents(self.app)

        self.qpart.cursorPosition = (2, 0)
        QTest.keyClicks(self.qpart, "a")

        QTest.keyPress(self.qpart, Qt.Key_Space, Qt.ControlModifier, 100)

        QTest.keyClicks(self.qpart, "a")
        QTest.keyClick(self.qpart, Qt.Key_Tab)
        self.assertEqual(self.qpart.text, 'aaaaa\naaaaaXXXXX\naaaaa')
def testCreateVirtualHelix(cnapp):
    """Alt+Click on a 5' or 3' endpoint extends it to its boundary."""
    # Create a new Honeycomb part
    main_toolbar = cnapp.window.main_toolbar
    new_dna_part_button = main_toolbar.widgetForAction(
        cnapp.window.action_new_dnapart)
    QTest.mouseClick(new_dna_part_button, Qt.LeftButton, delay=DELAY)
    # Click each SliceHelix
    slicerootitem = cnapp.window.sliceroot
    assert len(slicerootitem.instance_items) == 1
    slice_part_item = list(slicerootitem.instance_items.values())[0]
    QTest.keyClick(cnapp.window, Qt.Key_H, delay=DELAY)
    QTest.keyClick(cnapp.window, Qt.Key_N, delay=DELAY)
    # could try different positions
    cnapp.graphicsItemClick(slice_part_item, Qt.LeftButton, delay=DELAY)
    cnapp.processEvents()
Exemple #58
0
    def insertVectors(self):
        # Add Vectors via the dialog
        self.window.select_strain_component_action.trigger()
        widget = self.getDockedWidget(self.window.docks,
                                      InsertVectorDialog.dock_flag)
        detector_names = list(widget.parent_model.instrument.detectors.keys())

        QTest.mouseClick(widget.execute_button, Qt.LeftButton)
        QTest.keyClicks(widget.detector_combobox,
                        detector_names[1][0],
                        delay=50)
        QTest.keyClick(widget.component_combobox, Qt.Key_Down)
        click_check_box(widget.reverse_checkbox)
        QTest.mouseClick(widget.execute_button, Qt.LeftButton)
        QTest.qWait(
            WAIT_TIME //
            5)  # wait is necessary since vectors are created on another thread

        mv = widget.parent_model.measurement_vectors
        self.assertEqual(mv.shape, (2, 6, 1))
        np.testing.assert_array_almost_equal(mv[0, :, 0], [1, 0, 0, 0, -1, 0],
                                             decimal=5)

        QTest.keyClicks(widget.alignment_combobox, "a")
        # QTest.mouseClick(widget.component_combobox, Qt.LeftButton, delay=100)
        QTest.keyClick(widget.component_combobox, Qt.Key_Down)
        QTest.mouseClick(widget.execute_button, Qt.LeftButton)
        QTest.qWait(WAIT_TIME // 5)

        QTest.keyClicks(widget.component_combobox, "k")
        QTest.keyClicks(widget.detector_combobox,
                        detector_names[0][0],
                        delay=50)
        edit_line_edit_text(widget.x_axis.form_lineedit, "1.0")
        edit_line_edit_text(widget.y_axis.form_lineedit, "1.0")
        QTest.mouseClick(widget.execute_button, Qt.LeftButton)
        QTest.qWait(WAIT_TIME // 5)

        mv = widget.parent_model.measurement_vectors
        self.assertEqual(mv.shape, (2, 6, 2))
        np.testing.assert_array_almost_equal(
            mv[0, :, 1], [-0.70711, -0.70711, 0, 0, 0, -1.0], decimal=5)

        # Test Vector Manager
        widget = self.getDockedWidget(self.window.docks,
                                      VectorManager.dock_flag)
        self.assertTrue(widget.isVisible())