|
2 | 2 | importos
|
3 | 3 | importsys
|
4 | 4 | importunittest
|
| 5 | +fromcollections.abcimportSequence |
5 | 6 | fromtypingimportList
|
6 | 7 |
|
7 | 8 | frombpythonimportinspection
|
@@ -179,6 +180,44 @@ def fun_annotations(number: int, lst: List[int] = []) -> List[int]:
|
179 | 180 | self.assertEqual(props.argspec.args, ["number","lst"])
|
180 | 181 | self.assertEqual(props.argspec.defaults[0], [])
|
181 | 182 |
|
| 183 | +@unittest.expectedFailure |
| 184 | +deftest_issue_966_class_method(self): |
| 185 | +classIssue966(Sequence): |
| 186 | +@classmethod |
| 187 | +defcmethod(cls,number:int,lst:List[int]= []): |
| 188 | +""" |
| 189 | + Return a list of numbers |
| 190 | +
|
| 191 | + Example: |
| 192 | + ======== |
| 193 | + C.cmethod(1337, [1, 2]) # => [1, 2, 1337] |
| 194 | + """ |
| 195 | +returnlst+ [number] |
| 196 | + |
| 197 | +@classmethod |
| 198 | +defbmethod(cls,number,lst): |
| 199 | +""" |
| 200 | + Return a list of numbers |
| 201 | +
|
| 202 | + Example: |
| 203 | + ======== |
| 204 | + C.cmethod(1337, [1, 2]) # => [1, 2, 1337] |
| 205 | + """ |
| 206 | +returnlst+ [number] |
| 207 | + |
| 208 | +props=inspection.getfuncprops( |
| 209 | +"bmethod",inspection.getattr_safe(Issue966,"bmethod") |
| 210 | + ) |
| 211 | +self.assertEqual(props.func,"bmethod") |
| 212 | +self.assertEqual(props.argspec.args, ["number","lst"]) |
| 213 | + |
| 214 | +props=inspection.getfuncprops( |
| 215 | +"cmethod",inspection.getattr_safe(Issue966,"cmethod") |
| 216 | + ) |
| 217 | +self.assertEqual(props.func,"cmethod") |
| 218 | +self.assertEqual(props.argspec.args, ["number","lst"]) |
| 219 | +self.assertEqual(props.argspec.defaults[0], []) |
| 220 | + |
182 | 221 |
|
183 | 222 | classA:
|
184 | 223 | a="a"
|
|