Example #1
0
    def test_simple_before(self):
        v = FakeTask(due_date="2012-02-14")

        self.assertTrue(search_filter(v,
                                      {'q': [("before", True, d('2022-01-01'))
                                             ]}))
        self.assertTrue(search_filter(v,
                                      {'q': [("before", True, d('2012-03-01'))
                                             ]}))
        self.assertTrue(search_filter(v,
                                      {'q': [("before", True, d('2012-02-20'))
                                             ]}))
        self.assertTrue(search_filter(v,
                                      {'q': [("before", True, d('2012-02-15'))
                                             ]}))
        self.assertFalse(search_filter(v,
                                       {'q': [("before", True, d('2012-02-14'))
                                              ]}))
        self.assertFalse(search_filter(v,
                                       {'q': [("before", True, d('2012-02-13'))
                                              ]}))
        self.assertFalse(search_filter(v,
                                       {'q': [("before", True, d('2000-01-01')
                                               )]}))

        self.assertFalse(search_filter(v,
                                       {'q': [("before", False, d('2012-03-01'
                                                                  ))]}))
        self.assertTrue(search_filter(v,
                                      {'q': [("before", False, d('2012-02-14')
                                              )]}))
        self.assertTrue(search_filter(v,
                                      {'q': [("before", False, d('2002-02-20')
                                              )]}))
Example #2
0
    def test_simple_before(self):
        v = FakeTask(due_date="2012-02-14")

        self.assertTrue(search_filter(v,
                                      {'q': [("before", True, d('2022-01-01'))
                                             ]}))
        self.assertTrue(search_filter(v,
                                      {'q': [("before", True, d('2012-03-01'))
                                             ]}))
        self.assertTrue(search_filter(v,
                                      {'q': [("before", True, d('2012-02-20'))
                                             ]}))
        self.assertTrue(search_filter(v,
                                      {'q': [("before", True, d('2012-02-15'))
                                             ]}))
        self.assertFalse(search_filter(v,
                                       {'q': [("before", True, d('2012-02-14'))
                                              ]}))
        self.assertFalse(search_filter(v,
                                       {'q': [("before", True, d('2012-02-13'))
                                              ]}))
        self.assertFalse(search_filter(v,
                                       {'q': [("before", True, d('2000-01-01')
                                               )]}))

        self.assertFalse(search_filter(v,
                                       {'q': [("before", False, d('2012-03-01'
                                                                  ))]}))
        self.assertTrue(search_filter(v,
                                      {'q': [("before", False, d('2012-02-14')
                                              )]}))
        self.assertTrue(search_filter(v,
                                      {'q': [("before", False, d('2002-02-20')
                                              )]}))
Example #3
0
    def test_simple_after(self):
        t = FakeTask(due_date="2012-06-01")

        self.assertTrue(
            search_filter(t, {'q': [("after", True, d('2002-01-01'))]}))
        self.assertTrue(
            search_filter(t, {'q': [("after", True, d('2012-05-30'))]}))
        self.assertFalse(
            search_filter(t, {'q': [("after", True, d('2013-02-20'))]}))
        self.assertTrue(
            search_filter(t, {'q': [("after", False, d('2022-02-15'))]}))
Example #4
0
    def test_simple_after(self):
        t = FakeTask(due_date="2012-06-01")

        self.assertTrue(search_filter(t,
                                      {'q': [("after", True, d('2002-01-01'))]
                                       }))
        self.assertTrue(search_filter(t,
                                      {'q': [("after", True, d('2012-05-30'))]
                                       }))
        self.assertFalse(search_filter(t,
                                       {'q': [("after", True, d('2013-02-20'))
                                              ]}))
        self.assertTrue(search_filter(t,
                                      {'q': [("after", False, d('2022-02-15'))
                                             ]}))
