Skip to content

Commit

Permalink
purge in view
Browse files Browse the repository at this point in the history
  • Loading branch information
KenjiTakahashi committed Nov 11, 2012
1 parent ea67922 commit 41eb298
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 6 deletions.
13 changes: 9 additions & 4 deletions td/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,15 +90,20 @@ def __init__(self, model):
'v', aliases=['view'], help="modify the view"
)
view.add_argument('-s', '--sort', help="sort the view")
view.add_argument('-p', '--purge', help="hide completed items")
view.add_argument(
'-p', '--purge', action='store_true', help="hide completed items"
)
view.add_argument('-d', '--done', help="show all items as done")
view.add_argument('-D', '--undone', help="show all items as not done")
view.set_defaults(func=self.view)
modify = subparsers.add_parser(
'm', aliases=['modify'], help="modify the database"
)
modify.add_argument('-s', '--sort', help="sort the database")
modify.add_argument('-p', '--purge', help="remove completed items")
modify.add_argument(
'-p', '--purge', action='store_true',
help="remove completed items"
)
modify.add_argument('-d', '--done', help="mark all items as done")
modify.add_argument(
'-D', '--undone', help="mark all items as not done"
Expand Down Expand Up @@ -146,15 +151,15 @@ def view(self, args):
:args: @todo
"""
pass
View(self.model.modify(purge=args.purge))

def modify(self, args):
"""@todo: Docstring for modify
:args: @todo
"""
pass
self.model.modifyInPlace(purge=args.purge)

def add(self, args):
"""Handles the 'a' command.
Expand Down
24 changes: 22 additions & 2 deletions tests/test_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -136,20 +136,40 @@ def test_get_second_level_item(self):
assert self.model.get("1.1") == ["1", "testname2", 3, "", False, []]


class TestModify(ModelTest):
class ModifyTest(ModelTest):
def setUp(self):
super(TestModify, self).setUp()
super(ModifyTest, self).setUp()
self.model.add("testname1")
self.model.add("testname2")
self.model.edit("1", done=True)


class TestModify(ModifyTest):
def test_purge_done_when_enabled(self):
result = self.model.modify(purge=True)
assert result == [["testname2", 3, "", False, []]]

def test_purge_from_second_level(self):
self.model.add("testname3", parent="1")
result = self.model.modify(purge=True)
assert result == [["testname2", 3, "", False, []]]

def test_do_not_purge_when_disabled(self):
result = self.model.modify()
assert result == [
["testname1", 3, "", True, []],
["testname2", 3, "", False, []]
]


class TestModifyInPlace(ModifyTest):
def test_purge_done_when_enabled(self):
self.model.modifyInPlace(purge=True)
assert self.model == [["testname2", 3, "", False, []]]

def test_do_not_purge_when_disabled(self):
self.model.modifyInPlace(purge=False)
assert self.model == [
["testname1", 3, "", True, []],
["testname2", 3, "", False, []]
]

0 comments on commit 41eb298

Please sign in to comment.