OSDN Git Service

am 6159ef45: (-s ours) Parameterize instance counting to include subclasses.
[android-x86/dalvik.git] / unit-tests / dvmHumanReadableDescriptor_test.cpp
1 #include <gtest/gtest.h>
2
3 // TODO: make dalvik's .h files C++-clean.
4 extern "C" char* dvmHumanReadableDescriptor(const char* descriptor);
5
6 TEST(dvmHumanReadableDescriptor, ArrayReferences) {
7   ASSERT_STREQ("java.lang.Class[]", dvmHumanReadableDescriptor("[Ljava/lang/Class;"));
8   ASSERT_STREQ("java.lang.Class[][]", dvmHumanReadableDescriptor("[[Ljava/lang/Class;"));
9 }
10
11 TEST(dvmHumanReadableDescriptor, ScalarReferences) {
12   ASSERT_STREQ("java.lang.String", dvmHumanReadableDescriptor("Ljava.lang.String;"));
13   ASSERT_STREQ("java.lang.String", dvmHumanReadableDescriptor("Ljava/lang/String;"));
14 }
15
16 TEST(dvmHumanReadableDescriptor, PrimitiveArrays) {
17   ASSERT_STREQ("boolean[]", dvmHumanReadableDescriptor("[Z"));
18   ASSERT_STREQ("boolean[][]", dvmHumanReadableDescriptor("[[Z"));
19   ASSERT_STREQ("byte[]", dvmHumanReadableDescriptor("[B"));
20   ASSERT_STREQ("byte[][]", dvmHumanReadableDescriptor("[[B"));
21   ASSERT_STREQ("char[]", dvmHumanReadableDescriptor("[C"));
22   ASSERT_STREQ("char[][]", dvmHumanReadableDescriptor("[[C"));
23   ASSERT_STREQ("double[]", dvmHumanReadableDescriptor("[D"));
24   ASSERT_STREQ("double[][]", dvmHumanReadableDescriptor("[[D"));
25   ASSERT_STREQ("float[]", dvmHumanReadableDescriptor("[F"));
26   ASSERT_STREQ("float[][]", dvmHumanReadableDescriptor("[[F"));
27   ASSERT_STREQ("int[]", dvmHumanReadableDescriptor("[I"));
28   ASSERT_STREQ("int[][]", dvmHumanReadableDescriptor("[[I"));
29   ASSERT_STREQ("long[]", dvmHumanReadableDescriptor("[J"));
30   ASSERT_STREQ("long[][]", dvmHumanReadableDescriptor("[[J"));
31   ASSERT_STREQ("short[]", dvmHumanReadableDescriptor("[S"));
32   ASSERT_STREQ("short[][]", dvmHumanReadableDescriptor("[[S"));
33 }
34
35 TEST(dvmHumanReadableDescriptor, PrimitiveScalars) {
36   ASSERT_STREQ("boolean", dvmHumanReadableDescriptor("Z"));
37   ASSERT_STREQ("byte", dvmHumanReadableDescriptor("B"));
38   ASSERT_STREQ("char", dvmHumanReadableDescriptor("C"));
39   ASSERT_STREQ("double", dvmHumanReadableDescriptor("D"));
40   ASSERT_STREQ("float", dvmHumanReadableDescriptor("F"));
41   ASSERT_STREQ("int", dvmHumanReadableDescriptor("I"));
42   ASSERT_STREQ("long", dvmHumanReadableDescriptor("J"));
43   ASSERT_STREQ("short", dvmHumanReadableDescriptor("S"));
44 }