Ejemplo n.º 1
0
    def test_set_priority6(self):
        """ Do not set priorities on completed tasks. """
        todo = TodoBase("x 2014-06-13 Foo")
        todo.set_priority('A')

        self.assertFalse(todo.priority())
        self.assertEqual(todo.src, "x 2014-06-13 Foo")
Ejemplo n.º 2
0
    def test_set_priority2(self):
        """ Set priority to task without priority. """
        todo = TodoBase("Foo")
        todo.set_priority('B')

        self.assertEqual(todo.priority(), 'B')
        self.assertTrue(re.match(r'^\(B\) Foo$', todo.src))
Ejemplo n.º 3
0
    def test_set_priority5(self):
        """ Unset priority. """
        todo = TodoBase("(A) Foo")
        todo.set_priority(None)

        self.assertEqual(todo.priority(), None)
        self.assertTrue(re.match(r'^Foo$', todo.src))
Ejemplo n.º 4
0
    def test_set_priority3(self):
        """ Test invalid priority input. """
        todo = TodoBase("(A) Foo")
        todo.set_priority('AB')

        self.assertEqual(todo.priority(), 'A')
        self.assertTrue(re.match(r'^\(A\) Foo$', todo.src))
Ejemplo n.º 5
0
 def test_set_creation_date7(self):
     """
     A todo item with an invalid creation date is not considered to have
     one.
     """
     todo = TodoBase("x 2017-07-01 2017-06-31 Invalid")
     self.assertIsNone(todo.creation_date())
Ejemplo n.º 6
0
    def test_set_priority1(self):
        """ Change priority. """
        todo = TodoBase("(A) Foo")
        todo.set_priority('B')

        self.assertEqual(todo.priority(), 'B')
        self.assertTrue(re.match(r'^\(B\) Foo$', todo.src))
Ejemplo n.º 7
0
    def test_remove_all(self):
        todo = TodoBase("(C) Foo foo:bar foo:baz foo:")
        todo.remove_tag('foo')

        self.assertFalse(todo.has_tag('foo'))
        self.assertFalse(re.search(r'\bfoo:(bar|baz)\b', todo.src))
        self.assertTrue(re.search(r'foo:', todo.src))
Ejemplo n.º 8
0
    def test_set_tag_double_tag(self):
        todo = TodoBase("(C) Foo foo:bar foo:baz")
        todo.set_tag('foo', 'blah')

        self.assertTrue(todo.has_tag('foo', 'blah'))
        self.assertTrue(todo.has_tag('foo', 'bar') or
                        todo.has_tag('foo', 'baz'))
Ejemplo n.º 9
0
 def test_set_creation_date7(self):
     """
     A todo item with an invalid creation date is not considered to have
     one.
     """
     todo = TodoBase("x 2017-07-01 2017-06-31 Invalid")
     self.assertIsNone(todo.creation_date())
Ejemplo n.º 10
0
    def test_set_source_text(self):
        todo = TodoBase("(B) Foo")

        new_text = "(C) Foo"
        todo.set_source_text(new_text)

        self.assertEqual(todo.src, new_text)
        self.assertEqual(todo.priority(),'C')
Ejemplo n.º 11
0
    def test_set_creation_date5(self):
        todo = TodoBase("x 2014-07-25 2014-07-23 Foo")
        creation_date = date(2014, 7, 24)

        todo.set_creation_date(creation_date)

        self.assertEqual(todo.creation_date(), creation_date)
        self.assertEqual(todo.src, "x 2014-07-25 2014-07-24 Foo")
Ejemplo n.º 12
0
    def test_set_creation_date2(self):
        todo = TodoBase("(A) Foo")
        creation_date = date(2014, 7, 24)

        todo.set_creation_date(creation_date)

        self.assertEquals(todo.creation_date(), creation_date)
        self.assertEquals(todo.src, "(A) 2014-07-24 Foo")
Ejemplo n.º 13
0
    def test_set_complete4(self):
        todo = TodoBase("(A) 2014-06-12 Foo")
        todo.set_completed()

        today = date.today()
        today_str = today.isoformat()

        self.assertEqual(todo.fields['completionDate'], today)
        self.assertTrue(re.match('^x ' + today_str + ' 2014-06-12 Foo', todo.src))
Ejemplo n.º 14
0
    def test_completion5(self):
        """
        A todo item with an invalid completion date is still considered as
        completed, but without a creation date.
        """
        todo = TodoBase("x 2017-06-31 Invalid date")

        self.assertTrue(todo.is_completed())
        self.assertIsNone(todo.completion_date())
Ejemplo n.º 15
0
    def test_completion5(self):
        """
        A todo item with an invalid completion date is still considered as
        completed, but without a creation date.
        """
        todo = TodoBase("x 2017-06-31 Invalid date")

        self.assertTrue(todo.is_completed())
        self.assertIsNone(todo.completion_date())
Ejemplo n.º 16
0
    def test_set_complete1(self):
        todo = TodoBase("(A) Foo")
        todo.set_completed()

        today = date.today()
        today_str = today.isoformat()

        self.assertFalse(todo.priority())
        self.assertEqual(todo.fields['completionDate'], today)
        self.assertTrue(re.match('^x ' + today_str + ' Foo', todo.src))
Ejemplo n.º 17
0
    def test_set_tag_double_value(self):
        todo = TodoBase("(C) Foo foo:bar baz:bar")
        todo.set_tag('foo', 'blah');

        self.assertTrue(todo.has_tag('foo'))
        self.assertTrue(todo.tag_value('foo'), 'blah')
        self.assertTrue(todo.has_tag('baz'))
        self.assertTrue(todo.tag_value('baz'), 'bar')
