Example #1
0
def test_activate_deactivate(monkeypatch, setdt):
    setdt(2012, 10, 24)
    tracker = Tracker(nodecreator=FakeNodeCreator(tasks.Task),
            skeleton=False)

    tracker.deserialize({"life":
        "task: \xfc1\n"
        "    @active\n"
        "task: \xfc2\n"
        "task: \xfc3\n"
    })

    setdt(2012, 10, 24, 0, 5)
    navigation._cmd("done", tracker.root)
    navigation._cmd("done", tracker.root)

    assert match(tracker.serialize()["life"], (
        "task#?????: \xfc1\n"
        "    @finished: 5m after October 24, 2012 12:00:00 AM\n"
        "task#?????: \xfc2\n"
        "    @finished: 0s after October 24, 2012 12:05:00 AM\n"
        "task#?????: \xfc3\n"
        "    @started: October 24, 2012 12:05:00 AM\n"
        "    @active\n"
    ))
Example #2
0
def test_archival():
    tracker = Tracker(False)
    tracker.deserialize(
        {
            "life": "archived: task#abcde: \xfctest\n"
            "    task#zxcvb: \xfcderp\n"
            "        task#qwert: \xfcderk\n"
            "    task#hjklo: \xfcherp\n"
        }
    )

    assert tracker.serialize()["life"] == (
        "archived#abcde: task#abcde: \xfctest\n"
        "    @_af\n"
        "    archived#zxcvb: task#zxcvb: \xfcderp\n"
        "        @_af\n"
        "        archived#qwert: task#qwert: \xfcderk\n"
        "            @_af\n"
        "    archived#hjklo: task#hjklo: \xfcherp\n"
        "        @_af\n"
    )

    tracker.deserialize(
        {
            "life": "unarchive: archived#abcde: task#abcde: \xfctest\n"
            "    @_af\n"
            "    archived#zxcvb: task#zxcvb: \xfcderp\n"
            "        @_af\n"
            "        archived#qwert: task#qwert: \xfcderk\n"
            "            @_af\n"
            "    archived#hjklo: task#hjklo: \xfcherp\n"
            "        @_af\n"
        }
    )

    assert tracker.serialize()["life"] == (
        "task#abcde: \xfctest\n"
        "    task#zxcvb: \xfcderp\n"
        "        task#qwert: \xfcderk\n"
        "    task#hjklo: \xfcherp\n"
    )
Example #3
0
def test_out_of_order(setdt):
    tracker = Tracker(skeleton=False)
    days_node = Days("days", None, tracker.root)
    tracker.root.addchild(days_node)

    setdt(2013, 12, 29, 12)

    days_node.createchild("day", "December 19, 2012")
    days_node.addchild(GenericActivate("archived", "19 a"))
    days_node.addchild(GenericActivate("archived", "19 b"))

    ignoreme = days_node.createchild("day", "December 21, 2012")
    days_node.addchild(GenericActivate("archived", "21 a"))
    days_node.addchild(GenericActivate("archived", "21 b"))

    days_node.createchild("day", "December 23, 2012", before=ignoreme)
    days_node.addchild(GenericActivate("archived", "23 a"))
    days_node.addchild(GenericActivate("archived", "23 b"))

    days_node.createchild("day", "December 22, 2012")
    days_node.addchild(GenericActivate("archived", "22 out of order a"))
    days_node.addchild(GenericActivate("archived", "22 out of order b"))

    days_node.createchild("day", "December 20, 2012")
    days_node.addchild(GenericActivate("archived", "20 out of order a"))
    days_node.addchild(GenericActivate("archived", "20 out of order b"))

    result = tracker.serialize()["life"]
    assert match(result, (
        "days#?????\n"
        "    day#?????: December 19, 2012 (Wednesday, *)\n"
        "    archived#?????: 19 a\n"
        "    archived#?????: 19 b\n"
        "    day#?????: December 20, 2012 (Thursday, *)\n"
        "    day#?????: December 21, 2012 (Friday, *)\n"
        "    archived#?????: 21 a\n"
        "    archived#?????: 21 b\n"

        # December 22 was moved back to before 23, leaving
        # its archived nodes behind
        "    day#?????: December 22, 2012 (Saturday, *)\n"
        "    day#?????: December 23, 2012 (Sunday, *)\n"
        "    archived#?????: 23 a\n"
        "    archived#?????: 23 b\n"

        "    archived#?????: 22 out of order a\n"
        "    archived#?????: 22 out of order b\n"
        "    archived#?????: 20 out of order a\n"
        "    archived#?????: 20 out of order b\n"
    ))
Example #4
0
 def test_empty_line(self):
     tracker = Tracker(skeleton=False)
     tracker.deserialize({"life":
             "\n"
             "task#12345: whatever\n"
             "   \n"
             "    task#abcde: whatever again\n"
             "\n"
             "    task#hijkl: some other thing\n"
             "\n"
             "\n"
     })
     assert tracker.serialize()["life"] == (
             "\n"
             "task#12345: whatever\n"
             "    \n"
             "    task#abcde: whatever again\n"
             "        \n"
             "    task#hijkl: some other thing\n"
             "        \n"
             "        \n"
     )