summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMichael Foord <michael@voidspace.org.uk>2012-04-21 01:44:18 +0100
committerMichael Foord <michael@voidspace.org.uk>2012-04-21 01:44:18 +0100
commit72af501f32378e84af6f5407cab4a79d7ec453ac (patch)
tree51012cb32efce0f0b28ea20ce15a1f31a76ecc65 /tests
parent5daa4a0a673c122bd3ba8e7582bad2e02d141d8a (diff)
downloadmock-72af501f32378e84af6f5407cab4a79d7ec453ac.tar.gz
Exceptions in iterable side_effect will be raised
Diffstat (limited to 'tests')
-rw-r--r--tests/testmock.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/testmock.py b/tests/testmock.py
index 1f3bdf9..f3ceea9 100644
--- a/tests/testmock.py
+++ b/tests/testmock.py
@@ -959,6 +959,16 @@ class MockTest(unittest2.TestCase):
self.assertIs(mock.side_effect, this_iter)
+ def test_side_effect_iterator_exceptions(self):
+ for Klass in Mock, MagicMock:
+ iterable = (ValueError, 3, KeyError, 6)
+ m = Klass(side_effect=iterable)
+ self.assertRaises(ValueError, m)
+ self.assertEqual(m(), 3)
+ self.assertRaises(KeyError, m)
+ self.assertEqual(m(), 6)
+
+
def test_assert_has_calls_any_order(self):
mock = Mock()
mock(1, 2)