Example #5
0
    def test_simple_tag_or(self):
        task = FakeTask(tags=['@a', '@b'])

        self.assertTrue(
            search_filter(task, {
                "q": [('or', True, [("tag", True, "@a"), ("tag", True, "@b")])]
            }))
        self.assertTrue(
            search_filter(task, {
                "q": [('or', True, [("tag", True, "@a"), ("tag", True, "@n")])]
            }))
        self.assertTrue(
            search_filter(task, {
                "q": [('or', True, [("tag", True, "@n"), ("tag", True, "@b")])]
            }))
        self.assertFalse(
            search_filter(task, {
                "q": [('or', True, [("tag", True, "@n"), ("tag", True, "@n")])]
            }))
Example #6
0
    def test_simple_tag_or(self):
        task = FakeTask(tags=['@a', '@b'])

        self.assertTrue(search_filter(task,
                                      {"q": [('or', True,
                                            [("tag", True, "@a"),
                                             ("tag", True, "@b")])]}))
        self.assertTrue(search_filter(task,
                                      {"q": [('or', True,
                                            [("tag", True, "@a"),
                                             ("tag", True, "@n")])]}))
        self.assertTrue(search_filter(task,
                                      {"q": [('or', True,
                                            [("tag", True, "@n"),
                                             ("tag", True, "@b")])]}))
        self.assertFalse(search_filter(task,
                                       {"q": [('or', True,
                                             [("tag", True, "@n"),
                                              ("tag", True, "@n")])]}))
Example #7
0
    def task_tags_column(self, node):
        tags = node.get_tags()

        search_parent = self.req.get_tag(CoreConfig.SEARCH_TAG)
        for search_tag in search_parent.get_children():
            tag = self.req.get_tag(search_tag)
            match = search_filter(node,
                                  parse_search_query(
                                  tag.get_attribute('query')))
            if match and search_tag not in tags:
                tags.append(tag)

        tags.sort(key=lambda x: x.get_name())
        return tags
Example #8
0
    def task_tags_column(self, node):
        tags = node.get_tags()

        search_parent = self.req.get_tag(CoreConfig.SEARCH_TAG)
        for search_tag in search_parent.get_children():
            tag = self.req.get_tag(search_tag)
            match = search_filter(node,
                                  parse_search_query(
                                  tag.get_attribute('query')))
            if match and search_tag not in tags:
                tags.append(tag)

        tags.sort(key=lambda x: x.get_name())
        return tags
Example #9
0
    def get_task_tags_column_contents(self, node):
        """Returns an ordered list of tags of a task"""
        tags = node.get_tags()

        search_parent = self.req.get_tag(SEARCH_TAG)
        for search_tag in search_parent.get_children():
            tag = self.req.get_tag(search_tag)
            match = search_filter(
                node,
                parse_search_query(tag.get_attribute('query')),
            )
            if match and search_tag not in tags:
                tags.append(tag)

        tags.sort(key=lambda x: x.get_name())
        return tags
Example #10
0
 def test_dates(self):
     self.assertTrue(search_filter(FakeTask(due_date="today"),
                                   {'q': [("today", True)]}))
     self.assertTrue(search_filter(FakeTask(due_date="tomorrow"),
                                   {'q': [("tomorrow", True)]}))
     self.assertTrue(search_filter(FakeTask(due_date=""),
                                   {'q': [("nodate", True)]}))
     self.assertTrue(search_filter(FakeTask(due_date="now"),
                                   {'q': [("now", True)]}))
     self.assertTrue(search_filter(FakeTask(due_date="soon"),
                                   {'q': [("soon", True)]}))
     self.assertTrue(search_filter(FakeTask(due_date="someday"),
                                   {'q': [("someday", True)]}))
Example #11
0
 def test_dates(self):
     self.assertTrue(search_filter(FakeTask(due_date="today"),
                                   {'q': [("today", True)]}))
     self.assertTrue(search_filter(FakeTask(due_date="tomorrow"),
                                   {'q': [("tomorrow", True)]}))
     self.assertTrue(search_filter(FakeTask(due_date=""),
                                   {'q': [("nodate", True)]}))
     self.assertTrue(search_filter(FakeTask(due_date="now"),
                                   {'q': [("now", True)]}))
     self.assertTrue(search_filter(FakeTask(due_date="soon"),
                                   {'q': [("soon", True)]}))
     self.assertTrue(search_filter(FakeTask(due_date="someday"),
                                   {'q': [("someday", True)]}))
