Skip to content

Commit

Permalink
Merge pull request #6538 from ales-erjavec/pythoneditor-tests-cleanup
Browse files Browse the repository at this point in the history
[MNT] Cleanup python editor tests
  • Loading branch information
janezd committed Aug 25, 2023
2 parents ca5bac8 + 6bce762 commit e1bdd82
Show file tree
Hide file tree
Showing 10 changed files with 28 additions and 117 deletions.
17 changes: 10 additions & 7 deletions Orange/widgets/data/utils/pythoneditor/tests/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@

from orangewidget.utils import enum_as_int

from Orange.widgets import widget
from Orange.widgets.data.utils.pythoneditor.editor import PythonEditor
from Orange.widgets.data.utils.pythoneditor.vim import key_code
from Orange.widgets.tests.base import GuiTest


def _processPendingEvents(app):
Expand Down Expand Up @@ -57,13 +57,16 @@ def execWithArgs():
wrapper.__name__ = func.__name__ # for unittest test runner
return wrapper

class SimpleWidget(widget.OWWidget):
name = "Simple widget"

def __init__(self):
super().__init__()
self.qpart = PythonEditor(self)
self.mainArea.layout().addWidget(self.qpart)
class EditorTest(GuiTest):
def setUp(self) -> None:
super().setUp()
self.qpart = PythonEditor()

def tearDown(self) -> None:
self.qpart.terminate()
del self.qpart
super().tearDown()


def keySequenceClicks(widget_, keySequence, extraModifiers=Qt.NoModifier):
Expand Down
15 changes: 3 additions & 12 deletions Orange/widgets/data/utils/pythoneditor/tests/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,15 @@
""" # pylint: disable=duplicate-code
import unittest

from Orange.widgets.data.utils.pythoneditor.tests.base import SimpleWidget
from Orange.widgets.tests.base import WidgetTest
from Orange.widgets.data.utils.pythoneditor.tests.base import EditorTest

# pylint: disable=protected-access

class _BaseTest(WidgetTest):

class _BaseTest(EditorTest):
"""Base class for tests
"""

def setUp(self):
super().setUp()
self.widget = self.create_widget(SimpleWidget)
self.qpart = self.widget.qpart

def tearDown(self):
self.qpart.terminate()
super().tearDown()


class Selection(_BaseTest):

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,10 @@
import unittest

from Orange.widgets.data.utils.pythoneditor.brackethighlighter import BracketHighlighter
from Orange.widgets.data.utils.pythoneditor.tests.base import SimpleWidget
from Orange.widgets.tests.base import WidgetTest
from Orange.widgets.data.utils.pythoneditor.tests.base import EditorTest


class Test(WidgetTest):
"""Base class for tests
"""

def setUp(self):
super().setUp()
self.widget = self.create_widget(SimpleWidget)
self.qpart = self.widget.qpart

def tearDown(self):
self.qpart.terminate()
super().tearDown()

class Test(EditorTest):
def _verify(self, actual, expected):
converted = []
for item in actual:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,23 +9,10 @@
""" # pylint: disable=duplicate-code
import unittest

from Orange.widgets.data.utils.pythoneditor.tests.base import SimpleWidget
from Orange.widgets.tests.base import WidgetTest
from Orange.widgets.data.utils.pythoneditor.tests.base import EditorTest


class Test(WidgetTest):
"""Base class for tests
"""

def setUp(self):
super().setUp()
self.widget = self.create_widget(SimpleWidget)
self.qpart = self.widget.qpart

def tearDown(self):
self.qpart.terminate()
super().tearDown()

