Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PR: Fixes due to the new Pytest 4 #8259

Merged
merged 7 commits into from
Nov 17, 2018
Merged
Prev Previous commit
Next Next commit
Testing: Avoid calling our fixtures as functions
This is deprecated since Pytest 4
  • Loading branch information
ccordoba12 committed Nov 16, 2018
commit 23254d4975f2190342e62a2a61ca632e2a78d1ec
7 changes: 4 additions & 3 deletions spyder/app/tests/test_tour.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,17 @@
# Local imports
from spyder.app.tour import TourTestWindow


@pytest.fixture
def setup_tour(qtbot):
def tour(qtbot):
"Setup the QMainWindow for the tour."
tour = TourTestWindow()
qtbot.addWidget(tour)
return tour

def test_tour(qtbot):

def test_tour(tour, qtbot):
"""Test tour."""
tour = setup_tour(qtbot)
tour.show()
assert tour

Expand Down
20 changes: 9 additions & 11 deletions spyder/plugins/tests/test_findinfiles.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,22 +26,21 @@


@pytest.fixture
def findinfiles_bot(qtbot):
def findinfiles(qtbot):
"""Set up SearchInComboBox combobox."""
findinfiles_plugin = FindInFiles()
qtbot.addWidget(findinfiles_plugin)
return findinfiles_plugin, qtbot
return findinfiles_plugin


# ---- Tests for FindInFiles plugin

def test_closing_plugin(qtbot, mocker):
def test_closing_plugin(findinfiles, qtbot, mocker):
"""
Test that the external paths listed in the combobox are saved and loaded
correctly from the spyder config file.
"""
findinfiles_plugin, qtbot = findinfiles_bot(qtbot)
path_selection_combo = findinfiles_plugin.find_options.path_selection_combo
path_selection_combo = findinfiles.find_options.path_selection_combo
path_selection_combo.clear_external_paths()
assert path_selection_combo.get_external_paths() == []

Expand All @@ -58,14 +57,13 @@ def test_closing_plugin(qtbot, mocker):
path_selection_combo.setCurrentIndex(SELECT_OTHER)
assert path_selection_combo.get_external_paths() == expected_results

findinfiles_plugin.closing_plugin()
assert findinfiles_plugin.get_option('path_history') == expected_results
findinfiles.closing_plugin()
assert findinfiles.get_option('path_history') == expected_results

# Close and restart the plugin and assert that the external_path_history
# Close the plugin and assert that the external_path_history
# has been saved and loaded as expected.
findinfiles_plugin.close()
findinfiles_plugin, qtbot = findinfiles_bot(qtbot)
path_selection_combo = findinfiles_plugin.find_options.path_selection_combo
findinfiles.close()
path_selection_combo = findinfiles.find_options.path_selection_combo
assert path_selection_combo.get_external_paths() == expected_results


Expand Down
44 changes: 26 additions & 18 deletions spyder/plugins/tests/test_layoutdialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,36 +14,44 @@
# Local imports
from spyder.plugins.layoutdialog import LayoutSettingsDialog, LayoutSaveDialog


@pytest.fixture
def setup_layout_settings_dialog(qtbot, parent, names, order, active):
def layout_settings_dialog(qtbot, request):
"""Set up LayoutSettingsDialog."""
widget = LayoutSettingsDialog(parent, names, order, active)
names, order, active = request.param
widget = LayoutSettingsDialog(None, names, order, active)
qtbot.addWidget(widget)
return widget


@pytest.fixture
def setup_layout_save_dialog(qtbot, parent, order):
def layout_save_dialog(qtbot, request):
"""Set up LayoutSaveDialog."""
widget = LayoutSaveDialog(parent, order)
order = request.param
widget = LayoutSaveDialog(None, order)
qtbot.addWidget(widget)
return widget

def test_layout_settings_dialog(qtbot):

@pytest.mark.parametrize('layout_settings_dialog',
[(['test', 'tester', '20', '30', '40'],
['test', 'tester', '20', '30', '40'],
['test', 'tester']
)],
indirect=True)
def test_layout_settings_dialog(layout_settings_dialog):
"""Run layout settings dialog."""
names = ['test', 'tester', '20', '30', '40']
order = ['test', 'tester', '20', '30', '40']
active = ['test', 'tester']
layout_settings_dlg = setup_layout_settings_dialog(qtbot, None, names,
order, active)
layout_settings_dlg.show()
assert layout_settings_dlg

