"""cobol_testgen --black-box CLI 参数解析测试""" import os import sys sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..", ".."))) from cobol_testgen import _extract_black_box_args def test_black_box_dir_consumed(tmp_path): d = tmp_path / "prog" d.mkdir() args = ["--black-box", str(d), "src.cbl", "out"] do, arg = _extract_black_box_args(args) assert do is True assert arg == str(d) assert args == ["src.cbl", "out"] def test_black_box_bare_does_not_consume_source(): args = ["--black-box", "src.cbl", "out"] do, arg = _extract_black_box_args(args) assert do is True assert arg is None assert args == ["src.cbl", "out"] def test_black_box_equals_form(): args = ["--black-box=bbdir", "src.cbl"] do, arg = _extract_black_box_args(args) assert do is True assert arg == "bbdir" assert args == ["src.cbl"] def test_no_black_box(): args = ["--no-black-box", "src.cbl"] do, arg = _extract_black_box_args(args) assert do is False assert arg is None assert args == ["src.cbl"] def test_no_flags_leaves_args_untouched(): args = ["src.cbl", "out"] do, arg = _extract_black_box_args(args) assert do is False assert arg is None assert args == ["src.cbl", "out"]