fix wiktionary no results error handling
parent
931b53a974
commit
cf53da9d6e
|
@ -20,6 +20,12 @@ class TestWiktionary(unittest.TestCase):
|
|||
assert len(w[0]) > 0
|
||||
assert len(w[1]) > 0
|
||||
|
||||
def test_wiktionary_none(self):
|
||||
w = wiktionary.wiktionary('Hell!')
|
||||
|
||||
assert len(w[0]) == 0
|
||||
assert len(w[1]) == 0
|
||||
|
||||
def test_w(self):
|
||||
input = Mock(group=lambda x: 'test')
|
||||
wiktionary.w(self.phenny, input)
|
||||
|
@ -27,3 +33,11 @@ class TestWiktionary(unittest.TestCase):
|
|||
out = self.phenny.say.call_args[0][0]
|
||||
m = re.match('^test — noun: .*$', out, flags=re.UNICODE)
|
||||
self.assertTrue(m)
|
||||
|
||||
def test_w_none(self):
|
||||
word = 'Hell!'
|
||||
input = Mock(group=lambda x: word)
|
||||
wiktionary.w(self.phenny, input)
|
||||
|
||||
self.phenny.say.assert_called_once_with(
|
||||
"Couldn't get any definitions for {0}.".format(word))
|
||||
|
|
|
@ -38,7 +38,11 @@ def wiktionary(word):
|
|||
pages = json.loads(bytes)
|
||||
pages = pages['query']['pages']
|
||||
pg = next(iter(pages))
|
||||
result = pages[pg]['revisions'][0]['*']
|
||||
|
||||
try:
|
||||
result = pages[pg]['revisions'][0]['*']
|
||||
except KeyError:
|
||||
return '', ''
|
||||
|
||||
mode = None
|
||||
etymology = None
|
||||
|
|
Loading…
Reference in New Issue