diff --git a/tests/test_utils.py b/tests/test_utils.py index d27b57a4..1d9e319c 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -39,6 +39,12 @@ def test_absolute_outside(self, tmp_cwd): assert formatted == filepath assert formatted.is_absolute() + def test_path_is_cwd(self, tmp_cwd): + filepath = pathlib.Path.cwd() + formatted = utils.format_path(filepath) + assert formatted == pathlib.Path(".") + assert not formatted.is_absolute() + def check_decorator_names(code, expected_names): decorator_names = [] diff --git a/vulture/utils.py b/vulture/utils.py index 121239de..4eccb323 100644 --- a/vulture/utils.py +++ b/vulture/utils.py @@ -45,19 +45,19 @@ def _safe_eval(node, default): return default -def condition_is_always_false(condition): +def condition_is_always_false(condition: ast.AST) -> bool: return not _safe_eval(condition, True) -def condition_is_always_true(condition): +def condition_is_always_true(condition: ast.AST) -> bool: return _safe_eval(condition, False) -def is_ast_string(node): +def is_ast_string(node: ast.AST) -> bool: return isinstance(node, ast.Constant) and isinstance(node.value, str) -def format_path(path): +def format_path(path: pathlib.Path) -> pathlib.Path: try: return path.relative_to(pathlib.Path.cwd()) except ValueError: @@ -65,7 +65,7 @@ def format_path(path): return path -def get_decorator_name(decorator): +def get_decorator_name(decorator: ast.expr) -> str: if isinstance(decorator, ast.Call): decorator = decorator.func try: