X-Git-Url: http://git.veekun.com/zzz-pokedex.git/blobdiff_plain/d501123d6026f9f6fa770e4ed7b174f94df81727..2d811a009a39ecd3bc519b2a8f80e0be7edb3b4d:/pokedex/tests/test_lookup.py?ds=inline diff --git a/pokedex/tests/test_lookup.py b/pokedex/tests/test_lookup.py index 96c76cb..36f11a1 100644 --- a/pokedex/tests/test_lookup.py +++ b/pokedex/tests/test_lookup.py @@ -66,10 +66,36 @@ def test_type_lookup(): assert_equal(results[0].object.__tablename__, 'pokemon', u'Type restriction works correctly') assert_equal(len(results), 1, u'Only one id result when type is specified') - assert_equal(results[0].name, u'Bulbasaur', u'Type + id returns the right result') + assert_equal(results[0].object.name, u'Bulbasaur', + u'Type + id returns the right result') results = lookup.lookup(u'1', valid_types=['pokemon']) - assert_equal(results[0].name, u'Bulbasaur', u'valid_types works as well as type: prefix') + assert_equal(results[0].object.name, u'Bulbasaur', + u'valid_types works as well as type: prefix') + +def test_language_lookup(): + # There are two objects named "charge": the move Charge, and the move + # Tackle, which is called "Charge" in French. + results = lookup.lookup(u'charge') + assert_true(len(results) > 1, u'There are multiple "charge"s') + + results = lookup.lookup(u'@fr:charge') + assert_equal(results[0].iso639, u'fr', u'Language restriction works correctly') + assert_equal(len(results), 1, u'Only one "charge" result when language is specified') + assert_equal(results[0].object.name, u'Tackle', + u'Language + vague name returns the right result') + + results = lookup.lookup(u'charge', valid_types=['@fr']) + assert_equal(results[0].object.name, u'Tackle', + u'valid_types works as well as @lang: prefix') + + results = lookup.lookup(u'@fr,move:charge') + assert_equal(results[0].object.name, u'Tackle', + u'Languages and types both work together') + + results = lookup.lookup(u'@fr:charge', valid_types=['move']) + assert_equal(results[0].object.name, u'Tackle', + u'valid_types and language prefixes get along') def test_fuzzy_lookup(): tests = [ @@ -120,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') + +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')