diff options
| author | martin | 2022-05-01 22:41:20 +0200 |
|---|---|---|
| committer | GitHub | 2022-05-01 22:41:20 +0200 |
| commit | 4c5aa37aa6f41d909153a2b7d522db6d7582659a (patch) | |
| tree | 326aa67921439defcb8c25ea5f770feb63e878a4 /src/tests | |
| parent | 4a3ff8bfce622de0e5affa312d50557b5d336371 (diff) | |
| parent | 820358a79a87b214139eb7693ce80e96be79e3d8 (diff) | |
Merge pull request #69 from djfun/feature-newgui
GUI Redesign with Component System
Diffstat (limited to 'src/tests')
| -rw-r--r-- | src/tests/__init__.py | 36 | ||||
| -rw-r--r-- | src/tests/data/test.jpg | bin | 0 -> 48766 bytes | |||
| -rw-r--r-- | src/tests/data/test.ogg | bin | 0 -> 30043 bytes | |||
| -rw-r--r-- | src/tests/data/test.png | bin | 0 -> 220 bytes | |||
| -rw-r--r-- | src/tests/test_commandline_parser.py | 39 | ||||
| -rw-r--r-- | src/tests/test_core_init.py | 19 |
6 files changed, 94 insertions, 0 deletions
diff --git a/src/tests/__init__.py b/src/tests/__init__.py new file mode 100644 index 0000000..062dca7 --- /dev/null +++ b/src/tests/__init__.py @@ -0,0 +1,36 @@ +import pytest +import os +import sys +from ..core import Core +from ..command import Command + + +@pytest.fixture +def core(): + return Core() + + +@pytest.fixture +def command(): + """Like a MainWindow for commandline mode, this owns the Core""" + 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: + # temporarily redirect stdout to a text file so we capture pytest's output + sys.stdout = f + try: + val = pytest.main([ + os.path.dirname(__file__), + "-s", # disable pytest's internal capturing of stdout etc. + ]) + finally: + sys.stdout = sys.__stdout__ + + return val diff --git a/src/tests/data/test.jpg b/src/tests/data/test.jpg Binary files differnew file mode 100644 index 0000000..86266d9 --- /dev/null +++ b/src/tests/data/test.jpg diff --git a/src/tests/data/test.ogg b/src/tests/data/test.ogg Binary files differnew file mode 100644 index 0000000..46af76c --- /dev/null +++ b/src/tests/data/test.ogg diff --git a/src/tests/data/test.png b/src/tests/data/test.png Binary files differnew file mode 100644 index 0000000..f1ffd4a --- /dev/null +++ b/src/tests/data/test.png 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_core_init.py b/src/tests/test_core_init.py new file mode 100644 index 0000000..696533a --- /dev/null +++ b/src/tests/test_core_init.py @@ -0,0 +1,19 @@ +from .__init__ import core + + +def test_component_names(core): + assert core.compNames == [ + 'Classic Visualizer', + 'Color', + "Conway's Game of Life", + 'Image', + 'Sound', + 'Spectrum', + 'Title Text', + 'Video', + 'Waveform', + ] + + +def test_moduleindex(core): + assert core.moduleIndexFor("Classic Visualizer") == 0 |
