diff options
author | Gustavo Niemeyer <gustavo@niemeyer.net> | 2010-03-15 17:30:08 -0300 |
---|---|---|
committer | Gustavo Niemeyer <gustavo@niemeyer.net> | 2010-03-15 17:30:08 -0300 |
commit | 88f2b4b1ac94b26bafe2357fbc3129030109780b (patch) | |
tree | d1af3e70866ba113e47090ff1b56f51dfb0b44f1 | |
parent | a9b44545edaae14ea4656181a93a98cfaad8310c (diff) | |
download | mocker-88f2b4b1ac94b26bafe2357fbc3129030109780b.tar.gz |
__nonzero__ should necessarily return a boolean value, so transform Mock
results into True.
-rw-r--r-- | mocker.py | 5 | ||||
-rwxr-xr-x | test.py | 4 |
2 files changed, 8 insertions, 1 deletions
@@ -1092,9 +1092,12 @@ class Mock(object): def __nonzero__(self): try: - return self.__mocker_act__("nonzero") + result = self.__mocker_act__("nonzero") except MatchError, e: return True + if type(result) is Mock: + return True + return result def __iter__(self): # XXX On py3k, when next() becomes __next__(), we'll be able @@ -2543,6 +2543,10 @@ class MockTest(TestCase): self.mocker.act = raise_error self.assertEquals(bool(self.mock), True) + def test_nonzero_with_mock_result(self): + self.mocker.act = lambda path: Mock(self.mocker) + self.assertEquals(bool(self.mock), True) + def test_iter(self): result_mock = Mock(self.mocker) self.mocker.act = lambda path: self.paths.append(path) or result_mock |