diff options
Diffstat (limited to 'tests/test_dotfile.py')
-rw-r--r-- | tests/test_dotfile.py | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/tests/test_dotfile.py b/tests/test_dotfile.py deleted file mode 100644 index 1af1d8e..0000000 --- a/tests/test_dotfile.py +++ /dev/null @@ -1,137 +0,0 @@ -import pytest -import py.error - -from dotfiles.dotfile import Dotfile, unique_suffix - - -def test_unique_suffix_overlap(): - (name, target) = unique_suffix(py.path.local('/foo/baz'), - py.path.local('/foo/bar/bat')) - assert 'baz' == name - assert 'bar/bat' == target - - -@pytest.mark.xfail(reason='this is a bug') -def test_unique_suffix_no_overlap(): - (name, target) = unique_suffix(py.path.local('/a/b/c'), - py.path.local('/d/e/f')) - assert '/a/b/c' == name - assert '/d/e/f' == target - - -def test_state_error(tmpdir): - - repo = tmpdir.ensure("Dotfiles", dir=1) - name = tmpdir.join(".vimrc") - target = repo.join("vimrc") - - dotfile = Dotfile(name, target) - - assert 'error' == dotfile.state - - -def test_state_missing(tmpdir): - - repo = tmpdir.ensure("Dotfiles", dir=1) - name = tmpdir.join(".vimrc") - target = repo.ensure("vimrc") - - dotfile = Dotfile(name, target) - - assert 'missing' == dotfile.state - - -def test_state_conflict(tmpdir): - - repo = tmpdir.ensure("Dotfiles", dir=1) - name = tmpdir.ensure(".vimrc") - target = repo.ensure("vimrc") - - dotfile = Dotfile(name, target) - - assert 'conflict' == dotfile.state - - -def test_state_ok(tmpdir): - - repo = tmpdir.join("Dotfiles", dir=1) - name = tmpdir.join(".vimrc") - target = repo.ensure("vimrc") - dotfile = Dotfile(name, target) - - name.mksymlinkto(target) - assert 'ok' == dotfile.state - - name.remove() - assert 'missing' == dotfile.state - - -@pytest.mark.parametrize("times", range(1, 4)) -def test_add(tmpdir, times): - - repo = tmpdir.ensure("Dotfiles", dir=1) - name = tmpdir.ensure(".vimrc") - target = repo.join("vimrc") - - dotfile = Dotfile(name, target) - dotfile.add() - - assert target.check(file=1, link=0) - assert name.check(file=1, link=1) - assert name.samefile(target) - - for x in range(2, times): - with pytest.raises(OSError): - dotfile.add() - assert target.check(file=1, link=0) - assert name.check(file=1, link=1) - assert name.samefile(target) - - -@pytest.mark.parametrize("times", range(1, 4)) -def test_remove(tmpdir, times): - - repo = tmpdir.ensure("Dotfiles", dir=1) - name = tmpdir.join(".vimrc") - target = repo.ensure("vimrc") - - name.mksymlinkto(target) - - dotfile = Dotfile(name, target) - dotfile.remove() - - assert False == target.check() - assert name.check(file=1, link=0) - - for x in range(2, times): - with pytest.raises(OSError): - dotfile.remove() - assert False == target.check() - assert name.check(file=1, link=0) - - -@pytest.mark.parametrize("times", range(1, 4)) -def test_sync(tmpdir, times): - - repo = tmpdir.ensure("Dotfiles", dir=1) - name = tmpdir.join(".vimrc") - target = repo.ensure("vimrc") - - dotfile = Dotfile(name, target) - dotfile.sync() - - assert target.check(file=1, link=0) - assert name.check(file=1, link=1) - assert name.samefile(target) - - for x in range(2, times): - with pytest.raises(py.error.EEXIST): - dotfile.sync() - assert target.check(file=1, link=0) - assert name.check(file=1, link=1) - assert name.samefile(target) - - -@pytest.mark.xfail(reason='not implemented yet') -def test_unsync(): - raise NotImplementedError |