From a12be862e22bdec6a243a3f0b5f4f28d69084a2a Mon Sep 17 00:00:00 2001 From: Brianna Rainey Date: Thu, 22 Jan 2026 16:29:46 -0500 Subject: fix #89 with Image component v2.0 + 23 tests (#90) * qtbot is needed in any test that uses a QObject previously these tests would fail if they ran before qtbot was initialized by another test. I'm now running tests in a random order * add tests for drawBars, readAudioFile, BlankFrame * replace numpy.seterr with numpy.errstate * fix incorrect comment * add MockVideoWorker and imageDataSum * test further into visualization (less likely to be a false positive) * test FloodFrame function * add failing test for Image component one step towards fixing #89 * test component name CLI parsing * prevent log warning when 1 setting changed * correct tests to use widgets when needed * test undo and blockSignals * remove stretch_scale (use scale only) * image ignores scale if stretch checkbox checked fixes #89 * test Title Text component, ffmpeg command * Image v2: replace stretched setting with resizeMode 3 resize modes are scale, cover, and stretch. Scale only applies when resizeMode is set to scale. Cover uses ImageOps.fit() to stretch while maintaining aspect ratio. Also, spinBox_scale was moved to be underneath comboBox_resizeMode. * change transformData into staticmethod the purpose is to allow easier reuse in other components * add respondToAudio option to Image component this causes the image to scale up and down slightly based on the input audio file * cache static portion of image when animating increases rendering speed of a 1-minute video by 12 seconds (based on two manual tests anyway)--- tests/test_commandline_parser.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'tests/test_commandline_parser.py') diff --git a/tests/test_commandline_parser.py b/tests/test_commandline_parser.py index 8b07b8c..d092072 100644 --- a/tests/test_commandline_parser.py +++ b/tests/test_commandline_parser.py @@ -1,37 +1,38 @@ import sys import pytest from avp.command import Command +from pytestqt import qtbot -def test_commandline_help(): +def test_commandline_help(qtbot): command = Command() sys.argv = ["", "--help"] with pytest.raises(SystemExit): command.parseArgs() -def test_commandline_help_if_bad_args(): +def test_commandline_help_if_bad_args(qtbot): command = Command() sys.argv = ["", "--junk"] with pytest.raises(SystemExit): command.parseArgs() -def test_commandline_launches_gui_if_verbose(): +def test_commandline_launches_gui_if_verbose(qtbot): command = Command() sys.argv = ["", "--verbose"] mode = command.parseArgs() assert mode == "GUI" -def test_commandline_launches_gui_if_verbose_with_project(): +def test_commandline_launches_gui_if_verbose_with_project(qtbot): command = Command() sys.argv = ["", "test", "--verbose"] mode = command.parseArgs() assert mode == "GUI" -def test_commandline_tries_to_export(): +def test_commandline_tries_to_export(qtbot): command = Command() didCallFunction = False @@ -43,3 +44,13 @@ def test_commandline_tries_to_export(): command.createAudioVisualization = captureFunction command.parseArgs() assert didCallFunction + + +def test_commandline_parses_classic_by_alias(qtbot): + command = Command() + assert command.parseCompName("original") == "Classic Visualizer" + + +def test_commandline_parses_conway_by_name(qtbot): + command = Command() + assert command.parseCompName("conway") == "Conway's Game of Life" -- cgit v1.2.3