Extd cut parameter

This commit is contained in:
Javanaut
2026-04-11 20:27:58 +02:00
parent 0a41998e29
commit 5eee7e1161
3 changed files with 195 additions and 7 deletions

View File

@@ -0,0 +1,64 @@
from __future__ import annotations
import os
from pathlib import Path
import sys
import tempfile
import unittest
from click.testing import CliRunner
SRC_ROOT = Path(__file__).resolve().parents[2] / "src"
if str(SRC_ROOT) not in sys.path:
sys.path.insert(0, str(SRC_ROOT))
from ffx import cli # noqa: E402
class CutOptionCliTests(unittest.TestCase):
def invoke_convert(self, *args: str):
runner = CliRunner()
with tempfile.TemporaryDirectory() as home_dir:
result = runner.invoke(
cli.ffx,
[
"--database-file",
os.path.join(home_dir, "ffx.db"),
"--dry-run",
"convert",
"--no-tmdb",
*args,
],
env={**os.environ, "HOME": home_dir},
)
self.assertEqual(0, result.exit_code, result.output)
return result.output
def test_convert_without_cut_prints_no_cut_message(self):
output = self.invoke_convert()
self.assertNotIn("Cutting enabled:", output)
def test_convert_with_cut_flag_prints_default_cut_message(self):
output = self.invoke_convert("--cut")
self.assertIn("Cutting enabled: start 60 s, duration 180 s.", output)
def test_convert_with_cut_duration_prints_zero_start_message(self):
output = self.invoke_convert("--cut", "45")
self.assertIn("Cutting enabled: start 0 s, duration 45 s.", output)
def test_convert_with_cut_start_and_duration_prints_both_values(self):
output = self.invoke_convert("--cut", "12,34")
self.assertIn("Cutting enabled: start 12 s, duration 34 s.", output)
if __name__ == "__main__":
unittest.main()