Skip to content

Commit 0b7bbd0

Browse files
haeter525sidra-asa
authored andcommitted
Test parsing for various types of classes
1 parent b429bc5 commit 0b7bbd0

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

tests/core/test_apkinfo.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)