Example #12
0
    def test_double_tag(self):
        p = {"q": [("tag", True, "@a"), ("tag", True, "@b")]}

        self.assertTrue(search_filter(FakeTask(tags=['@a', '@b']), p))
        self.assertTrue(search_filter(FakeTask(tags=['@b', '@a']), p))
        self.assertTrue(search_filter(FakeTask(tags=['@b', '@a', '@a']), p))
        self.assertTrue(
            search_filter(FakeTask(tags=['@b', '@a', '@c', '@d']), p))
        self.assertTrue(search_filter(FakeTask(tags=['@b', 'search', '@a']),
                                      p))
        self.assertTrue(
            search_filter(
                FakeTask(tags=['gtg-tags-all', '@b', 'search', '@a']), p))
        self.assertTrue(
            search_filter(
                FakeTask(tags=[
                    'gtg-tags-all', 'gtg-tags-none', '@b', 'search', '@a'
                ]), p))

        self.assertFalse(search_filter(FakeTask(tags=['@n', '@b']), p))
        self.assertFalse(search_filter(FakeTask(tags=['@b', '@n']), p))
        self.assertFalse(search_filter(FakeTask(tags=['@a']), p))
        self.assertFalse(search_filter(FakeTask(tags=['@b']), p))
        self.assertFalse(
            search_filter(FakeTask(tags=['@b', '@b', '@c', '@d']), p))
        self.assertFalse(
            search_filter(FakeTask(tags=['@b', 'search', '@d']), p))
        self.assertFalse(
            search_filter(
                FakeTask(tags=['gtg-tags-all', '@g', 'search', '@a']), p))
        self.assertFalse(
            search_filter(
                FakeTask(tags=[
                    'gtg-tags-all', 'gtg-tags-none', '@@b', 'search', '@a'
                ]), p))
Example #13
0
    def test_single_tag(self):
        task = FakeTask(tags=['@a'])

        self.assertTrue(search_filter(task, {"q": [("tag", True, "@a")]}))
        self.assertFalse(search_filter(task, {"q": [("tag", True, "@b")]}))
        self.assertFalse(search_filter(task, {"q": [("tag", True, "@n")]}))
Example #14
0
 def test_empty(self):
     self.assertFalse(search_filter(FakeTask()))
Example #15
0
    def test_simple_word_in_title(self):
        task = FakeTask(title="GTG is the best ToDo manager for GNOME")

        # Test the lowercasing
        self.assertTrue(search_filter(task, {'q': [("word", True, 'GTG')]}))
        self.assertTrue(search_filter(task, {'q': [("word", True, 'gtg')]}))
        self.assertTrue(search_filter(task, {'q': [("word", True, 'GtG')]}))
        self.assertTrue(search_filter(task, {'q': [("word", True, 'Gtg')]}))
        self.assertTrue(search_filter(task, {'q': [("word", True, 'gTg')]}))

        self.assertTrue(search_filter(task, {'q': [("word", True, 'GTG')]}))
        self.assertTrue(search_filter(task, {'q': [("word", True, 'is')]}))
        self.assertTrue(search_filter(task, {'q': [("word", True, 'the')]}))
        self.assertTrue(search_filter(task, {'q': [("word", True, 'best')]}))
        self.assertTrue(search_filter(task, {'q': [("word", True, 'todo')]}))
        self.assertTrue(search_filter(task,
                                      {'q': [("word", True, 'manager')]}))
        self.assertTrue(search_filter(task, {'q': [("word", True, 'for')]}))
        self.assertTrue(search_filter(task, {'q': [("word", True, 'GNOME')]}))

        # test literals
        self.assertTrue(search_filter(task, {'q': [("word", True, 'GTG is')]})
                        )
        self.assertTrue(search_filter(task,
                                      {'q': [("word", True, 'for GNOME')]}))
        self.assertTrue(search_filter(task,
                                      {'q': [("word", False, 'GTG for GNOME')]
                                       }))
        self.assertFalse(search_filter(task,
                                       {'q': [("word", True, 'GTG for GNOME')]
                                        }))
