@@ -290,6 +290,53 @@ def test_find_method(apkinfo, test_input, expected):
290290 assert isinstance (result , list )
291291 assert expect_method in result
292292
293+ def test_find_method_in_regular_class (self , apkinfo ):
294+ result = apkinfo .find_method (
295+ "Ljava/lang/reflect/Field;" , "setAccessible" , "(Z)V"
296+ )
297+
298+ assert isinstance (result , MethodObject )
299+ assert str (result .class_name ) == "Ljava/lang/reflect/Field;"
300+ assert str (result .name ) == "setAccessible"
301+ assert str (result .descriptor ) == "(Z)V"
302+
303+ def test_find_method_in_inner_class (self , apkinfo ):
304+ result = apkinfo .find_method (
305+ "Landroid/support/v4/accessibilityservice/Accessibility"
306+ + "ServiceInfoCompat$AccessibilityServiceInfoVersionImpl;" ,
307+ "getId" ,
308+ "(Landroid/accessibilityservice/AccessibilityServiceInfo;)"
309+ + "Ljava/lang/String;" ,
310+ )
311+
312+ assert isinstance (result , MethodObject )
313+ assert (
314+ str (result .class_name )
315+ == "Landroid/support/v4/accessibilityservice/Accessibility"
316+ + "ServiceInfoCompat$AccessibilityServiceInfoVersionImpl;"
317+ )
318+ assert str (result .name ) == "getId"
319+ assert (
320+ str (result .descriptor )
321+ == "(Landroid/accessibilityservice/AccessibilityServiceInfo;)"
322+ + "Ljava/lang/String;"
323+ )
324+
325+ def test_find_method_in_anonymous_class (self , apkinfo ):
326+ result = apkinfo .find_method (
327+ "Landroid/support/v4/view/AccessibilityDelegateCompatIcs$1;" ,
328+ "sendAccessibilityEvent" ,
329+ "(Landroid/view/View; I)V" ,
330+ )
331+
332+ assert isinstance (result , MethodObject )
333+ assert (
334+ str (result .class_name )
335+ == "Landroid/support/v4/view/AccessibilityDelegateCompatIcs$1;"
336+ )
337+ assert str (result .name ) == "sendAccessibilityEvent"
338+ assert str (result .descriptor ) == "(Landroid/view/View; I)V"
339+
293340 def test_upperfunc (self , apkinfo ):
294341 api = apkinfo .find_method (
295342 "Lcom/example/google/service/ContactsHelper;" ,
0 commit comments