class Test(EditorTest):
def _ws_test(self,
text,
expectedResult,
Expand Down
16 changes: 2 additions & 14 deletions Orange/widgets/data/utils/pythoneditor/tests/test_edit.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,10 @@
from AnyQt.QtTest import QTest

from Orange.widgets.data.utils.pythoneditor.tests import base
from Orange.widgets.data.utils.pythoneditor.tests.base import SimpleWidget
from Orange.widgets.tests.base import WidgetTest
from Orange.widgets.data.utils.pythoneditor.tests.base import EditorTest


class Test(WidgetTest):
"""Base class for tests
"""
def setUp(self):
super().setUp()
self.widget = self.create_widget(SimpleWidget)
self.qpart = self.widget.qpart

def tearDown(self):
self.qpart.terminate()
super().tearDown()

class Test(EditorTest):
def test_overwrite_edit(self):
self.qpart.show()
self.qpart.text = 'abcd'
Expand Down
17 changes: 2 additions & 15 deletions Orange/widgets/data/utils/pythoneditor/tests/test_indent.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,10 @@
from AnyQt.QtCore import Qt
from AnyQt.QtTest import QTest

from Orange.widgets.data.utils.pythoneditor.tests.base import SimpleWidget
from Orange.widgets.tests.base import WidgetTest
from Orange.widgets.data.utils.pythoneditor.tests.base import EditorTest


class Test(WidgetTest):
"""Base class for tests
"""

def setUp(self):
super().setUp()
self.widget = self.create_widget(SimpleWidget)
self.qpart = self.widget.qpart

def tearDown(self):
self.qpart.terminate()
super().tearDown()

class Test(EditorTest):
def test_1(self):
# Indent with Tab
self.qpart.indentUseTabs = True
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,29 +7,21 @@
as published by the Free Software Foundation, version 2.1 of the license.
This is compatible with Orange3's GPL-3.0 license.
""" # pylint: disable=duplicate-code
import sys
import os

from AnyQt.QtCore import Qt
from AnyQt.QtTest import QTest

from Orange.widgets.data.utils.pythoneditor.tests.base import SimpleWidget
from Orange.widgets.tests.base import WidgetTest
from Orange.widgets.data.utils.pythoneditor.tests.base import EditorTest

# pylint: disable=protected-access

topLevelPath = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))
sys.path.insert(0, topLevelPath)
sys.path.insert(0, os.path.join(topLevelPath, 'tests'))


class IndentTest(WidgetTest):
class IndentTest(EditorTest):
"""Base class for tests
"""

def setUp(self):
self.widget = self.create_widget(SimpleWidget)
self.qpart = self.widget.qpart
super().setUp()
if hasattr(self, 'INDENT_WIDTH'):
self.qpart.indentWidth = self.INDENT_WIDTH

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,8 @@
""" # pylint: disable=duplicate-code
import unittest

import os.path
import sys

from Orange.widgets.data.utils.pythoneditor.tests.test_indenter.indenttest import IndentTest

sys.path.append(os.path.abspath(os.path.join(__file__, '..')))


class Test(IndentTest):
LANGUAGE = 'Python'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,10 @@
from AnyQt.QtGui import QKeySequence

from Orange.widgets.data.utils.pythoneditor.tests import base
from Orange.widgets.data.utils.pythoneditor.tests.base import SimpleWidget
from Orange.widgets.tests.base import WidgetTest
from Orange.widgets.data.utils.pythoneditor.tests.base import EditorTest


class _Test(WidgetTest):
"""Base class for tests
"""

def setUp(self):
super().setUp()
self.widget = self.create_widget(SimpleWidget)
self.qpart = self.widget.qpart

def tearDown(self):
self.qpart.hide()
self.qpart.terminate()
super().tearDown()

class _Test(EditorTest):
def test_real_to_visible(self):
self.qpart.text = 'abcdfg'
self.assertEqual(0, self.qpart._rectangularSelection._realToVisibleColumn(self.qpart.text, 0))
Expand Down
9 changes: 2 additions & 7 deletions Orange/widgets/data/utils/pythoneditor/tests/test_vim.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,18 @@
from AnyQt.QtCore import Qt
from AnyQt.QtTest import QTest

from Orange.widgets.data.utils.pythoneditor.tests.base import SimpleWidget
from Orange.widgets.data.utils.pythoneditor.tests.base import EditorTest
from Orange.widgets.data.utils.pythoneditor.vim import _globalClipboard
from Orange.widgets.tests.base import WidgetTest

# pylint: disable=too-many-lines


class _Test(WidgetTest):
class _Test(EditorTest):
"""Base class for tests
"""

def setUp(self):
super().setUp()
self.widget = self.create_widget(SimpleWidget)
self.qpart = self.widget.qpart
self.qpart.lines = ['The quick brown fox',
'jumps over the',
'lazy dog',
Expand All @@ -38,8 +35,6 @@ def setUp(self):

def tearDown(self):
self.qpart.hide()
self.qpart.terminate()
del self.qpart
super().tearDown()

def _onVimModeChanged(self, _, mode):
Expand Down

0 comments on commit e1bdd82

Please sign in to comment.