diff options
author | Bryce Guinta <bryce.paul.guinta@gmail.com> | 2018-07-06 01:09:51 -0600 |
---|---|---|
committer | Bryce Guinta <bryce.paul.guinta@gmail.com> | 2018-07-06 01:09:51 -0600 |
commit | 0b7638a0d2a1d29b3bba690e779dd02d89dbac81 (patch) | |
tree | d20e5488c16835b0c39936b79c91b8dfc88a8718 | |
parent | 50c911503e134fa72943b1053fa7ecf8fe907f2f (diff) | |
download | astroid-git-0b7638a0d2a1d29b3bba690e779dd02d89dbac81.tar.gz |
Add test for BoundMethod descriptor objectmodel fix
-rw-r--r-- | astroid/tests/unittest_object_model.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/astroid/tests/unittest_object_model.py b/astroid/tests/unittest_object_model.py index 85226b01..0e217154 100644 --- a/astroid/tests/unittest_object_model.py +++ b/astroid/tests/unittest_object_model.py @@ -342,6 +342,26 @@ class FunctionModelTest(unittest.TestCase): with self.assertRaises(exceptions.InferenceError): next(node.infer()) + def test_descriptor_error_regression(self): + """Make sure the following code does + node cause an exception""" + node = builder.extract_node(''' + class MyClass: + text = "MyText" + + def mymethod1(self): + return self.text + + def mymethod2(self): + return self.mymethod1.__get__(self, MyClass) + + + cl = MyClass().mymethod2()() + cl #@ + ''') + [const] = node.inferred() + assert const.value == "MyText" + def test_function_model(self): ast_nodes = builder.extract_node(''' def func(a=1, b=2): |