Crash fix: lookup with empty prefixes.
authorEevee <git@veekun.com>
Mon, 13 Sep 2010 04:08:50 +0000 (21:08 -0700)
committerEevee <git@veekun.com>
Mon, 13 Sep 2010 04:08:50 +0000 (21:08 -0700)
pokedex/lookup.py
pokedex/tests/test_lookup.py

index 774df92..98e69c4 100644 (file)
@@ -296,7 +296,11 @@ class PokedexLookup(object):
             name = name.strip()
 
             prefixes = prefix_chunk.split(',')
             name = name.strip()
 
             prefixes = prefix_chunk.split(',')
-            user_valid_types = [_.strip() for _ in prefixes]
+            user_valid_types = []
+            for prefix in prefixes:
+                prefix = prefix.strip()
+                if prefix:
+                    user_valid_types.append(prefix)
 
         # Merge the valid types together.  Only types that appear in BOTH lists
         # may be used.
 
         # Merge the valid types together.  Only types that appear in BOTH lists
         # may be used.
index 25c3c8a..36f11a1 100644 (file)
@@ -146,3 +146,8 @@ def test_random_lookup():
         assert_equal(len(results), 1,           u'Constrained random returns one result')
         assert_equal(results[0].object.__tablename__, table_name,
                                                 u'Constrained random returns result from the right table')
         assert_equal(len(results), 1,           u'Constrained random returns one result')
         assert_equal(results[0].object.__tablename__, table_name,
                                                 u'Constrained random returns result from the right table')
+
+def test_crash_empty_prefix():
+    """Searching for ':foo' used to crash, augh!"""
+    results = lookup.lookup(u'Eevee')
+    assert_equal(results[0].object.name, u'Eevee', u'Empty prefix dun crash')