Ejemplo n.º 18
0
    def test_add_tag1(self):
        todo = TodoBase("(C) Foo")
        todo.set_tag('foo', 'bar')

        self.assertTrue(todo.has_tag('foo'))
        self.assertTrue(todo.has_tag('foo', 'bar'))
        self.assertFalse(todo.has_tag('foo', 'baz'))
        self.assertFalse(todo.has_tag('bar'))
        self.assertTrue(re.search(r'\bfoo:bar\b', todo.src))
Ejemplo n.º 19
0
    def test_set_tag_double_tag(self):
        todo = TodoBase("(C) Foo foo:bar foo:baz")
        todo.set_tag('foo', 'blah')

        self.assertTrue(todo.has_tag('foo', 'blah'))
        self.assertTrue(
            todo.has_tag('foo', 'bar') or todo.has_tag('foo', 'baz'))
Ejemplo n.º 20
0
    def test_set_tag2(self):
        todo = TodoBase("(C) Foo foo:bar foo:baz")
        todo.set_tag('foo', 'bang', False, 'baz')

        self.assertTrue(todo.has_tag('foo'))
        self.assertTrue(todo.has_tag('foo', 'bar'))
        self.assertTrue(todo.has_tag('foo', 'bang'))
        self.assertFalse(todo.has_tag('foo', 'baz'))

        self.assertTrue(re.search(r'\bfoo:bar\b', todo.src))
        self.assertFalse(re.search(r'\bfoo:baz\b', todo.src))
Ejemplo n.º 21
0
    def test_remove_specific_tag_value(self):
        todo = TodoBase("(C) Foo kungfoo:bar foo:bar foo:barz")
        todo.remove_tag('foo', 'bar')

        self.assertTrue(todo.has_tag('foo'))
        self.assertTrue(todo.has_tag('kungfoo', 'bar'))
        self.assertTrue(todo.has_tag('foo', 'barz'))
        self.assertFalse(todo.has_tag('foo', 'bar'))

        self.assertTrue(re.search(r'\bkungfoo:bar\b', todo.src))
        self.assertTrue(re.search(r'\bfoo:barz\b', todo.src))
        self.assertFalse(re.search(r'\bfoo:bar\b', todo.src))
Ejemplo n.º 22
0
    def test_parse_tag(self):
        todo = TodoBase("(C) Test foo:bar foo:baz foo_:baz_ blah:zah:haz")

        self.assertTrue(todo.has_tag('foo'))
        self.assertTrue(todo.has_tag('foo_'))
        self.assertTrue(todo.has_tag('foo', 'bar'))
        self.assertTrue(todo.has_tag('foo', 'baz'))
        self.assertTrue(todo.has_tag('blah'))
        self.assertTrue(todo.has_tag('blah', 'zah:haz'))
Ejemplo n.º 23
0
    def test_set_priority4(self):
        """ Add priority, while not be mistaken about todo string. """
        todo = TodoBase("(A)Foo")

        self.assertNotEqual(todo.priority(), 'A')

        todo.set_priority('B')

        self.assertEqual(todo.priority(), 'B')
        self.assertTrue(re.match(r'^\(B\) \(A\)Foo$', todo.src))
Ejemplo n.º 24
0
    def test_add_tag2(self):
        todo = TodoBase("(C) Foo id:1")
        todo.add_tag('id', '2')

        self.assertEqual(todo.source(), '(C) Foo id:1 id:2')
Ejemplo n.º 25
0
    def test_tag_empty_key(self):
        """ Tag should not be recorded when there is no key. """

        todo = TodoBase("(C) Foo :bar")

        self.assertFalse(todo.has_tag(''))
Ejemplo n.º 26
0
    def test_set_complete6(self):
        todo = TodoBase("Foo")
        yesterday = date.today() - timedelta(1)
        todo.set_completed(yesterday)

        self.assertEqual(todo.src, "x {} Foo".format(yesterday.isoformat()))
Ejemplo n.º 27
0
    def test_set_complete5(self):
        todo = TodoBase("x 2014-06-13 Foo")
        todo.set_completed()

        self.assertEqual(todo.src, "x 2014-06-13 Foo")
Ejemplo n.º 28
0
    def test_context1(self):
        todo = TodoBase("(C) Foo @Bar @Baz @Bar:")

        self.assertEqual(len(todo.contexts()), 2)
        self.assertIn('Bar', todo.contexts())
        self.assertIn('Baz', todo.contexts())
Ejemplo n.º 29
0
    def test_completion4(self):
        """ A completed todo must start with an x followed by a date. """
        todo = TodoBase("X 2014-06-14 Not complete")

        self.assertFalse(todo.is_completed())
Ejemplo n.º 30
0
    def test_completion2(self):
        todo = TodoBase("xx Important xx")

        self.assertFalse(todo.is_completed())
Ejemplo n.º 31
0
    def test_completion1(self):
        todo = TodoBase("x 2014-06-09 Foo")

        self.assertTrue(todo.is_completed())
Ejemplo n.º 32
0
    def test_context2(self):
        todo = TodoBase("(C) Foo @Bar+Baz")

        self.assertEqual(len(todo.contexts()), 1)
        self.assertIn('Bar+Baz', todo.contexts())
Ejemplo n.º 33
0
    def test_project2(self):
        todo = TodoBase("(C) Foo +Bar+Baz")

        self.assertEqual(len(todo.projects()), 1)
        self.assertIn('Bar+Baz', todo.projects())
Ejemplo n.º 34
0
    def test_project1(self):
        todo = TodoBase("(C) Foo +Bar +Baz +Bar:")

        self.assertEqual(len(todo.projects()), 2)
        self.assertIn('Bar', todo.projects())
        self.assertIn('Baz', todo.projects())