Example #16
0
    def test_simple_word_in_title(self):
        task = FakeTask(title="GTG is the best ToDo manager for GNOME")

        # Test the lowercasing
        self.assertTrue(search_filter(task, {'q': [("word", True, 'GTG')]}))
        self.assertTrue(search_filter(task, {'q': [("word", True, 'gtg')]}))
        self.assertTrue(search_filter(task, {'q': [("word", True, 'GtG')]}))
        self.assertTrue(search_filter(task, {'q': [("word", True, 'Gtg')]}))
        self.assertTrue(search_filter(task, {'q': [("word", True, 'gTg')]}))

        self.assertTrue(search_filter(task, {'q': [("word", True, 'GTG')]}))
        self.assertTrue(search_filter(task, {'q': [("word", True, 'is')]}))
        self.assertTrue(search_filter(task, {'q': [("word", True, 'the')]}))
        self.assertTrue(search_filter(task, {'q': [("word", True, 'best')]}))
        self.assertTrue(search_filter(task, {'q': [("word", True, 'todo')]}))
        self.assertTrue(search_filter(task,
                                      {'q': [("word", True, 'manager')]}))
        self.assertTrue(search_filter(task, {'q': [("word", True, 'for')]}))
        self.assertTrue(search_filter(task, {'q': [("word", True, 'GNOME')]}))

        # test literals
        self.assertTrue(search_filter(task, {'q': [("word", True, 'GTG is')]}))
        self.assertTrue(
            search_filter(task, {'q': [("word", True, 'for GNOME')]}))
        self.assertTrue(
            search_filter(task, {'q': [("word", False, 'GTG for GNOME')]}))
        self.assertFalse(
            search_filter(task, {'q': [("word", True, 'GTG for GNOME')]}))
Example #17
0
    def test_double_tag(self):
        p = {"q": [("tag", True, "@a"), ("tag", True, "@b")]}

        self.assertTrue(search_filter(FakeTask(tags=['@a', '@b']), p))
        self.assertTrue(search_filter(FakeTask(tags=['@b', '@a']), p))
        self.assertTrue(search_filter(FakeTask(tags=['@b', '@a', '@a']), p))
        self.assertTrue(search_filter(
            FakeTask(tags=['@b', '@a', '@c', '@d']), p))
        self.assertTrue(search_filter(
            FakeTask(tags=['@b', 'search', '@a']), p))
        self.assertTrue(search_filter(
            FakeTask(tags=['gtg-tags-all', '@b', 'search', '@a']), p))
        self.assertTrue(search_filter(FakeTask(tags=['gtg-tags-all',
                                                     'gtg-tags-none',
                                                     '@b', 'search',
                                                     '@a']), p))

        self.assertFalse(search_filter(FakeTask(tags=['@n', '@b']), p))
        self.assertFalse(search_filter(FakeTask(tags=['@b', '@n']), p))
        self.assertFalse(search_filter(FakeTask(tags=['@a']), p))
        self.assertFalse(search_filter(FakeTask(tags=['@b']), p))
        self.assertFalse(search_filter(
            FakeTask(tags=['@b', '@b', '@c', '@d']), p))
        self.assertFalse(search_filter(
            FakeTask(tags=['@b', 'search', '@d']), p))
        self.assertFalse(search_filter(
            FakeTask(tags=['gtg-tags-all', '@g', 'search', '@a']), p))
        self.assertFalse(search_filter(FakeTask(tags=['gtg-tags-all',
                                                      'gtg-tags-none',
                                                      '@@b',
                                                      'search', '@a']), p))
Example #18
0
    def test_single_tag(self):
        task = FakeTask(tags=['@a'])

        self.assertTrue(search_filter(task, {"q": [("tag", True, "@a")]}))
        self.assertFalse(search_filter(task, {"q": [("tag", True, "@b")]}))
        self.assertFalse(search_filter(task, {"q": [("tag", True, "@n")]}))
Example #19
0
 def test_empty(self):
     self.assertFalse(search_filter(FakeTask()))