Ejemplo n.º 1
0
 def test_search(self):
     # we can search autocomplete sources
     source = RedisAutocompleteSource(
         host=self.redis_host, port=self.redis_port,
         zset_name="autocomplete-foo")
     result1 = [x.title for x in source.search("b")]
     result2 = [x.title for x in source.search("fo")]
     result3 = [x.title for x in source.search("for")]
     result4 = [x.title for x in source.search("For (2)")]
     self.assertEqual(
         result1, [u'Bär (4)', u'Baz (3)', u'Foo (1)', u'For (2)'])
     self.assertEqual(result2, [u"Foo (1)", u"For (2)"])
     self.assertEqual(result3, [u"For (2)"])
     self.assertEqual(result4, [u"For (2)"])
Ejemplo n.º 2
0
 def test_search_accepts_umlauts(self):
     # we can enter umlauts in searches
     source = RedisAutocompleteSource(
         host=self.redis_host, port=self.redis_port,
         zset_name="autocomplete-foo")
     result = [x.title for x in source.search(u"Bär")]
     assert u"Bär (4)" in result
Ejemplo n.º 3
0
 def test_search_num(self):
     # we get 10 result entries (if available)
     for n in range(50):
         self.redis.zadd(u"autocomplete-baz", 0, "baz %s&&%s" % (n, n))
         self.redis.set("%s" % n, "Baz %s" % n)
     source = RedisAutocompleteSource(
         host=self.redis_host, port=self.redis_port,
         zset_name="autocomplete-baz")
     result1 = [x.title for x in source.search("baz 1")]
     self.assertEqual(len(result1), 10)
     assert u"Baz 1 (1)" in result1
     assert u"Baz 19 (19)" not in result1
Ejemplo n.º 4
0
 def test_search_sorting(self):
     # we get a sorted list returned
     for n in range(5):  # create 5 items of each variant (bar, bär, baer)
         self.redis.zadd(u"autocomplete-baz", 0, "bar&&2%s" % n)
         self.redis.set("2%s" % n, u"Bar")
         self.redis.zadd(u"autocomplete-baz", 0, "bar&&1%s" % n)
         self.redis.set("1%s" % n, u"Bär")
         self.redis.zadd(u"autocomplete-baz", 0, "baer&&3%s" % n)
         self.redis.set("3%s" % n, u"Baer")
     source = RedisAutocompleteSource(
         host=self.redis_host, port=self.redis_port,
         zset_name="autocomplete-baz")
     result = [x.title for x in source.search(u"Bar")]
     assert u"Bär (10)" in result
     assert u"Bar (20)" in result
     self.assertEqual(result[0], u"Bär (10)")