aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dotfiles.py4
-rw-r--r--test_dotfiles.py36
2 files changed, 38 insertions, 2 deletions
diff --git a/dotfiles.py b/dotfiles.py
index f3bba1f..ce0d31a 100644
--- a/dotfiles.py
+++ b/dotfiles.py
@@ -175,7 +175,7 @@ def remove(repo, files):
@cli.command()
@click.option('-c', '--color', is_flag=True, help='Enable color.')
-@click.option('-s', '--short', is_flag=True, help='Terse output.')
+@click.option('-s', '--short', is_flag=True, help='Show terse output.')
@pass_repo
def status(repo, color, short):
"""Show all dotifles in a non-ok state."""
@@ -187,7 +187,7 @@ def status(repo, color, short):
}
if not short:
- raise NotImplementedError('long output, use --short for now')
+ click.echo('long output not yet implemeted, using --short for now')
dotfiles = repo.contents()
for dotfile in dotfiles:
diff --git a/test_dotfiles.py b/test_dotfiles.py
index cea1446..371b66e 100644
--- a/test_dotfiles.py
+++ b/test_dotfiles.py
@@ -1,6 +1,7 @@
import py
import pytest
+from dotfiles import __version__
from dotfiles import cli, unique_suffix
from dotfiles import Repository, Dotfile
@@ -29,6 +30,41 @@ class TestCli(object):
assert not result.exception
assert result.output == '[no dotfiles found]\n'
+ def test_list(self, runner, repo, home):
+ repo.ensure('foo')
+ repo.ensure('bar')
+ repo.ensure('baz')
+ result = runner.invoke(cli, ['--home-directory', str(home),
+ '--repository', str(repo),
+ 'list'])
+ assert not result.exception
+ assert result.output == ('.bar\n'
+ '.baz\n'
+ '.foo\n')
+
+ def test_list_verbose(self, runner, repo, home):
+ repo.ensure('baz')
+ repo.ensure('foo')
+ home.ensure('.foo')
+ home.join('.bar').mksymlinkto(repo.ensure('bar'))
+
+ result = runner.invoke(cli, ['--home-directory', str(home),
+ '--repository', str(repo),
+ 'list', '--verbose'])
+ assert not result.exception
+ assert result.output == (
+ '.bar (ok)\n'
+ '.baz (missing)\n'
+ '.foo (conflict)\n')
+
+ def test_staus(self):
+ pass
+
+ def test_version(self, runner):
+ result = runner.invoke(cli, ['version'])
+ assert not result.exception
+ assert result.output == 'dotfiles version %s\n' % __version__
+
class TestRepository(object):