Tests: Expand coverage for alias.t with aliases containing implicit filters
This commit is contained in:
committed by
Paul Beckingham
parent
83805da01c
commit
51fcc12922
60
test/alias.t
60
test/alias.t
@@ -42,14 +42,15 @@ class TestAlias(TestCase):
|
|||||||
# re-created for each individual test
|
# re-created for each individual test
|
||||||
self.t = Task()
|
self.t = Task()
|
||||||
|
|
||||||
|
def test_simple_alias_to_project(self):
|
||||||
|
"""Access a project via aliases"""
|
||||||
|
|
||||||
|
# Setup aliases
|
||||||
self.t.config("alias.foo", "_projects")
|
self.t.config("alias.foo", "_projects")
|
||||||
self.t.config("alias.bar", "foo")
|
self.t.config("alias.bar", "foo")
|
||||||
self.t.config("alias.baz", "bar")
|
self.t.config("alias.baz", "bar")
|
||||||
self.t.config("alias.qux", "baz")
|
self.t.config("alias.qux", "baz")
|
||||||
|
|
||||||
def test_alias_to_project(self):
|
|
||||||
"""Access a project via aliases"""
|
|
||||||
|
|
||||||
# Setup a task with dummy project called Home
|
# Setup a task with dummy project called Home
|
||||||
expected = "Home"
|
expected = "Home"
|
||||||
self.t(("add", "project:{0}".format(expected), "foo"))
|
self.t(("add", "project:{0}".format(expected), "foo"))
|
||||||
@@ -79,6 +80,59 @@ class TestAlias(TestCase):
|
|||||||
self.assertIn(expected, out,
|
self.assertIn(expected, out,
|
||||||
msg="task qux -> baz > bar > foo > _projects > Home")
|
msg="task qux -> baz > bar > foo > _projects > Home")
|
||||||
|
|
||||||
|
def test_alias_with_implicit_filter(self):
|
||||||
|
"""Test alias containing simple filter string"""
|
||||||
|
|
||||||
|
# Setup alias with simple filter string
|
||||||
|
self.t.config("alias.foofilter", "project:Home _projects")
|
||||||
|
|
||||||
|
# Setup tasks for projects Home and Work
|
||||||
|
self.t(("add", "project:Home", "Home task"))
|
||||||
|
self.t(("add", "project:Work", "Work task"))
|
||||||
|
|
||||||
|
# Sanity check that _projects command outputs
|
||||||
|
# both the "Home" and "Work" projects
|
||||||
|
code, out, err = self.t(("_projects",))
|
||||||
|
self.assertIn("Home", out,
|
||||||
|
msg="task _projects -> Home")
|
||||||
|
self.assertIn("Work", out,
|
||||||
|
msg="task _projects -> Work")
|
||||||
|
|
||||||
|
# Check that foo command outputs the "Home" project
|
||||||
|
code, out, err = self.t(("foofilter",))
|
||||||
|
self.assertIn("Home", out,
|
||||||
|
msg="task foofilter -> project:Home _projects > Home")
|
||||||
|
self.assertNotIn("Work", out,
|
||||||
|
msg="task foofilter -> project:Home _projects > Work")
|
||||||
|
|
||||||
|
def test_alias_with_implicit_complex_filter(self):
|
||||||
|
"""Test alias containing filter string with conjuction"""
|
||||||
|
|
||||||
|
# Setup alias with simple filter string
|
||||||
|
self.t.config("alias.hometoday", "project:Home and due:today minimal")
|
||||||
|
|
||||||
|
# Setup tasks for projects Home and Work
|
||||||
|
self.t(("add", "project:Home", "due:today", "Home urgent task"))
|
||||||
|
self.t(("add", "project:Home", "Home task"))
|
||||||
|
self.t(("add", "project:Work", "due:today", "Work task"))
|
||||||
|
|
||||||
|
# Check that hometoday command outputs the "Home urgent task"
|
||||||
|
code, out, err = self.t(("hometoday",))
|
||||||
|
self.assertIn("Home urgent task", out,
|
||||||
|
msg="task hometoday -> project:Home and due:today minimal > "
|
||||||
|
"Home urgent task")
|
||||||
|
|
||||||
|
# It should not output "Home task", as that one is not due:today
|
||||||
|
self.assertNotIn("Home task", out,
|
||||||
|
msg="task hometoday -> project:Home and due:today minimal > "
|
||||||
|
"Home task")
|
||||||
|
|
||||||
|
# It should not output "Work task" either, it has entirely wrong
|
||||||
|
# project
|
||||||
|
self.assertNotIn("Work task", out,
|
||||||
|
msg="task hometoday -> project:Home and due:today minimal > "
|
||||||
|
"Work task")
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
from simpletap import TAPTestRunner
|
from simpletap import TAPTestRunner
|
||||||
unittest.main(testRunner=TAPTestRunner())
|
unittest.main(testRunner=TAPTestRunner())
|
||||||
|
|||||||
Reference in New Issue
Block a user