dupeguru/hscommon/tests/path_test.py

34 lines
857 B
Python
Raw Permalink Normal View History

2019-09-09 19:54:28 -05:00
# Created By: Virgil Dupras
# Created On: 2006/02/21
# Copyright 2015 Hardcoded Software (http://www.hardcoded.net)
# This software is licensed under the "GPLv3" License as described in the "LICENSE" file,
# which should be included with this package. The terms are also available at
2019-09-09 19:54:28 -05:00
# http://www.gnu.org/licenses/gpl-3.0.html
2022-05-09 01:40:08 -05:00
from hscommon.path import pathify
from pathlib import Path
2019-09-09 19:54:28 -05:00
def test_pathify():
@pathify
def foo(a: Path, b, c: Path):
2019-09-09 19:54:28 -05:00
return a, b, c
a, b, c = foo("foo", 0, c=Path("bar"))
2019-09-09 19:54:28 -05:00
assert isinstance(a, Path)
assert a == Path("foo")
2019-09-09 19:54:28 -05:00
assert b == 0
assert isinstance(c, Path)
assert c == Path("bar")
2019-09-09 19:54:28 -05:00
def test_pathify_preserve_none():
# @pathify preserves None value and doesn't try to return a Path
@pathify
def foo(a: Path):
return a
2019-09-09 19:54:28 -05:00
a = foo(None)
assert a is None