diff -r 339bb8c8007d -r 39405e6eba20 eric7/UI/UserInterface.py --- a/eric7/UI/UserInterface.py Sun May 15 18:08:31 2022 +0200 +++ b/eric7/UI/UserInterface.py Mon May 16 17:22:43 2022 +0200 @@ -341,7 +341,7 @@ # set a few dialog members for non-modal dialogs created on demand self.programsDialog = None self.shortcutsDialog = None - self.unittestDialog = None + self.__unittestWidget = None self.findFileNameDialog = None self.diffDlg = None self.compareDlg = None @@ -2520,8 +2520,9 @@ self.utDialogAct.setStatusTip(self.tr('Start unittest dialog')) self.utDialogAct.setWhatsThis(self.tr( """<b>Unittest</b>""" - """<p>Perform unit tests. The dialog gives you the""" - """ ability to select and run a unittest suite.</p>""" + """<p>Perform unit tests. The dialog gives the""" + """ ability to select and run a unittest suite or""" + """auto discover them.</p>""" )) self.utDialogAct.triggered.connect(self.__unittest) self.actions.append(self.utDialogAct) @@ -5332,24 +5333,24 @@ if dlg.exec() == QDialog.DialogCode.Accepted: self.toolGroups, self.currentToolGroup = dlg.getToolGroups() - # TODO: adjust to new unit test framework (without debugger) def __createUnitTestDialog(self): """ Private slot to generate the unit test dialog on demand. """ - if self.unittestDialog is None: - from PyUnit.UnittestDialog import UnittestDialog - self.unittestDialog = UnittestDialog( - None, self.__debugServer, self) - self.unittestDialog.unittestFile.connect( + if self.__unittestWidget is None: + from Unittest.UnittestWidget import UnittestWidget + self.__unittestWidget = UnittestWidget() + self.__unittestWidget.unittestFile.connect( self.viewmanager.setFileLine) - self.unittestDialog.unittestStopped.connect(self.__unittestStopped) + self.__unittestWidget.unittestStopped.connect( + self.__unittestStopped) def __unittestStopped(self): """ Private slot to handle the end of a unit test run. """ - self.utRerunFailedAct.setEnabled(self.unittestDialog.hasFailedTests()) + self.utRerunFailedAct.setEnabled( + self.__unittestWidget.hasFailedTests()) self.utRestartAct.setEnabled(True) def __unittest(self): @@ -5357,50 +5358,48 @@ Private slot for displaying the unittest dialog. """ self.__createUnitTestDialog() - self.unittestDialog.show() - self.unittestDialog.raise_() + self.__unittestWidget.show() + self.__unittestWidget.raise_() @pyqtSlot() @pyqtSlot(str) - def __unittestScript(self, prog=None): + def __unittestScript(self, testFile=None): """ Private slot for displaying the unittest dialog and run the current script. - @param prog the python program to be opened - """ - if prog is None: + @param testFile file containing the unit tests to be run + @type str + """ + if testFile is None: aw = self.viewmanager.activeWindow() fn = aw.getFileName() tfn = Utilities.getTestFileName(fn) if os.path.exists(tfn): - prog = tfn + testFile = tfn else: - prog = fn + testFile = fn self.__unittest() - self.unittestDialog.setProjectMode(False) - self.unittestDialog.insertProg(prog) + self.__unittestWidget.setTestFile(testFile) self.utRestartAct.setEnabled(False) self.utRerunFailedAct.setEnabled(False) - + + @pyqtSlot() def __unittestProject(self): """ Private slot for displaying the unittest dialog and run the current project. """ - prog = None + testFile = None fn = self.project.getMainScript(True) if fn: tfn = Utilities.getTestFileName(fn) if os.path.exists(tfn): - prog = tfn - else: - prog = fn + testFile = tfn self.__unittest() - self.unittestDialog.setProjectMode(True) - self.unittestDialog.insertProg(prog) + self.__unittestWidget.setTestFile(testFile) self.utRestartAct.setEnabled(False) self.utRerunFailedAct.setEnabled(False) @@ -5410,7 +5409,7 @@ unit test. """ self.__unittest() - self.unittestDialog.startTests() + self.__unittestWidget.startTests() def __unittestRerunFailed(self): """ @@ -5418,7 +5417,7 @@ of the last run. """ self.__unittest() - self.unittestDialog.startTests(failedOnly=True) + self.__unittestWidget.startTests(failedOnly=True) @pyqtSlot() @pyqtSlot(str) @@ -6836,11 +6835,11 @@ self.shell.clearAllHistories() if unittests: # clear the unit test histories - if self.unittestDialog is None: - from PyUnit.UnittestDialog import clearSavedHistories + if self.__unittestWidget is None: + from Unittest.UnittestWidget import clearSavedHistories clearSavedHistories() else: - self.unittestDialog.clearRecent() + self.__unittestWidget.clearRecent() if vcs: # clear the VCS related histories self.pluginManager.clearPluginsPrivateData("version_control")