Show More
@@ -0,0 +1,46 b'' | |||
|
1 | import unittest | |
|
2 | try: # Python 3.3 + | |
|
3 | from unittest.mock import Mock | |
|
4 | except ImportError: | |
|
5 | from mock import Mock | |
|
6 | ||
|
7 | from IPython.core import callbacks | |
|
8 | import IPython.testing.tools as tt | |
|
9 | ||
|
10 | def ping_received(): | |
|
11 | pass | |
|
12 | ||
|
13 | class CallbackTests(unittest.TestCase): | |
|
14 | def setUp(self): | |
|
15 | self.cbm = callbacks.CallbackManager(get_ipython(), {'ping_received': ping_received}) | |
|
16 | ||
|
17 | def test_register_unregister(self): | |
|
18 | cb = Mock() | |
|
19 | ||
|
20 | self.cbm.register('ping_received', cb) | |
|
21 | self.cbm.fire('ping_received') | |
|
22 | self.assertEqual(cb.call_count, 1) | |
|
23 | ||
|
24 | self.cbm.unregister('ping_received', cb) | |
|
25 | self.cbm.fire('ping_received') | |
|
26 | self.assertEqual(cb.call_count, 1) | |
|
27 | ||
|
28 | def test_reset(self): | |
|
29 | cb = Mock() | |
|
30 | self.cbm.register('ping_received', cb) | |
|
31 | self.cbm.reset('ping_received') | |
|
32 | self.cbm.fire('ping_received') | |
|
33 | assert not cb.called | |
|
34 | ||
|
35 | def test_reset_all(self): | |
|
36 | cb = Mock() | |
|
37 | self.cbm.register('ping_received', cb) | |
|
38 | self.cbm.reset_all() | |
|
39 | self.cbm.fire('ping_received') | |
|
40 | assert not cb.called | |
|
41 | ||
|
42 | def test_cb_error(self): | |
|
43 | cb = Mock(side_effect=ValueError) | |
|
44 | self.cbm.register('ping_received', cb) | |
|
45 | with tt.AssertPrints("Error in callback"): | |
|
46 | self.cbm.fire('ping_received') No newline at end of file |
General Comments 0
You need to be logged in to leave comments.
Login now