def test_layout_save_dialog(qtbot):
layout_settings_dialog.show()
assert layout_settings_dialog


@pytest.mark.parametrize('layout_save_dialog',
[['test', 'tester', '20', '30', '40']],
indirect=True)
def test_layout_save_dialog(layout_save_dialog):
"""Run layout save dialog."""
order = ['test', 'tester', '20', '30', '40']
layout_save_dlg = setup_layout_save_dialog(qtbot, None, order)
layout_save_dlg.show()
assert layout_save_dlg
layout_save_dialog.show()
assert layout_save_dialog


if __name__ == "__main__":
Expand Down
11 changes: 6 additions & 5 deletions spyder/utils/tests/test_environ.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,9 @@
# Local imports
from spyder.utils.test import close_message_box


@pytest.fixture
def setup_environ(qtbot):
def environ_dialog(qtbot):
"Setup the Environment variables Dialog taking into account the os."
if os.name == 'nt':
from spyder.utils.environ import WinUserEnvDialog
Expand All @@ -33,12 +34,12 @@ def setup_environ(qtbot):

return dialog

def test_environ(qtbot):

def test_environ(environ_dialog, qtbot):
"""Test the environment variables dialog."""
QTimer.singleShot(1000, lambda: close_message_box(qtbot))
dialog = setup_environ(qtbot)
dialog.show()
assert dialog
environ_dialog.show()
assert environ_dialog


if __name__ == "__main__":
Expand Down
6 changes: 3 additions & 3 deletions spyder/widgets/github/tests/test_github_login.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
# Fixtures
# =============================================================================
@pytest.fixture
def setup_dialog(qtbot):
def github_dialog(qtbot):
"""Set up error report dialog."""
widget = DlgGitHubLogin(None, None, None, None)
qtbot.addWidget(widget)
Expand All @@ -30,9 +30,9 @@ def setup_dialog(qtbot):
# =============================================================================
# Tests
# =============================================================================
def test_dialog(qtbot):
def test_dialog(github_dialog, qtbot):
"""Test that error report dialog UI behaves properly."""
dlg = setup_dialog(qtbot)
dlg = github_dialog

# Assert Sign in button is disabled at first
assert not dlg.bt_sign_in.isEnabled()
Expand Down
7 changes: 4 additions & 3 deletions spyder/widgets/projects/tests/test_configdialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,18 @@
ProjectPreferences)

@pytest.fixture
def setup_projects_preferences(qtbot):
def projects_preferences(qtbot):
"""Set up ProjectPreferences."""
project_dir = tempfile.mkdtemp() + osp.sep + '.spyproject'
project = EmptyProject(project_dir)
project_preferences = ProjectPreferences(None, project)
qtbot.addWidget(project_preferences)
return (project, project_preferences)

def test_projects_preferences(qtbot):

def test_projects_preferences(projects_preferences):
"""Run Project Preferences."""
project, preferences = setup_projects_preferences(qtbot)
project, preferences = projects_preferences
preferences.resize(250, 480)
preferences.show()
assert preferences
Expand Down
11 changes: 6 additions & 5 deletions spyder/widgets/projects/tests/test_projectdialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,19 @@
# Local imports
from spyder.widgets.projects.projectdialog import ProjectDialog


@pytest.fixture
def setup_projects_dialog(qtbot):
def projects_dialog(qtbot):
"""Set up ProjectDialog."""
dlg = ProjectDialog(None)
qtbot.addWidget(dlg)
return dlg

def test_project_dialog(qtbot):

def test_project_dialog(projects_dialog):
"""Run project dialog."""
dlg = setup_projects_dialog(qtbot)
dlg.show()
assert dlg
projects_dialog.show()
assert projects_dialog


