diff options
author | Adam Lesinski <adamlesinski@google.com> | 2014-08-14 13:53:34 -0700 |
---|---|---|
committer | Adam Lesinski <adamlesinski@google.com> | 2014-08-14 21:20:41 +0000 |
commit | e23a91e2bdab06e3c0c64201e88e50ab76c6b74b (patch) | |
tree | aba593b1c33e6f76fc7efca40e50a976dbff4480 /libs/androidfw/tests/ResTable_test.cpp | |
parent | 0204938659d93347081caec107661ea3734f1a65 (diff) |
Fix aapt dump for APKs with no resources
All APKs are expected to have at least one resource table (even if
it is empty). We were missing the creation of an empty DynamicRefTable.
Bug:16895517
Change-Id: I6a6e887f91b3b4bbcc52b3fd2741ef3d05fab1fd
Diffstat (limited to 'libs/androidfw/tests/ResTable_test.cpp')
-rw-r--r-- | libs/androidfw/tests/ResTable_test.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libs/androidfw/tests/ResTable_test.cpp b/libs/androidfw/tests/ResTable_test.cpp index 8016a82bd248..68c228e0de72 100644 --- a/libs/androidfw/tests/ResTable_test.cpp +++ b/libs/androidfw/tests/ResTable_test.cpp @@ -195,4 +195,21 @@ TEST(ResTableTest, resourceIsOverridenWithBetterConfig) { ASSERT_EQ(uint32_t(400), val.data); } +TEST(ResTableTest, emptyTableHasSensibleDefaults) { + const int32_t expectedCookie = 1; + + ResTable table; + ASSERT_EQ(NO_ERROR, table.addEmpty(expectedCookie)); + + ASSERT_EQ(uint32_t(1), table.getTableCount()); + ASSERT_EQ(uint32_t(1), table.getBasePackageCount()); + ASSERT_EQ(expectedCookie, table.getTableCookie(0)); + + const DynamicRefTable* dynamicRefTable = table.getDynamicRefTableForCookie(expectedCookie); + ASSERT_TRUE(dynamicRefTable != NULL); + + Res_value val; + ASSERT_LT(table.getResource(base::R::integer::number1, &val, MAY_NOT_BE_BAG), 0); +} + } |