58 lines
2.6 KiB
Python
58 lines
2.6 KiB
Python
from tests.QtTestCase import QtTestCase
|
|
from urh.controller.dialogs.OptionsDialog import OptionsDialog
|
|
from urh.dev.BackendHandler import BackendHandler
|
|
from urh.models.PluginListModel import PluginListModel
|
|
from urh.plugins.PluginManager import PluginManager
|
|
|
|
|
|
class TestOptionsGUI(QtTestCase):
|
|
def setUp(self):
|
|
super().setUp()
|
|
self.dialog = OptionsDialog(self.form.plugin_manager.installed_plugins, parent=self.form)
|
|
|
|
if self.SHOW:
|
|
self.dialog.show()
|
|
|
|
def test_generation_tab(self):
|
|
self.dialog.ui.tabWidget.setCurrentIndex(0)
|
|
self.assertEqual(self.dialog.ui.checkBoxDefaultFuzzingPause.isChecked(),
|
|
self.dialog.ui.doubleSpinBoxFuzzingPause.isEnabled())
|
|
|
|
self.dialog.ui.checkBoxDefaultFuzzingPause.click()
|
|
self.assertEqual(self.dialog.ui.checkBoxDefaultFuzzingPause.isChecked(),
|
|
self.dialog.ui.doubleSpinBoxFuzzingPause.isEnabled())
|
|
|
|
self.dialog.ui.checkBoxDefaultFuzzingPause.click()
|
|
self.assertEqual(self.dialog.ui.checkBoxDefaultFuzzingPause.isChecked(),
|
|
self.dialog.ui.doubleSpinBoxFuzzingPause.isEnabled())
|
|
|
|
def test_plugins_tab(self):
|
|
self.dialog.ui.tabWidget.setCurrentIndex(3)
|
|
self.assertEqual(self.dialog.ui.tabWidget.tabText(3), "Plugins")
|
|
|
|
list_view = self.dialog.plugin_controller.ui.listViewPlugins
|
|
model = list_view.model()
|
|
self.assertIsInstance(model, PluginListModel)
|
|
self.assertEqual(model.rowCount(), len(PluginManager().installed_plugins))
|
|
|
|
for i in range(model.rowCount()):
|
|
descr = self.dialog.plugin_controller.ui.txtEditPluginDescription.toPlainText()
|
|
list_view.setCurrentIndex(model.index(i, 0))
|
|
self.assertNotEqual(descr, self.dialog.plugin_controller.ui.txtEditPluginDescription.toPlainText())
|
|
|
|
def test_device_tab(self):
|
|
self.dialog.ui.tabWidget.setCurrentIndex(4)
|
|
self.assertEqual(self.dialog.ui.tabWidget.tabText(4), "Device")
|
|
|
|
self.assertEqual(self.dialog.ui.tblDevices.model().rowCount(), len(BackendHandler.DEVICE_NAMES))
|
|
|
|
|
|
def test_field_type_tab(self):
|
|
self.dialog.ui.tabWidget.setCurrentWidget(self.dialog.ui.tabFieldtypes)
|
|
n_rows = self.dialog.ui.tblLabeltypes.model().rowCount()
|
|
self.assertGreater(n_rows, 1)
|
|
self.dialog.ui.btnAddLabelType.click()
|
|
self.assertEqual(n_rows + 1, self.dialog.ui.tblLabeltypes.model().rowCount())
|
|
self.dialog.ui.btnRemoveLabeltype.click()
|
|
self.assertEqual(n_rows, self.dialog.ui.tblLabeltypes.model().rowCount())
|