import os from pathlib import Path from halig.utils import resolve_path def test_resolve_absolute_path(): path = Path("/foo/bar/baz") assert resolve_path(path) == path def test_resolve_user_path(): path = Path("~/foo/bar/baz") assert resolve_path(path) == path.expanduser() def test_resolve_path_with_envvars(): os.environ["FOO"] = "foo" os.environ["BAR"] = "bar" path = Path("/${FOO}/${BAR}") assert resolve_path(path) == Path("/foo/bar") def test_resolve_relative_path(): path = Path("foo/bar/baz") assert resolve_path(path) == path.resolve() def test_resolve_path_all(): os.environ["FOO"] = "foo" os.environ["BAR"] = "bar" path = Path("foo/bar/$FOO/../$BAR") assert resolve_path(path) == Path(os.path.expandvars(path)).resolve().expanduser()