aboutsummaryrefslogtreecommitdiff
path: root/lib/project/tests
diff options
context:
space:
mode:
Diffstat (limited to 'lib/project/tests')
-rw-r--r--lib/project/tests/test_gui_browser.py18
1 files changed, 8 insertions, 10 deletions
diff --git a/lib/project/tests/test_gui_browser.py b/lib/project/tests/test_gui_browser.py
index efc6e55..5edc114 100644
--- a/lib/project/tests/test_gui_browser.py
+++ b/lib/project/tests/test_gui_browser.py
@@ -82,16 +82,14 @@ def test_gui_browser_real_workflow(studio):
assert "token" not in page.locator("body").inner_text()
assert page.locator("[data-setting]").count() == 47
expect(page.locator("#setting-denoiser")).to_have_value("none")
- # Dependent controls of a disabled effect are visibly inactive.
- expect(page.locator("#setting-denoise_strength")).to_be_disabled()
- expect(page.locator("#setting-fft_reduction_db")).to_be_disabled()
- expect(page.locator("#setting-highpass_hz")).to_be_disabled()
+ # Dependent controls of an inactive module are hidden entirely.
+ expect(page.locator("#setting-denoise_strength")).to_be_hidden()
+ expect(page.locator("#setting-fft_reduction_db")).to_be_hidden()
+ expect(page.locator("#setting-highpass_hz")).to_be_hidden()
expect(page.locator("#setting-highpass_hz")).to_have_value("70")
- # Unsupported input errors are human-readable, not raw HTML.
+ # Stereo input is downmixed safely to mono and both recordings load.
page.locator("#pick-files").set_input_files([studio["root"] / "Stereo.wav", studio["source"]])
- expect(page.locator("#error")).to_be_visible()
- expect(page.locator("#error-text")).to_contain_text("Stereo")
- page.locator("#dismiss-error").click()
+ expect(page.locator("#error")).not_to_be_visible()
expect(page.locator("#wave-status")).to_contain_text("2,048", timeout=15000)
expect(page.locator("#input-info")).to_contain_text("00:00:08")
# Both drag selection and keyboard-accessible exact inputs.
@@ -109,7 +107,7 @@ def test_gui_browser_real_workflow(studio):
# Explicit render, requested pacing+MP3 preserved in snapshot but bypassed internally.
page.locator("#setting-trim_silence").check()
page.locator("#setting-mp3").check()
- expect(page.locator("#setting-mp3_bitrate")).not_to_be_disabled()
+ expect(page.locator("#setting-mp3_bitrate")).not_to_be_hidden()
page.locator("#render-preview").click()
expect(page.locator("#comparison-status")).to_contain_text("Ready", timeout=30000)
assert len(media_requests) == 2
@@ -166,7 +164,7 @@ def test_gui_browser_real_workflow(studio):
expect(page.locator("#comparison-status")).to_contain_text("Ready", timeout=30000)
# Cross-field errors do not silently enable the limiter.
page.locator("#setting-normalize").check()
- expect(page.locator("#setting-target_lufs")).not_to_be_disabled()
+ expect(page.locator("#setting-target_lufs")).not_to_be_hidden()
page.locator("#render-preview").click()
expect(page.locator("#error-text")).to_contain_text("limiter")
assert not page.locator("#setting-limiter").is_checked()