NAME=text-strings-android-mafia
FILE=bins/android/mafia/libapp.so
CMDS=<<EOF
L ../src/r2/core_flutter.dylib
L ../src/r2/core_flutter.so
r2flutter -zz~:0..14
EOF
EXPECT=<<EOF
0x00000354  167 :app "97ff04a728735e6b6b098bdf983faabaproduct no-code_comments no-dwarf_stack_traces_mode dedup_instructions no-tsan no-msan no-shared_data arm64 android compressed-pointers"
0x00000855   15 :app "<optimized out>"
0x00000865    6 :lib "Handle"
0x00000870   22 :lib "MonomorphicSmiableCall"
0x0000088b   11 :lib "ClosureData"
0x00000897   17 :app "dyn:implicit:call"
0x000008ae   16 :lib "_NativeFinalizer"
0x000008c1   13 :lib "_FunctionType"
0x000008cf   10 :lib "Uint64List"
0x000008da   11 :lib "UnwindError"
0x000008ea    8 :lib ".fieldNI"
0x000008f3    9 :lib "covariant"
0x000008fd    5 :lib "class"
0x00000903    8 :lib "abstract"
EOF
RUN

NAME=text-strings-xrefs-android-mafia
FILE=bins/android/mafia/libapp.so
CMDS=<<EOF
L ../src/r2/core_flutter.dylib
L ../src/r2/core_flutter.so
r2flutter -xzz~:0..14
EOF
EXPECT=<<EOF
0x00000354  167 :app "97ff04a728735e6b6b098bdf983faabaproduct no-code_comments no-dwarf_stack_traces_mode dedup_instructions no-tsan no-msan no-shared_data arm64 android compressed-pointers"
0x00000855   15 :app "<optimized out>"
0x00000865    6 :lib "Handle"
#   referenced by 1 objects
#     class.name class Handle [ref=170740]
0x00000870   22 :lib "MonomorphicSmiableCall"
0x0000088b   11 :lib "ClosureData"
0x00000897   17 :app "dyn:implicit:call"
0x000008ae   16 :lib "_NativeFinalizer"
0x000008c1   13 :lib "_FunctionType"
0x000008cf   10 :lib "Uint64List"
#   referenced by 1 objects
#     class.name class Uint64List [ref=173173]
0x000008da   11 :lib "UnwindError"
EOF
RUN

NAME=json-strings-objectpool-android-mafia
FILE=bins/android/mafia/libapp.so
CMDS=<<EOF
L ../src/r2/core_flutter.dylib
L ../src/r2/core_flutter.so
r2flutter -q -j -xz~{[0]}
EOF
EXPECT=<<EOF
{"ref":2429,"len":15,"value":"<optimized out>","category":"app","two_byte":false,"canonical":true,"addr":2133,"refs":[{"obj":195985,"type":"other","kind":"object_pool.entry","name":"pool=195985 index=0 entry=7053 pp_off=0xdc78"}]}
EOF
RUN

NAME=quiet-strings-objectpool-android-mafia
FILE=bins/android/mafia/libapp.so
CMDS=<<EOF
L ../src/r2/core_flutter.dylib
L ../src/r2/core_flutter.so
r2flutter -q -z~:0..3
EOF
EXPECT=<<EOF
<optimized out>
\x1a
4
EOF
RUN

NAME=r2-string-xrefs-objectpool-android-mafia
FILE=bins/android/mafia/libapp.so
CMDS=<<EOF
L ../src/r2/core_flutter.dylib
L ../src/r2/core_flutter.so
r2flutter -q -r -x -z~:0..4
EOF
EXPECT=<<EOF
iz+ 0x00000855 15
f str._optimized_out_.0x855 15 @ 0x00000855
Cs8 15 @ 0x00000855
ax 0x855 0x392dcc
EOF
RUN

NAME=plugin-quiet-strings-objectpool-android-mafia
FILE=bins/android/mafia/libapp.so
CMDS=<<EOF
L ../src/r2/core_flutter.dylib
L ../src/r2/core_flutter.so
r2flutter -qz~:0..3
EOF
EXPECT=<<EOF
<optimized out>
\x1a
4
EOF
RUN
