Coverage for tests/test_cli.py: 100%
16 statements
« prev ^ index » next coverage.py v7.4.1, created at 2024-02-11 13:51 +0100
« prev ^ index » next coverage.py v7.4.1, created at 2024-02-11 13:51 +0100
1import subprocess as sp
2import sys
4import pytest
5from inline_snapshot import snapshot
8@pytest.mark.skipif(sys.version_info < (3, 9), reason="3.8 unparses differently")
9def test_cli(tmp_path):
10 file = tmp_path / "example.py"
12 file.write_text(
13 """\
14from foo import bar
17def f():
18 print(bar())
19 print(bar())
20"""
21 )
22 result = sp.run(["lazy-imports-lite", "preview", str(file)], capture_output=True)
23 assert result.returncode == 0
24 assert result.stdout.decode().replace("\r\n", "\n") == snapshot(
25 """\
26import lazy_imports_lite._hooks as __lazy_imports_lite__
27globals = __lazy_imports_lite__.make_globals(lambda g=globals: g())
28bar = __lazy_imports_lite__.ImportFrom(__package__, 'foo', 'bar')
30def f():
31 print(bar._lazy_value())
32 print(bar._lazy_value())
33"""
34 )
37def test_cli_invalid_args():
38 result = sp.run([sys.executable, "-m", "lazy_imports_lite"], capture_output=True)
39 assert result.returncode == 1
40 assert result.stdout.decode().replace("\r\n", "\n") == snapshot("")
41 assert result.stderr.decode().replace("\r\n", "\n") == snapshot(
42 """\
43Error: Please specify a valid subcommand. Use 'preview --help' for more information.
44"""
45 )