def test_add_dep10(self): """ The text ID shown after adding and after an 'ls' must be equal." By appending the parent's contexts, the textual ID may change. """ config("test/data/todolist-uid-contexts.conf") # pass identitiy function to for writing output, we're not interested # in this output command = AddCommand.AddCommand(["Foo @Context"], self.todolist, lambda t: t, self.error) command.execute() command = AddCommand.AddCommand(["Bar before:2a2"], self.todolist, self.out, self.error) command.execute() command = ListCommand.ListCommand(["Bar"], self.todolist, self.out, self.error) command.execute() self.assertEqual( self.output, "|wb3| {today} Bar p:1 @Context\n|wb3| {today} Bar @Context\n". format(today=self.today))
def test_add_dep3(self): command = AddCommand.AddCommand(["Foo"], self.todolist) command.execute() command = AddCommand.AddCommand(["Bar after:1"], self.todolist, self.out, self.error) command.execute() self.assertEqual( self.todolist.todo(1).source(), self.today + " Foo p:1") self.assertEqual( self.todolist.todo(2).source(), self.today + " Bar id:1") self.assertEqual(self.errors, "")
def add_parentsof_helper(self, p_tag): command = AddCommand.AddCommand(["Foo"], self.todolist, self.out, self.error) command.execute() command = AddCommand.AddCommand(["Bar before:1"], self.todolist, self.out, self.error) command.execute() command = AddCommand.AddCommand(["Baz {}:2".format(p_tag)], self.todolist, self.out, self.error) command.execute() self.assertTrue(self.todolist.todo(3).has_tag('p', '1'))
def test_add_dep08(self): config("test/data/todolist-uid.conf") command = AddCommand.AddCommand(["Foo"], self.todolist, self.out, self.error) command.execute() command = AddCommand.AddCommand(["Bar after:7ui"], self.todolist, self.out, self.error) command.execute() self.assertEqual(self.todolist.todo('7ui').source(), "{} Foo p:1".format(self.today)) self.assertEqual(self.todolist.todo('8to').source(), "{} Bar id:1".format(self.today))
def test_add_empty(self): command = AddCommand.AddCommand([], self.todolist, self.out, self.error) command.execute() self.assertEqual(self.output, "") self.assertEqual(self.errors, command.usage() + "\n")
def test_add_from_stdin(self): command = AddCommand.AddCommand(["-f", "-"], self.todolist, self.out, self.error) command.execute() self.assertEqual(self.output, u"| 1| {tod} Fo\u00f3 due:{tod} id:1\n| 2| {tod} B\u0105r p:1\n".format(tod=self.today)) self.assertEqual(self.errors, "")
def test_add_unicode(self): command = AddCommand.AddCommand([u("Special \u25c4")], self.todolist, self.out, self.error) command.execute() self.assertEqual(self.output, u("| 1| {} Special \u25c4\n").format(self.today)) self.assertEqual(self.errors, "")
def test_help(self): command = AddCommand.AddCommand(["help"], self.todolist, self.out, self.error) command.execute() self.assertEqual(self.output, "") self.assertEqual(self.errors, command.usage() + "\n\n" + command.help() + "\n")
def test_add_reldate1(self): command = AddCommand.AddCommand(["Foo due:today"], self.todolist, self.out, self.error) command.execute() self.assertEqual(self.todolist.todo(1).source(), self.today + " Foo due:" + self.today) self.assertEqual(self.errors, "")
def test_add_priority4(self): command = AddCommand.AddCommand(["(C) Foo"], self.todolist, self.out, self.error) command.execute() self.assertEqual(self.todolist.todo(1).priority(), 'C') self.assertEqual( self.todolist.todo(1).source(), "(C) " + self.today + " Foo") self.assertEqual(self.errors, "")
def test_add_priority3(self): command = AddCommand.AddCommand(["Fo(C)o"], self.todolist, self.out, self.error) command.execute() self.assertEqual(self.todolist.todo(1).priority(), None) self.assertEqual( self.todolist.todo(1).source(), self.today + " Fo(C)o") self.assertEqual(self.errors, "")
def test_add_reldate2(self): command = AddCommand.AddCommand(["Foo t:today due:today"], self.todolist, self.out, self.error) command.execute() result = "| 1| {} Foo t:{} due:{}\n".format(self.today, self.today, self.today) self.assertEqual(self.output, result) self.assertEqual(self.errors, "")
def test_add_multiple_args(self): args = ["New", "todo"] command = AddCommand.AddCommand(args, self.todolist, self.out, self.error) command.execute() self.assertEqual( self.todolist.todo(1).source(), self.today + " New todo") self.assertEqual(self.errors, "")
def test_add_completed(self): """ Add a command that is completed automatically. """ command = AddCommand.AddCommand(["x 2015-01-01 Already completed"], self.todolist, self.out, self.error) command.execute() self.assertTrue(self.todolist.todo(1).is_completed()) self.assertEqual(self.output, "| 1| x 2015-01-01 {} Already completed\n".format(self.today)) self.assertEqual(self.errors, "")
def test_add_file_not_found(self): command = AddCommand.AddCommand( ["-f", "test/data/AddCommandTest-from_Foo.txt"], self.todolist, self.out, self.error) command.execute() self.assertEqual(self.output, "") self.assertEqual( self.errors, "File not found: test/data/AddCommandTest-from_Foo.txt\n")
def test_add_task_without_date(self): config(p_overrides={('add', 'auto_creation_date'): '0'}) args = ["New todo"] command = AddCommand.AddCommand(args, self.todolist, self.out, self.error) command.execute() self.assertEqual(self.todolist.todo(1).source(), "New todo") self.assertEqual(self.errors, "")
def test_add_dep6(self): command = AddCommand.AddCommand(["Foo"], self.todolist, self.out, self.error) command.execute() command = AddCommand.AddCommand(["Bar"], self.todolist, self.out, self.error) command.execute() command = AddCommand.AddCommand(["Baz before:1 before:2"], self.todolist, self.out, self.error) command.execute() self.assertEqual( self.todolist.todo(1).source(), self.today + " Foo id:1") self.assertEqual( self.todolist.todo(2).source(), self.today + " Bar id:2") self.assertEqual( self.todolist.todo(3).source(), self.today + " Baz p:1 p:2") self.assertEqual(self.errors, "")
def test_add_from_file(self): command = AddCommand.AddCommand( ["-f", "test/data/AddCommandTest-from_file.txt"], self.todolist, self.out, self.error) command.execute() self.assertEqual( self.output, u("| 1| {tod} Foo @fo\u00f3b\u0105r due:{tod} id:1\n| 2| {tod} Bar +baz t:{tod} p:1\n" .format(tod=self.today))) self.assertEqual(self.errors, "")
def test_add_dep5(self): """ Test for using an after: tag with non-existing value. """ command = AddCommand.AddCommand(["Foo after:2"], self.todolist, self.out, self.error) command.execute() self.assertFalse(self.todolist.todo(1).has_tag("after")) self.assertEqual(self.todolist.todo(1).source(), self.today + " Foo") self.assertEqual(self.output, "| 1| " + self.todolist.todo(1).source() + "\n") self.assertEqual(self.errors, "")