AAPT2: Shared library support
Test: make aapt2_tests
Change-Id: I98dddf1367e6c0ac425bb20be46e6ff05f4f2f45
diff --git a/tools/aapt2/link/PrivateAttributeMover_test.cpp b/tools/aapt2/link/PrivateAttributeMover_test.cpp
index 90c4922..7fcf6e7 100644
--- a/tools/aapt2/link/PrivateAttributeMover_test.cpp
+++ b/tools/aapt2/link/PrivateAttributeMover_test.cpp
@@ -54,8 +54,7 @@
EXPECT_NE(type->FindEntry("privateB"), nullptr);
}
-TEST(PrivateAttributeMoverTest,
- LeavePrivateAttributesWhenNoPublicAttributesDefined) {
+TEST(PrivateAttributeMoverTest, LeavePrivateAttributesWhenNoPublicAttributesDefined) {
std::unique_ptr<IAaptContext> context = test::ContextBuilder().Build();
std::unique_ptr<ResourceTable> table = test::ResourceTableBuilder()
@@ -77,4 +76,23 @@
ASSERT_EQ(type, nullptr);
}
+TEST(PrivateAttributeMoverTest, DoNotCreatePrivateAttrsIfNoneExist) {
+ std::unique_ptr<IAaptContext> context = test::ContextBuilder().Build();
+ std::unique_ptr<ResourceTable> table =
+ test::ResourceTableBuilder()
+ .AddSimple("android:attr/pub")
+ .SetSymbolState("android:attr/pub", ResourceId(0x01010000), SymbolState::kPublic)
+ .Build();
+
+ ResourceTablePackage* package = table->FindPackage("android");
+ ASSERT_NE(nullptr, package);
+
+ ASSERT_EQ(nullptr, package->FindType(ResourceType::kAttrPrivate));
+
+ PrivateAttributeMover mover;
+ ASSERT_TRUE(mover.Consume(context.get(), table.get()));
+
+ ASSERT_EQ(nullptr, package->FindType(ResourceType::kAttrPrivate));
+}
+
} // namespace aapt