Example #1
0
    def test_match_fuzzy(self):
        max_matches = 1
        ignore_case = True
        fuzzy_search = True
        self.db.add('/foo', 10)
        self.db.add('/foo/bar', 20)
        self.db.add('/abcdefg', 10)

        patterns = [u'random']
        results = autojump.find_matches(self.db, patterns, max_matches,
                                        ignore_case, fuzzy_search)
        self.assertTrue(len(results) == 0)

        patterns = [u'abcdefg']
        results = autojump.find_matches(self.db, patterns, max_matches,
                                        ignore_case, fuzzy_search)
        self.assertEquals(results[0], '/abcdefg')

        patterns = [u'abcefg']
        results = autojump.find_matches(self.db, patterns, max_matches,
                                        ignore_case, fuzzy_search)
        self.assertEquals(results[0], '/abcdefg')

        patterns = [u'bacef']
        results = autojump.find_matches(self.db, patterns, max_matches,
                                        ignore_case, fuzzy_search)
        self.assertEquals(results[0], '/abcdefg')
Example #2
0
    def test_match_case_insensitive(self):
        max_matches = 1
        ignore_case = True
        self.db.add('/FOO', 20)
        self.db.add('/foo', 10)

        patterns = [u'fo']
        results = autojump.find_matches(self.db, patterns, max_matches, ignore_case)
        self.assertEquals(results[0], '/FOO')
Example #3
0
    def test_match_case_insensitive(self):
        max_matches = 1
        ignore_case = True
        self.db.add('/FOO', 20)
        self.db.add('/foo', 10)

        patterns = [u'fo']
        results = autojump.find_matches(self.db, patterns, max_matches, ignore_case)
        self.assertEquals(results[0], '/FOO')
Example #4
0
    def test_match_normal(self):
        max_matches = 1
        self.db.add('/foo', 10)
        self.db.add('/foo/bar', 20)

        patterns = [u'']
        results = autojump.find_matches(self.db, patterns, max_matches)
        self.assertEquals(results[0], '/foo/bar')

        patterns = [u'random']
        results = autojump.find_matches(self.db, patterns, max_matches)
        self.assertTrue(len(results) == 0)

        patterns = [u'fo']
        results = autojump.find_matches(self.db, patterns, max_matches)
        self.assertEquals(results[0], '/foo')

        self.db.add('/foo/bat', 15)
        patterns = [u'ba']
        results = autojump.find_matches(self.db, patterns, max_matches)
        self.assertEquals(results[0], '/foo/bar')

        self.db.add('/code/inbox', 5)
        self.db.add('/home/user/inbox', 10)
        patterns = [u'inbox']
        results = autojump.find_matches(self.db, patterns, max_matches)
        self.assertEquals(results[0], '/home/user/inbox')
        patterns = [u'co', u'in']
        results = autojump.find_matches(self.db, patterns, max_matches)
        self.assertEquals(results[0], '/code/inbox')
Example #5
0
    def test_match_normal(self):
        max_matches = 1
        self.db.add('/foo', 10)
        self.db.add('/foo/bar', 20)

        patterns = [u'']
        results = autojump.find_matches(self.db, patterns, max_matches)
        self.assertEquals(results[0], '/foo/bar')

        patterns = [u'random']
        results = autojump.find_matches(self.db, patterns, max_matches)
        self.assertTrue(len(results) == 0)

        patterns = [u'fo']
        results = autojump.find_matches(self.db, patterns, max_matches)
        self.assertEquals(results[0], '/foo')

        self.db.add('/foo/bat', 15)
        patterns = [u'ba']
        results = autojump.find_matches(self.db, patterns, max_matches)
        self.assertEquals(results[0], '/foo/bar')

        self.db.add('/code/inbox', 5)
        self.db.add('/home/user/inbox', 10)
        patterns = [u'inbox']
        results = autojump.find_matches(self.db, patterns, max_matches)
        self.assertEquals(results[0], '/home/user/inbox')
        patterns = [u'co', u'in']
        results = autojump.find_matches(self.db, patterns, max_matches)
        self.assertEquals(results[0], '/code/inbox')
Example #6
0
    def test_match_fuzzy(self):
        max_matches = 1
        ignore_case = True
        fuzzy_search = True
        self.db.add('/foo', 10)
        self.db.add('/foo/bar', 20)
        self.db.add('/abcdefg', 10)

        patterns = [u'random']
        results = autojump.find_matches(self.db, patterns, max_matches, ignore_case, fuzzy_search)
        self.assertTrue(len(results) == 0)

        patterns = [u'abcdefg']
        results = autojump.find_matches(self.db, patterns, max_matches, ignore_case, fuzzy_search)
        self.assertEquals(results[0], '/abcdefg')

        patterns = [u'abcefg']
        results = autojump.find_matches(self.db, patterns, max_matches, ignore_case, fuzzy_search)
        self.assertEquals(results[0], '/abcdefg')

        patterns = [u'bacef']
        results = autojump.find_matches(self.db, patterns, max_matches, ignore_case, fuzzy_search)
        self.assertEquals(results[0], '/abcdefg')
Example #7
0
    def test_match_completion(self):
        max_matches = 9
        ignore_case = True
        self.db.add('/1')
        self.db.add('/2')
        self.db.add('/3')
        self.db.add('/4')
        self.db.add('/5', 20)
        self.db.add('/6', 15)
        self.db.add('/7')
        self.db.add('/8')
        self.db.add('/9')

        patterns = [u'']
        results = autojump.find_matches(self.db, patterns, max_matches, ignore_case)
        self.assertEquals(results, ['/5', '/6', '/9', '/8', '/7', '/4', '/3', '/2', '/1'])
Example #8
0
    def test_match_completion(self):
        max_matches = 9
        ignore_case = True
        self.db.add('/1')
        self.db.add('/2')
        self.db.add('/3')
        self.db.add('/4')
        self.db.add('/5', 20)
        self.db.add('/6', 15)
        self.db.add('/7')
        self.db.add('/8')
        self.db.add('/9')

        patterns = [u'']
        results = autojump.find_matches(self.db, patterns, max_matches, ignore_case)
        self.assertEquals(results, ['/5', '/6', '/9', '/8', '/7', '/4', '/3', '/2', '/1'])