2508 """<p>Opens a dialog to send a feature request.</p>""" |
2509 """<p>Opens a dialog to send a feature request.</p>""" |
2509 )) |
2510 )) |
2510 self.requestFeatureAct.triggered.connect(self.__requestFeature) |
2511 self.requestFeatureAct.triggered.connect(self.__requestFeature) |
2511 self.actions.append(self.requestFeatureAct) |
2512 self.actions.append(self.requestFeatureAct) |
2512 |
2513 |
2513 self.utActGrp = createActionGroup(self) |
2514 self.testingActGrp = createActionGroup(self) |
2514 |
2515 |
2515 self.utDialogAct = EricAction( |
2516 self.testingDialogAct = EricAction( |
2516 self.tr('Unittest'), |
2517 self.tr('Testing'), |
2517 UI.PixmapCache.getIcon("unittest"), |
2518 UI.PixmapCache.getIcon("unittest"), |
2518 self.tr('&Unittest...'), |
2519 self.tr('&Testing...'), |
2519 0, 0, self.utActGrp, 'unittest') |
2520 0, 0, self.testingActGrp, 'unittest') |
2520 self.utDialogAct.setStatusTip(self.tr('Start unittest dialog')) |
2521 self.testingDialogAct.setStatusTip(self.tr('Start the testing dialog')) |
2521 self.utDialogAct.setWhatsThis(self.tr( |
2522 self.testingDialogAct.setWhatsThis(self.tr( |
2522 """<b>Unittest</b>""" |
2523 """<b>Testing</b>""" |
2523 """<p>Perform unit tests. The dialog gives you the""" |
2524 """<p>Perform test runs. The dialog gives the""" |
2524 """ ability to select and run a unittest suite.</p>""" |
2525 """ ability to select and run a test suite or""" |
|
2526 """ auto discover them.</p>""" |
2525 )) |
2527 )) |
2526 self.utDialogAct.triggered.connect(self.__unittest) |
2528 self.testingDialogAct.triggered.connect(self.__startTesting) |
2527 self.actions.append(self.utDialogAct) |
2529 self.actions.append(self.testingDialogAct) |
2528 |
2530 |
2529 self.utRestartAct = EricAction( |
2531 self.restartTestAct = EricAction( |
2530 self.tr('Unittest Restart'), |
2532 self.tr('Restart Last Test'), |
2531 UI.PixmapCache.getIcon("unittestRestart"), |
2533 UI.PixmapCache.getIcon("unittestRestart"), |
2532 self.tr('&Restart Unittest...'), |
2534 self.tr('&Restart Last Test...'), |
2533 0, 0, self.utActGrp, 'unittest_restart') |
2535 0, 0, self.testingActGrp, 'unittest_restart') |
2534 self.utRestartAct.setStatusTip(self.tr('Restart last unittest')) |
2536 self.restartTestAct.setStatusTip(self.tr('Restarts the last test')) |
2535 self.utRestartAct.setWhatsThis(self.tr( |
2537 self.restartTestAct.setWhatsThis(self.tr( |
2536 """<b>Restart Unittest</b>""" |
2538 """<b>Restart Last Test</b>""" |
2537 """<p>Restart the unittest performed last.</p>""" |
2539 """<p>Restarts the test performed last.</p>""" |
2538 )) |
2540 )) |
2539 self.utRestartAct.triggered.connect(self.__unittestRestart) |
2541 self.restartTestAct.triggered.connect(self.__restartTest) |
2540 self.utRestartAct.setEnabled(False) |
2542 self.restartTestAct.setEnabled(False) |
2541 self.actions.append(self.utRestartAct) |
2543 self.actions.append(self.restartTestAct) |
2542 |
2544 |
2543 self.utRerunFailedAct = EricAction( |
2545 self.rerunFailedTestsAct = EricAction( |
2544 self.tr('Unittest Rerun Failed'), |
2546 self.tr('Rerun Failed Tests'), |
2545 UI.PixmapCache.getIcon("unittestRerunFailed"), |
2547 UI.PixmapCache.getIcon("unittestRerunFailed"), |
2546 self.tr('Rerun Failed Tests...'), |
2548 self.tr('Rerun Failed Tests...'), |
2547 0, 0, self.utActGrp, 'unittest_rerun_failed') |
2549 0, 0, self.testingActGrp, 'unittest_rerun_failed') |
2548 self.utRerunFailedAct.setStatusTip(self.tr( |
2550 self.rerunFailedTestsAct.setStatusTip(self.tr( |
2549 'Rerun failed tests of the last run')) |
2551 'Rerun failed tests of the last run')) |
2550 self.utRerunFailedAct.setWhatsThis(self.tr( |
2552 self.rerunFailedTestsAct.setWhatsThis(self.tr( |
2551 """<b>Rerun Failed Tests</b>""" |
2553 """<b>Rerun Failed Tests</b>""" |
2552 """<p>Rerun all tests that failed during the last unittest""" |
2554 """<p>Rerun all tests that failed during the last test run.</p>""" |
2553 """ run.</p>""" |
|
2554 )) |
2555 )) |
2555 self.utRerunFailedAct.triggered.connect(self.__unittestRerunFailed) |
2556 self.rerunFailedTestsAct.triggered.connect(self.__rerunFailedTests) |
2556 self.utRerunFailedAct.setEnabled(False) |
2557 self.rerunFailedTestsAct.setEnabled(False) |
2557 self.actions.append(self.utRerunFailedAct) |
2558 self.actions.append(self.rerunFailedTestsAct) |
2558 |
2559 |
2559 self.utScriptAct = EricAction( |
2560 self.testScriptAct = EricAction( |
2560 self.tr('Unittest Script'), |
2561 self.tr('Test Script'), |
2561 UI.PixmapCache.getIcon("unittestScript"), |
2562 UI.PixmapCache.getIcon("unittestScript"), |
2562 self.tr('Unittest &Script...'), |
2563 self.tr('Test &Script...'), |
2563 0, 0, self.utActGrp, 'unittest_script') |
2564 0, 0, self.testingActGrp, 'unittest_script') |
2564 self.utScriptAct.setStatusTip(self.tr( |
2565 self.testScriptAct.setStatusTip(self.tr( |
2565 'Run unittest with current script')) |
2566 'Run tests of the current script')) |
2566 self.utScriptAct.setWhatsThis(self.tr( |
2567 self.testScriptAct.setWhatsThis(self.tr( |
2567 """<b>Unittest Script</b>""" |
2568 """<b>Test Script</b>""" |
2568 """<p>Run unittest with current script.</p>""" |
2569 """<p>Run tests with the current script.</p>""" |
2569 )) |
2570 )) |
2570 self.utScriptAct.triggered.connect(self.__unittestScript) |
2571 self.testScriptAct.triggered.connect(self.__startTestScript) |
2571 self.utScriptAct.setEnabled(False) |
2572 self.testScriptAct.setEnabled(False) |
2572 self.actions.append(self.utScriptAct) |
2573 self.actions.append(self.testScriptAct) |
2573 |
2574 |
2574 self.utProjectAct = EricAction( |
2575 self.testProjectAct = EricAction( |
2575 self.tr('Unittest Project'), |
2576 self.tr('Test Project'), |
2576 UI.PixmapCache.getIcon("unittestProject"), |
2577 UI.PixmapCache.getIcon("unittestProject"), |
2577 self.tr('Unittest &Project...'), |
2578 self.tr('Test &Project...'), |
2578 0, 0, self.utActGrp, 'unittest_project') |
2579 0, 0, self.testingActGrp, 'unittest_project') |
2579 self.utProjectAct.setStatusTip(self.tr( |
2580 self.testProjectAct.setStatusTip(self.tr( |
2580 'Run unittest with current project')) |
2581 'Run tests of the current project')) |
2581 self.utProjectAct.setWhatsThis(self.tr( |
2582 self.testProjectAct.setWhatsThis(self.tr( |
2582 """<b>Unittest Project</b>""" |
2583 """<b>Test Project</b>""" |
2583 """<p>Run unittest with current project.</p>""" |
2584 """<p>Run test of the current project.</p>""" |
2584 )) |
2585 )) |
2585 self.utProjectAct.triggered.connect(self.__unittestProject) |
2586 self.testProjectAct.triggered.connect(self.__startTestProject) |
2586 self.utProjectAct.setEnabled(False) |
2587 self.testProjectAct.setEnabled(False) |
2587 self.actions.append(self.utProjectAct) |
2588 self.actions.append(self.testProjectAct) |
2588 |
2589 |
2589 # check for Qt5 designer and linguist |
2590 # check for Qt5 designer and linguist |
2590 if Utilities.isWindowsPlatform(): |
2591 if Utilities.isWindowsPlatform(): |
2591 designerExe = os.path.join( |
2592 designerExe = os.path.join( |
2592 Utilities.getQtBinariesPath(), |
2593 Utilities.getQtBinariesPath(), |
3397 |
3398 |
3398 ############################################################## |
3399 ############################################################## |
3399 ## Extras/Unittest menu |
3400 ## Extras/Unittest menu |
3400 ############################################################## |
3401 ############################################################## |
3401 |
3402 |
3402 self.__menus["unittest"] = QMenu(self.tr('&Unittest'), self) |
3403 self.__menus["testing"] = QMenu(self.tr('&Testing'), self) |
3403 self.__menus["unittest"].setTearOffEnabled(True) |
3404 self.__menus["testing"].setTearOffEnabled(True) |
3404 self.__menus["unittest"].addAction(self.utDialogAct) |
3405 self.__menus["testing"].addAction(self.testingDialogAct) |
3405 self.__menus["unittest"].addSeparator() |
3406 self.__menus["testing"].addSeparator() |
3406 self.__menus["unittest"].addAction(self.utRestartAct) |
3407 self.__menus["testing"].addAction(self.restartTestAct) |
3407 self.__menus["unittest"].addAction(self.utRerunFailedAct) |
3408 self.__menus["testing"].addAction(self.rerunFailedTestsAct) |
3408 self.__menus["unittest"].addSeparator() |
3409 self.__menus["testing"].addSeparator() |
3409 self.__menus["unittest"].addAction(self.utScriptAct) |
3410 self.__menus["testing"].addAction(self.testScriptAct) |
3410 self.__menus["unittest"].addAction(self.utProjectAct) |
3411 self.__menus["testing"].addAction(self.testProjectAct) |
3411 |
3412 |
3412 self.__menus["extras"].addMenu(self.__menus["unittest"]) |
3413 self.__menus["extras"].addMenu(self.__menus["testing"]) |
3413 self.__menus["extras"].addSeparator() |
3414 self.__menus["extras"].addSeparator() |
3414 |
3415 |
3415 ############################################################## |
3416 ############################################################## |
3416 ## Extras/Builtin,Plugin,User tools menus |
3417 ## Extras/Builtin,Plugin,User tools menus |
3417 ############################################################## |
3418 ############################################################## |
3595 viewtb = self.viewmanager.initViewToolbar(self.toolbarManager) |
3596 viewtb = self.viewmanager.initViewToolbar(self.toolbarManager) |
3596 starttb, debugtb = self.debuggerUI.initToolbars(self.toolbarManager) |
3597 starttb, debugtb = self.debuggerUI.initToolbars(self.toolbarManager) |
3597 multiprojecttb = self.multiProject.initToolbar(self.toolbarManager) |
3598 multiprojecttb = self.multiProject.initToolbar(self.toolbarManager) |
3598 projecttb, vcstb = self.project.initToolbars(self.toolbarManager) |
3599 projecttb, vcstb = self.project.initToolbars(self.toolbarManager) |
3599 toolstb = QToolBar(self.tr("Tools"), self) |
3600 toolstb = QToolBar(self.tr("Tools"), self) |
3600 unittesttb = QToolBar(self.tr("Unittest"), self) |
3601 testingtb = QToolBar(self.tr("Testing"), self) |
3601 bookmarktb = self.viewmanager.initBookmarkToolbar(self.toolbarManager) |
3602 bookmarktb = self.viewmanager.initBookmarkToolbar(self.toolbarManager) |
3602 spellingtb = self.viewmanager.initSpellingToolbar(self.toolbarManager) |
3603 spellingtb = self.viewmanager.initSpellingToolbar(self.toolbarManager) |
3603 settingstb = QToolBar(self.tr("Settings"), self) |
3604 settingstb = QToolBar(self.tr("Settings"), self) |
3604 helptb = QToolBar(self.tr("Help"), self) |
3605 helptb = QToolBar(self.tr("Help"), self) |
3605 profilestb = QToolBar(self.tr("Profiles"), self) |
3606 profilestb = QToolBar(self.tr("Profiles"), self) |
3606 pluginstb = QToolBar(self.tr("Plugins"), self) |
3607 pluginstb = QToolBar(self.tr("Plugins"), self) |
3607 |
3608 |
3608 toolstb.setIconSize(Config.ToolBarIconSize) |
3609 toolstb.setIconSize(Config.ToolBarIconSize) |
3609 unittesttb.setIconSize(Config.ToolBarIconSize) |
3610 testingtb.setIconSize(Config.ToolBarIconSize) |
3610 settingstb.setIconSize(Config.ToolBarIconSize) |
3611 settingstb.setIconSize(Config.ToolBarIconSize) |
3611 helptb.setIconSize(Config.ToolBarIconSize) |
3612 helptb.setIconSize(Config.ToolBarIconSize) |
3612 profilestb.setIconSize(Config.ToolBarIconSize) |
3613 profilestb.setIconSize(Config.ToolBarIconSize) |
3613 pluginstb.setIconSize(Config.ToolBarIconSize) |
3614 pluginstb.setIconSize(Config.ToolBarIconSize) |
3614 |
3615 |
3615 toolstb.setObjectName("ToolsToolbar") |
3616 toolstb.setObjectName("ToolsToolbar") |
3616 unittesttb.setObjectName("UnittestToolbar") |
3617 testingtb.setObjectName("UnittestToolbar") |
3617 settingstb.setObjectName("SettingsToolbar") |
3618 settingstb.setObjectName("SettingsToolbar") |
3618 helptb.setObjectName("HelpToolbar") |
3619 helptb.setObjectName("HelpToolbar") |
3619 profilestb.setObjectName("ProfilesToolbar") |
3620 profilestb.setObjectName("ProfilesToolbar") |
3620 pluginstb.setObjectName("PluginsToolbar") |
3621 pluginstb.setObjectName("PluginsToolbar") |
3621 |
3622 |
3622 toolstb.setToolTip(self.tr("Tools")) |
3623 toolstb.setToolTip(self.tr("Tools")) |
3623 unittesttb.setToolTip(self.tr("Unittest")) |
3624 testingtb.setToolTip(self.tr("Unittest")) |
3624 settingstb.setToolTip(self.tr("Settings")) |
3625 settingstb.setToolTip(self.tr("Settings")) |
3625 helptb.setToolTip(self.tr("Help")) |
3626 helptb.setToolTip(self.tr("Help")) |
3626 profilestb.setToolTip(self.tr("Profiles")) |
3627 profilestb.setToolTip(self.tr("Profiles")) |
3627 pluginstb.setToolTip(self.tr("Plugins")) |
3628 pluginstb.setToolTip(self.tr("Plugins")) |
3628 |
3629 |
3632 act = filetb.actions()[0] |
3633 act = filetb.actions()[0] |
3633 sep = filetb.insertSeparator(act) |
3634 sep = filetb.insertSeparator(act) |
3634 filetb.insertAction(sep, self.newWindowAct) |
3635 filetb.insertAction(sep, self.newWindowAct) |
3635 self.toolbarManager.addToolBar(filetb, filetb.windowTitle()) |
3636 self.toolbarManager.addToolBar(filetb, filetb.windowTitle()) |
3636 |
3637 |
3637 # setup the unittest toolbar |
3638 # setup the testing toolbar |
3638 unittesttb.addAction(self.utDialogAct) |
3639 testingtb.addAction(self.testingDialogAct) |
3639 unittesttb.addSeparator() |
3640 testingtb.addSeparator() |
3640 unittesttb.addAction(self.utRestartAct) |
3641 testingtb.addAction(self.restartTestAct) |
3641 unittesttb.addAction(self.utRerunFailedAct) |
3642 testingtb.addAction(self.rerunFailedTestsAct) |
3642 unittesttb.addSeparator() |
3643 testingtb.addSeparator() |
3643 unittesttb.addAction(self.utScriptAct) |
3644 testingtb.addAction(self.testScriptAct) |
3644 unittesttb.addAction(self.utProjectAct) |
3645 testingtb.addAction(self.testProjectAct) |
3645 self.toolbarManager.addToolBar(unittesttb, unittesttb.windowTitle()) |
3646 self.toolbarManager.addToolBar(testingtb, testingtb.windowTitle()) |
3646 |
3647 |
3647 # setup the tools toolbar |
3648 # setup the tools toolbar |
3648 if self.designer4Act is not None: |
3649 if self.designer4Act is not None: |
3649 toolstb.addAction(self.designer4Act) |
3650 toolstb.addAction(self.designer4Act) |
3650 if self.linguist4Act is not None: |
3651 if self.linguist4Act is not None: |
5329 ) |
5329 ) |
5330 dlg = ToolGroupConfigurationDialog( |
5330 dlg = ToolGroupConfigurationDialog( |
5331 self.toolGroups, self.currentToolGroup, self) |
5331 self.toolGroups, self.currentToolGroup, self) |
5332 if dlg.exec() == QDialog.DialogCode.Accepted: |
5332 if dlg.exec() == QDialog.DialogCode.Accepted: |
5333 self.toolGroups, self.currentToolGroup = dlg.getToolGroups() |
5333 self.toolGroups, self.currentToolGroup = dlg.getToolGroups() |
5334 |
5334 |
5335 def __createUnitTestDialog(self): |
5335 def __createTestingDialog(self): |
5336 """ |
5336 """ |
5337 Private slot to generate the unit test dialog on demand. |
5337 Private slot to generate the testing dialog on demand. |
5338 """ |
5338 """ |
5339 if self.unittestDialog is None: |
5339 if self.__testingWidget is None: |
5340 from PyUnit.UnittestDialog import UnittestDialog |
5340 from Testing.TestingWidget import TestingWidget |
5341 self.unittestDialog = UnittestDialog( |
5341 self.__testingWidget = TestingWidget() |
5342 None, self.__debugServer, self) |
5342 self.__testingWidget.testFile.connect( |
5343 self.unittestDialog.unittestFile.connect( |
|
5344 self.viewmanager.setFileLine) |
5343 self.viewmanager.setFileLine) |
5345 self.unittestDialog.unittestStopped.connect(self.__unittestStopped) |
5344 self.__testingWidget.testRunStopped.connect( |
5346 |
5345 self.__testingStopped) |
5347 def __unittestStopped(self): |
5346 |
5348 """ |
5347 def __testingStopped(self): |
5349 Private slot to handle the end of a unit test run. |
5348 """ |
5350 """ |
5349 Private slot to handle the end of a test run. |
5351 self.utRerunFailedAct.setEnabled(self.unittestDialog.hasFailedTests()) |
5350 """ |
5352 self.utRestartAct.setEnabled(True) |
5351 self.rerunFailedTestsAct.setEnabled( |
5353 |
5352 self.__testingWidget.hasFailedTests()) |
5354 def __unittest(self): |
5353 self.restartTestAct.setEnabled(True) |
5355 """ |
5354 |
5356 Private slot for displaying the unittest dialog. |
5355 def __startTesting(self): |
5357 """ |
5356 """ |
5358 self.__createUnitTestDialog() |
5357 Private slot for displaying the testing dialog. |
5359 self.unittestDialog.show() |
5358 """ |
5360 self.unittestDialog.raise_() |
5359 self.__createTestingDialog() |
|
5360 self.__testingWidget.show() |
|
5361 self.__testingWidget.raise_() |
5361 |
5362 |
5362 @pyqtSlot() |
5363 @pyqtSlot() |
5363 @pyqtSlot(str) |
5364 @pyqtSlot(str) |
5364 def __unittestScript(self, prog=None): |
5365 def __startTestScript(self, testFile=None): |
5365 """ |
5366 """ |
5366 Private slot for displaying the unittest dialog and run the current |
5367 Private slot for displaying the testing dialog and run the current |
5367 script. |
5368 script. |
5368 |
5369 |
5369 @param prog the python program to be opened |
5370 @param testFile file containing the tests to be run |
5370 """ |
5371 @type str |
5371 if prog is None: |
5372 """ |
|
5373 if testFile is None: |
5372 aw = self.viewmanager.activeWindow() |
5374 aw = self.viewmanager.activeWindow() |
5373 fn = aw.getFileName() |
5375 fn = aw.getFileName() |
5374 tfn = Utilities.getTestFileName(fn) |
5376 testFile = [ |
5375 if os.path.exists(tfn): |
5377 f for f in Utilities.getTestFileNames(fn) + [fn] |
5376 prog = tfn |
5378 if os.path.exists(f) |
5377 else: |
5379 ][0] |
5378 prog = fn |
5380 |
5379 |
5381 self.__startTesting() |
5380 self.__unittest() |
5382 self.__testingWidget.setTestFile(testFile, forProject=False) |
5381 self.unittestDialog.setProjectMode(False) |
5383 self.restartTestAct.setEnabled(False) |
5382 self.unittestDialog.insertProg(prog) |
5384 self.rerunFailedTestsAct.setEnabled(False) |
5383 self.utRestartAct.setEnabled(False) |
5385 |
5384 self.utRerunFailedAct.setEnabled(False) |
5386 @pyqtSlot() |
5385 |
5387 def __startTestProject(self): |
5386 def __unittestProject(self): |
5388 """ |
5387 """ |
5389 Private slot for displaying the testing dialog and run the test for |
5388 Private slot for displaying the unittest dialog and run the current |
5390 the current project. |
5389 project. |
5391 """ |
5390 """ |
5392 testFile = None |
5391 prog = None |
|
5392 fn = self.project.getMainScript(True) |
5393 fn = self.project.getMainScript(True) |
5393 if fn: |
5394 if fn: |
5394 tfn = Utilities.getTestFileName(fn) |
5395 testFile = [ |
5395 if os.path.exists(tfn): |
5396 f for f in Utilities.getTestFileNames(fn) + [fn] |
5396 prog = tfn |
5397 if os.path.exists(f) |
5397 else: |
5398 ][0] |
5398 prog = fn |
5399 |
5399 |
5400 self.__startTesting() |
5400 self.__unittest() |
5401 self.__testingWidget.setTestFile(testFile, forProject=True) |
5401 self.unittestDialog.setProjectMode(True) |
5402 self.restartTestAct.setEnabled(False) |
5402 self.unittestDialog.insertProg(prog) |
5403 self.rerunFailedTestsAct.setEnabled(False) |
5403 self.utRestartAct.setEnabled(False) |
5404 |
5404 self.utRerunFailedAct.setEnabled(False) |
5405 def __restartTest(self): |
5405 |
5406 """ |
5406 def __unittestRestart(self): |
5407 Private slot to display the testing dialog and rerun the last |
5407 """ |
5408 test run. |
5408 Private slot to display the unittest dialog and rerun the last |
5409 """ |
5409 unit test. |
5410 self.__startTesting() |
5410 """ |
5411 self.__testingWidget.startTests() |
5411 self.__unittest() |
5412 |
5412 self.unittestDialog.startTests() |
5413 def __rerunFailedTests(self): |
5413 |
5414 """ |
5414 def __unittestRerunFailed(self): |
5415 Private slot to display the testing dialog and rerun all failed tests |
5415 """ |
|
5416 Private slot to display the unittest dialog and rerun all failed tests |
|
5417 of the last run. |
5416 of the last run. |
5418 """ |
5417 """ |
5419 self.__unittest() |
5418 self.__startTesting() |
5420 self.unittestDialog.startTests(failedOnly=True) |
5419 self.__testingWidget.startTests(failedOnly=True) |
5421 |
5420 |
5422 @pyqtSlot() |
5421 @pyqtSlot() |
5423 @pyqtSlot(str) |
5422 @pyqtSlot(str) |
5424 def __designer(self, fn=None): |
5423 def __designer(self, fn=None): |
5425 """ |
5424 """ |
6857 |
6856 |
6858 def __projectOpened(self): |
6857 def __projectOpened(self): |
6859 """ |
6858 """ |
6860 Private slot to handle the projectOpened signal. |
6859 Private slot to handle the projectOpened signal. |
6861 """ |
6860 """ |
6862 from Debugger.DebugClientCapabilities import HasUnittest |
6861 import Testing |
6863 self.__setWindowCaption(project=self.project.name) |
6862 self.__setWindowCaption(project=self.project.name) |
6864 cap = self.__debugServer.getClientCapabilities( |
6863 supported = Testing.isLanguageSupported( |
6865 self.project.getProjectLanguage()) |
6864 self.project.getProjectLanguage()) |
6866 self.utProjectAct.setEnabled(cap & HasUnittest) |
6865 self.testProjectAct.setEnabled(supported) |
6867 self.utProjectOpen = cap & HasUnittest |
6866 self.__testingProjectOpen = supported |
6868 |
6867 |
6869 def __projectClosed(self): |
6868 def __projectClosed(self): |
6870 """ |
6869 """ |
6871 Private slot to handle the projectClosed signal. |
6870 Private slot to handle the projectClosed signal. |
6872 """ |
6871 """ |
6873 self.__setWindowCaption(project="") |
6872 self.__setWindowCaption(project="") |
6874 self.utProjectAct.setEnabled(False) |
6873 self.testProjectAct.setEnabled(False) |
6875 if not self.utEditorOpen: |
6874 if not self.__testingEditorOpen: |
6876 self.utRestartAct.setEnabled(False) |
6875 self.restartTestAct.setEnabled(False) |
6877 self.utRerunFailedAct.setEnabled(False) |
6876 self.rerunFailedTestsAct.setEnabled(False) |
6878 self.utProjectOpen = False |
6877 self.__testingProjectOpen = False |
6879 |
6878 |
6880 def __programChange(self, fn): |
6879 def __programChange(self, fn): |
6881 """ |
6880 """ |
6882 Private slot to handle the programChange signal. |
6881 Private slot to handle the programChange signal. |
6883 |
6882 |
6911 """ |
6910 """ |
6912 self.wizardsMenuAct.setEnabled( |
6911 self.wizardsMenuAct.setEnabled( |
6913 len(self.__menus["wizards"].actions()) > 0) |
6912 len(self.__menus["wizards"].actions()) > 0) |
6914 |
6913 |
6915 if fn and str(fn) != "None": |
6914 if fn and str(fn) != "None": |
6916 dbs = self.__debugServer |
6915 import Testing |
6917 for language in dbs.getSupportedLanguages(): |
6916 if Testing.isLanguageSupported( |
6918 exts = dbs.getExtensions(language) |
6917 self.viewmanager.getOpenEditor(fn).getFileType() |
6919 if fn.endswith(exts): |
6918 ): |
6920 from Debugger.DebugClientCapabilities import HasUnittest |
6919 self.testScriptAct.setEnabled(True) |
6921 cap = dbs.getClientCapabilities(language) |
6920 self.__testingEditorOpen = True |
6922 self.utScriptAct.setEnabled(cap & HasUnittest) |
|
6923 self.utEditorOpen = cap & HasUnittest |
|
6924 return |
|
6925 |
|
6926 if self.viewmanager.getOpenEditor(fn).isPyFile(): |
|
6927 self.utScriptAct.setEnabled(True) |
|
6928 self.utEditorOpen = True |
|
6929 |
6921 |
6930 def __checkActions(self, editor): |
6922 def __checkActions(self, editor): |
6931 """ |
6923 """ |
6932 Private slot to check some actions for their enable/disable status. |
6924 Private slot to check some actions for their enable/disable status. |
6933 |
6925 |
6934 @param editor editor window |
6926 @param editor editor window |
6935 """ |
6927 """ |
6936 fn = editor.getFileName() if editor else None |
6928 fn = editor.getFileName() if editor else None |
6937 |
6929 |
6938 if fn: |
6930 if fn: |
6939 dbs = self.__debugServer |
6931 import Testing |
6940 for language in dbs.getSupportedLanguages(): |
6932 if Testing.isLanguageSupported(editor.getFileType()): |
6941 exts = dbs.getExtensions(language) |
6933 self.testScriptAct.setEnabled(True) |
6942 if fn.endswith(exts): |
6934 self.__testingEditorOpen = True |
6943 from Debugger.DebugClientCapabilities import HasUnittest |
|
6944 cap = dbs.getClientCapabilities(language) |
|
6945 self.utScriptAct.setEnabled(cap & HasUnittest) |
|
6946 self.utEditorOpen = cap & HasUnittest |
|
6947 return |
|
6948 |
|
6949 if editor.isPyFile(): |
|
6950 self.utScriptAct.setEnabled(True) |
|
6951 self.utEditorOpen = True |
|
6952 return |
6935 return |
6953 |
6936 |
6954 self.utScriptAct.setEnabled(False) |
6937 self.testScriptAct.setEnabled(False) |
6955 |
6938 |
6956 def __writeTasks(self): |
6939 def __writeTasks(self): |
6957 """ |
6940 """ |
6958 Private slot to write the tasks data to a JSON file (.etj). |
6941 Private slot to write the tasks data to a JSON file (.etj). |
6959 """ |
6942 """ |