if __name__ == "__main__":
Expand Down
2 changes: 1 addition & 1 deletion spyder/widgets/pydocgui.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ def completer(self):
def quit_server(self):
if PY3:
# Python 3
if self.server.serving:
if self.server and self.server.serving:
self.server.stop()
else:
# Python 2
Expand Down
7 changes: 4 additions & 3 deletions spyder/widgets/tests/test_browser.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,17 @@
# Local imports
from spyder.widgets.browser import WebBrowser


@pytest.fixture
def setup_browser(qtbot):
def browser(qtbot):
"""Set up WebBrowser."""
widget = WebBrowser()
qtbot.addWidget(widget)
return widget

def test_browser(qtbot):

def test_browser(browser):
"""Run web browser."""
browser = setup_browser(qtbot)
browser.set_home_url('https://www.google.com/')
browser.go_home()
browser.show()
Expand Down
13 changes: 7 additions & 6 deletions spyder/widgets/tests/test_dependencies.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,23 +15,24 @@
from spyder.widgets.dependencies import DependenciesDialog
from spyder import dependencies


@pytest.fixture
def setup_dependencies(qtbot):
def dependencies_dialog(qtbot):
"""Set up dependency widget test."""
widget = DependenciesDialog(None)
qtbot.addWidget(widget)
return widget

def test_dependencies(qtbot):

def test_dependencies(dependencies_dialog):
"""Run dependency widget test."""
# Test sample
dependencies.add("zmq", "Run introspection services", ">=10.0")
dependencies.add("foo", "Non-existent module", ">=1.0")

dlg = setup_dependencies(qtbot)
dlg.set_data(dependencies.DEPENDENCIES)
dlg.show()
assert dlg
dependencies_dialog.set_data(dependencies.DEPENDENCIES)
dependencies_dialog.show()
assert dependencies_dialog


if __name__ == "__main__":
Expand Down
8 changes: 4 additions & 4 deletions spyder/widgets/tests/test_editor.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,9 +97,9 @@ def editor_splitter_bot(qtbot):

# Tests
#-------------------------------
def test_find_number_matches(qtbot):
def test_find_number_matches(setup_editor):
"""Test for number matches in find/replace."""
editor_stack, editor = setup_editor(qtbot)
editor_stack, editor = setup_editor
editor_stack.find_widget.case_button.setChecked(True)
text = ' test \nTEST \nTest \ntesT '
editor.set_text(text)
Expand Down Expand Up @@ -267,8 +267,8 @@ def test_run_last_line_when_nonempty(editor_bot):
assert editor.toPlainText() == expected_new_text
assert editor.get_cursor_line_column() == (4, 0) # check cursor moves down

def test_find_replace_case_sensitive(qtbot):
editor_stack, editor = setup_editor(qtbot)
def test_find_replace_case_sensitive(setup_editor):
editor_stack, editor = setup_editor
editor_stack.find_widget.case_button.setChecked(True)
text = ' test \nTEST \nTest \ntesT '
editor.set_text(text)
Expand Down
26 changes: 14 additions & 12 deletions spyder/widgets/tests/test_explorer.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,33 +14,35 @@
# Local imports
from spyder.widgets.explorer import FileExplorerTest, ProjectExplorerTest


@pytest.fixture
def setup_file_explorer(qtbot):
def file_explorer(qtbot):
"""Set up FileExplorerTest."""
widget = FileExplorerTest()
qtbot.addWidget(widget)
return widget


@pytest.fixture
def setup_project_explorer(qtbot):
def project_explorer(qtbot):
"""Set up FileExplorerTest."""
widget = ProjectExplorerTest()
qtbot.addWidget(widget)
return widget

def test_file_explorer(qtbot):

def test_file_explorer(file_explorer):
"""Run FileExplorerTest."""
fe = setup_file_explorer(qtbot)
fe.resize(640, 480)
fe.show()
assert fe
file_explorer.resize(640, 480)
file_explorer.show()
assert file_explorer


def test_project_explorer(qtbot):
def test_project_explorer(project_explorer):
"""Run ProjectExplorerTest."""
pe = setup_project_explorer(qtbot)
pe.resize(640, 480)
pe.show()
assert pe
project_explorer.resize(640, 480)
project_explorer.show()
assert project_explorer


if __name__ == "__main__":
Expand Down
Loading