Fix Notifier.listeners_for

If no Trie.find returns None, then node.data will return an
AttributeError.
This commit is contained in:
Ian Cordasco 2016-02-19 18:55:01 -06:00
parent 58b2ca69e4
commit 98357e71db
2 changed files with 16 additions and 1 deletions

View file

@ -38,3 +38,17 @@ class TestNotifier(object):
self.notifier.notify('E111', 'extra', 'args')
assert self.listener_map['E111'].was_notified is True
assert self.listener_map['E1'].was_notified is True
@pytest.mark.parametrize('code', ['W123', 'W12', 'W1', 'W'])
def test_no_listeners_for(self, code):
"""Show that we return an empty list of listeners."""
assert list(self.notifier.listeners_for(code)) == []
@pytest.mark.parametrize('code,expected', [
('E101', ['E101', 'E1']),
('E211', ['E211', 'E2']),
])
def test_listeners_for(self, code, expected):
"""Verify that we retrieve the correct listeners."""
assert ([l.error_code for l in self.notifier.listeners_for(code)] ==
expected)