NAME=text-classes-mafia
FILE=bins/android/mafia/libapp.so
CMDS=<<EOF
L ../src/r2/core_flutter.dylib
L ../src/r2/core_flutter.so
r2flutter -c~:0..6
EOF
EXPECT=<<EOF
class Pointer (size=32)
  methods:
    0x00c6ab64 get:hashCode (GetterFunction)
    0x00d8bde8 == (RegularFunction)
class NativeType (size=16)
class NativeFunction (size=16)
EOF
RUN

NAME=text-classes-mafia-modern-members
FILE=bins/android/mafia/libapp.so
CMDS=<<EOF
L ../src/r2/core_flutter.dylib
L ../src/r2/core_flutter.so
r2flutter -c~?&_RawReceivePort@1026248,size=32
r2flutter -c~?_portMap@1026248
r2flutter -c~?firstMatch
EOF
EXPECT=<<EOF
1
1
1
EOF
RUN

NAME=r2-classes-mafia
FILE=bins/android/mafia/libapp.so
CMDS=<<EOF
L ../src/r2/core_flutter.dylib
L ../src/r2/core_flutter.so
r2flutter -r -c~:0..7
EOF
EXPECT=<<EOF
# Dart classes extracted from snapshot
# class Pointer (size=32)
#   type_params: 1
"td struct dart_Pointer { };"
#   method 0x00c6ab64 get:hashCode (GetterFunction)
#   method 0x00d8bde8 == (RegularFunction)
# class NativeType (size=16)
EOF
RUN
