- add CommandExecutor to unify shared command execution lifecycle across Falyx and standalone command execution - add CommandRunner for running a single Command directly as a CLI or programmatic entrypoint - add Command.build() factory and rename parse_args() to resolve_args() to clarify the parsing-to-execution boundary - introduce ExecutionOption and wire execution-scoped flags into CommandArgumentParser and Command construction - refactor Falyx to use FalyxParser/ParseResult and CommandExecutor instead of the older argparse-based flow and run_key path - simplify __main__.py bootstrap by building a bootstrap Falyx instance directly and running flx.run() - improve completer support for preview commands and unique-prefix command resolution - default BottomBar toggle namespace to "default" - expand module/class docstrings to reflect the new execution architecture
17 lines
303 B
Python
17 lines
303 B
Python
import sys
|
|
|
|
import pytest
|
|
|
|
from falyx import Falyx
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_run_basic(capsys):
|
|
sys.argv = ["falyx", "-h"]
|
|
flx = Falyx()
|
|
with pytest.raises(SystemExit):
|
|
await flx.run()
|
|
|
|
captured = capsys.readouterr()
|
|
assert "Show this help menu." in captured.out
|