aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/command.py6
-rw-r--r--src/main.py12
-rw-r--r--src/tests/__init__.py4
-rw-r--r--src/tests/test_commandline_parser.py39
-rw-r--r--src/tests/test_export_classic.py5
5 files changed, 54 insertions, 12 deletions
diff --git a/src/command.py b/src/command.py
index 0aab0f7..db72de7 100644
--- a/src/command.py
+++ b/src/command.py
@@ -133,14 +133,18 @@ class Command(QtCore.QObject):
if 'audioFile' in key:
input = value
self.createAudioVisualisation(input, output)
+ return "commandline"
elif self.args.input and self.args.output:
self.createAudioVisualisation(self.args.input, self.args.output)
+ return "commandline"
- elif 'help' not in sys.argv:
+ elif 'help' not in sys.argv and self.args.projpath is None and '--debug' not in sys.argv:
self.parser.print_help()
quit(1)
+ return "GUI"
+
def createAudioVisualisation(self, input, output):
self.core.selectedComponents = list(
reversed(self.core.selectedComponents))
diff --git a/src/main.py b/src/main.py
index 5fabda3..39fa997 100644
--- a/src/main.py
+++ b/src/main.py
@@ -30,25 +30,25 @@ def main():
from .command import Command
main = Command()
- main.parseArgs()
+ mode = main.parseArgs()
log.debug("Finished creating command object")
- elif mode == 'GUI':
+ # Both branches here may occur in one execution:
+ # Commandline parsing could change mode back to GUI
+ if mode == 'GUI':
from .gui.mainwindow import MainWindow
window = uic.loadUi(os.path.join(wd, "gui", "mainwindow.ui"))
- # window.adjustSize()
desc = QtWidgets.QDesktopWidget()
dpi = desc.physicalDpiX()
-
- topMargin = 0 if (dpi == 96) else int(10 * (dpi / 96))
+ log.info("Detected screen DPI: %s", dpi)
+
window.resize(
int(window.width() *
(dpi / 96)),
int(window.height() *
(dpi / 96))
)
- # window.verticalLayout_2.setContentsMargins(0, topMargin, 0, 0)
main = MainWindow(window, proj)
log.debug("Finished creating main window")
diff --git a/src/tests/__init__.py b/src/tests/__init__.py
index f2b2ff1..062dca7 100644
--- a/src/tests/__init__.py
+++ b/src/tests/__init__.py
@@ -16,6 +16,10 @@ def command():
return Command()
+def getTestData(filename):
+ return os.path.join(Core.wd, 'tests', 'data', filename)
+
+
def run(logFile):
"""Run Pytest, which then imports and runs all tests in this module."""
with open(logFile, "w") as f:
diff --git a/src/tests/test_commandline_parser.py b/src/tests/test_commandline_parser.py
new file mode 100644
index 0000000..d672441
--- /dev/null
+++ b/src/tests/test_commandline_parser.py
@@ -0,0 +1,39 @@
+import sys
+import pytest
+from .__init__ import command
+
+
+def test_commandline_help(command):
+ sys.argv = ['', '--help']
+ with pytest.raises(SystemExit):
+ command.parseArgs()
+
+
+def test_commandline_help_if_bad_args(command):
+ sys.argv = ['', '--junk']
+ with pytest.raises(SystemExit):
+ command.parseArgs()
+
+
+def test_commandline_launches_gui_if_debug(command):
+ sys.argv = ['', '--debug']
+ mode = command.parseArgs()
+ assert mode == "GUI"
+
+
+def test_commandline_launches_gui_if_debug_with_project(command):
+ sys.argv = ['', 'test', '--debug']
+ mode = command.parseArgs()
+ assert mode == "GUI"
+
+
+def test_commandline_export_creates_audio_visualization(command):
+ didCallFunction = False
+ def captureFunction(*args):
+ nonlocal didCallFunction
+ didCallFunction = True
+
+ sys.argv = ['', '-c', '0', 'classic', '-i', '_', '-o', '_']
+ command.createAudioVisualisation = captureFunction
+ command.parseArgs()
+ assert didCallFunction
diff --git a/src/tests/test_export_classic.py b/src/tests/test_export_classic.py
deleted file mode 100644
index a6d3e8c..0000000
--- a/src/tests/test_export_classic.py
+++ /dev/null
@@ -1,5 +0,0 @@
-from .__init__ import command
-
-
-def test_export_classic_visualizer_default(command):
- assert command