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')
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')
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')
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'])