diff --git a/scripts/check_dependencies.py b/scripts/check_dependencies.py index e265629a7..1dd5b3131 100755 --- a/scripts/check_dependencies.py +++ b/scripts/check_dependencies.py @@ -58,7 +58,6 @@ LINUX_MODULES = [ # Optical drive detection. 'dbus', 'distro', - 'Xlib', ] MACOSX_MODULES = [ diff --git a/setup.py b/setup.py index 223f2472f..bc433d883 100644 --- a/setup.py +++ b/setup.py @@ -138,7 +138,6 @@ using a computer and a data projector.""", 'pysword', 'pytest', 'pytest-qt', - 'python-xlib; platform_system=="Linux"', 'flake8', ] }, diff --git a/tests/functional/openlp_plugins/presentations/test_pdfcontroller.py b/tests/functional/openlp_plugins/presentations/test_pdfcontroller.py index bf84b5751..6cc7f9caa 100644 --- a/tests/functional/openlp_plugins/presentations/test_pdfcontroller.py +++ b/tests/functional/openlp_plugins/presentations/test_pdfcontroller.py @@ -26,12 +26,10 @@ import pytest from pathlib import Path from shutil import rmtree from tempfile import mkdtemp -from unittest import skipIf from unittest.mock import MagicMock from PyQt5 import QtCore, QtGui -from openlp.core.common import is_macosx, is_linux, is_win from openlp.core.display.screens import ScreenList from openlp.plugins.presentations.lib.pdfcontroller import PdfController, PdfDocument from tests.utils.constants import RESOURCE_PATH @@ -47,41 +45,11 @@ def pdf_env(settings, mock_plugin, mocked_qapp): mocked_qapp.primaryScreen = MagicMock() mocked_qapp.primaryScreen.return_value = mocked_screen ScreenList.create(mocked_qapp) - yield settings, mock_plugin, temp_folder_path, thumbnail_folder_path + yield mock_plugin, temp_folder_path, thumbnail_folder_path rmtree(thumbnail_folder_path) rmtree(temp_folder_path) -SCREEN = { - 'primary': False, - 'number': 1, - 'size': QtCore.QRect(0, 0, 1024, 768) -} -IS_CI = 'GITLAB_CI' in os.environ or 'APPVEYOR' in os.environ -IS_QT_QPA_PLATFORM_OFFSCREEN = 'QT_QPA_PLATFORM' in os.environ and os.environ['QT_QPA_PLATFORM'] == 'offscreen' - - -def get_screen_resolution(): - """ - Get the screen resolution - """ - if is_macosx(): - # Magic numbers... don't ask me why - return 1024, 768 - elif is_win(): - from win32api import GetSystemMetrics - return GetSystemMetrics(0), GetSystemMetrics(1) - elif is_linux(): - if IS_CI: - return 1024, 768 - else: - from Xlib.display import Display - resolution = Display().screen().root.get_geometry() - return resolution.width, resolution.height - else: - return 1024, 768 - - def test_constructor(settings, mock_plugin): """ Test the Constructor from the PdfController @@ -104,9 +72,9 @@ def load_pdf(pdf_env): test_file_path = RESOURCE_PATH / 'presentations' / 'pdf_test1.pdf' # WHEN: The Pdf is loaded - mock_plugin = pdf_env[1] - temp_folder_path = pdf_env[2] - thumbnail_folder_path = pdf_env[3] + mock_plugin = pdf_env[0] + temp_folder_path = pdf_env[1] + thumbnail_folder_path = pdf_env[2] controller = PdfController(plugin=mock_plugin) controller.temp_folder = temp_folder_path controller.thumbnail_folder = thumbnail_folder_path @@ -118,7 +86,6 @@ def load_pdf(pdf_env): assert 3 == document.get_slide_count(), 'The pagecount of the PDF should be 3.' -@skipIf(IS_QT_QPA_PLATFORM_OFFSCREEN, 'This test fails when QT_QPA_PLATFORM is set to "offscreen".') def load_pdf_pictures(pdf_env): """ Test loading a Pdf and check the generated pictures' size @@ -127,9 +94,9 @@ def load_pdf_pictures(pdf_env): test_file_path = RESOURCE_PATH / 'presentations' / 'pdf_test1.pdf' # WHEN: The Pdf is loaded - mock_plugin = pdf_env[1] - temp_folder_path = pdf_env[2] - thumbnail_folder_path = pdf_env[3] + mock_plugin = pdf_env[0] + temp_folder_path = pdf_env[1] + thumbnail_folder_path = pdf_env[2] controller = PdfController(plugin=mock_plugin) controller.temp_folder = temp_folder_path controller.thumbnail_folder = thumbnail_folder_path @@ -139,9 +106,8 @@ def load_pdf_pictures(pdf_env): # THEN: The load should succeed and pictures should be created and have been scaled to fit the screen assert loaded is True, 'The loading of the PDF should succeed.' image = QtGui.QImage(os.path.join(str(temp_folder_path), 'pdf_test1.pdf', 'mainslide001.png')) - # Based on the converter used the resolution will differ a bit - width, height = get_screen_resolution() # Calculate the width of the PDF based on the aspect ratio of the PDF + height = 768 width = int(round(height * 0.70703125, 0)) assert image.height() == height, 'The height should be {height}'.format(height=height) assert image.width() == width, 'The width should be {width}'.format(width=width)