diff options
author | Claudiu Popa <pcmanticore@gmail.com> | 2015-10-22 20:40:13 +0100 |
---|---|---|
committer | Claudiu Popa <pcmanticore@gmail.com> | 2015-10-22 20:40:13 +0100 |
commit | 658ecfbb170c040e079ce5619d751fcc3510d4b7 (patch) | |
tree | f87f173815c451d81baece66938df8035def9fae /astroid/tests | |
parent | b65cde98f3abb85f80882ea39de40196f69ab2ec (diff) | |
download | astroid-658ecfbb170c040e079ce5619d751fcc3510d4b7.tar.gz |
Create a callcontext when determining an instance's truth value.
Diffstat (limited to 'astroid/tests')
-rw-r--r-- | astroid/tests/unittest_inference.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/astroid/tests/unittest_inference.py b/astroid/tests/unittest_inference.py index 3dbcd5c..d7c1ac4 100644 --- a/astroid/tests/unittest_inference.py +++ b/astroid/tests/unittest_inference.py @@ -3422,13 +3422,23 @@ class TestBool(unittest.TestCase): return False class B(object): {method} = C() + class LambdaBoolFalse(object): + {method} = lambda self: self.foo + @property + def foo(self): return 0 + class FalseBoolLen(object): + __len__ = lambda self: self.foo + @property + def foo(self): return 0 bool(FalseClass) #@ bool(TrueClass) #@ bool(FalseClass()) #@ bool(TrueClass()) #@ bool(B()) #@ + bool(LambdaBoolFalse()) #@ + bool(FalseBoolLen()) #@ '''.format(method=BOOL_SPECIAL_METHOD)) - expected = [True, True, False, True, False] + expected = [True, True, False, True, False, False, False] for node, expected_value in zip(ast_nodes, expected): inferred = next(node.infer()) self.assertEqual(inferred.value, expected_value) |