Merge "DO NOT MERGE: Fixed broken aapt2 tests" into qt-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
cbe933a40f
@@ -284,8 +284,58 @@ TEST(ResourcesValuesTest, AttributeIsCompatible) {
|
|||||||
|
|
||||||
EXPECT_FALSE(attr_three.IsCompatibleWith(attr_one));
|
EXPECT_FALSE(attr_three.IsCompatibleWith(attr_one));
|
||||||
EXPECT_FALSE(attr_three.IsCompatibleWith(attr_two));
|
EXPECT_FALSE(attr_three.IsCompatibleWith(attr_two));
|
||||||
EXPECT_FALSE(attr_three.IsCompatibleWith(attr_three));
|
EXPECT_TRUE(attr_three.IsCompatibleWith(attr_three));
|
||||||
EXPECT_FALSE(attr_three.IsCompatibleWith(attr_four));
|
EXPECT_FALSE(attr_three.IsCompatibleWith(attr_four));
|
||||||
|
|
||||||
|
EXPECT_FALSE(attr_four.IsCompatibleWith(attr_one));
|
||||||
|
EXPECT_FALSE(attr_four.IsCompatibleWith(attr_two));
|
||||||
|
EXPECT_FALSE(attr_four.IsCompatibleWith(attr_three));
|
||||||
|
EXPECT_TRUE(attr_four.IsCompatibleWith(attr_four));
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(ResourcesValuesTest, AttributeEnumIsCompatible) {
|
||||||
|
Attribute attr_one(TYPE_ENUM);
|
||||||
|
attr_one.symbols.push_back(
|
||||||
|
Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/foo")), 0x01u});
|
||||||
|
attr_one.symbols.push_back(
|
||||||
|
Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/bar")), 0x07u});
|
||||||
|
|
||||||
|
Attribute attr_two(TYPE_ENUM);
|
||||||
|
attr_two.symbols.push_back(
|
||||||
|
Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/foo")), 0x01u});
|
||||||
|
attr_two.symbols.push_back(
|
||||||
|
Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/bar")), 0x07u});
|
||||||
|
EXPECT_TRUE(attr_one.IsCompatibleWith(attr_two));
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(ResourcesValuesTest, DifferentAttributeEnumDifferentNameIsNotCompatible) {
|
||||||
|
Attribute attr_one(TYPE_ENUM);
|
||||||
|
attr_one.symbols.push_back(
|
||||||
|
Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/foo")), 0x01u});
|
||||||
|
attr_one.symbols.push_back(
|
||||||
|
Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/bar")), 0x07u});
|
||||||
|
|
||||||
|
Attribute attr_two(TYPE_ENUM);
|
||||||
|
attr_two.symbols.push_back(
|
||||||
|
Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/foo")), 0x01u});
|
||||||
|
attr_one.symbols.push_back(
|
||||||
|
Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/baz")), 0x07u});
|
||||||
|
EXPECT_FALSE(attr_one.IsCompatibleWith(attr_two));
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(ResourcesValuesTest, DifferentAttributeEnumDifferentValueIsNotCompatible) {
|
||||||
|
Attribute attr_one(TYPE_ENUM);
|
||||||
|
attr_one.symbols.push_back(
|
||||||
|
Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/foo")), 0x01u});
|
||||||
|
attr_one.symbols.push_back(
|
||||||
|
Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/bar")), 0x07u});
|
||||||
|
|
||||||
|
Attribute attr_two(TYPE_ENUM);
|
||||||
|
attr_two.symbols.push_back(
|
||||||
|
Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/foo")), 0x01u});
|
||||||
|
attr_two.symbols.push_back(
|
||||||
|
Attribute::Symbol{Reference(test::ParseNameOrDie("android:id/bar")), 0x09u});
|
||||||
|
EXPECT_FALSE(attr_one.IsCompatibleWith(attr_two));
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace aapt
|
} // namespace aapt
|
||||||
|
|||||||
@@ -408,54 +408,6 @@ TEST_F(TableMergerTest, FailToOverrideConflictingAttributeFormatsWithOverlay) {
|
|||||||
ASSERT_FALSE(merger.Merge({}, overlay.get(), true /*overlay*/));
|
ASSERT_FALSE(merger.Merge({}, overlay.get(), true /*overlay*/));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(TableMergerTest, FailToOverrideConflictingFlagsAndEnumsWithOverlay) {
|
|
||||||
std::unique_ptr<ResourceTable> base =
|
|
||||||
test::ResourceTableBuilder()
|
|
||||||
.SetPackageId("", 0x7f)
|
|
||||||
.AddValue("attr/foo", test::AttributeBuilder()
|
|
||||||
.SetTypeMask(android::ResTable_map::TYPE_FLAGS)
|
|
||||||
.Build())
|
|
||||||
.Build();
|
|
||||||
|
|
||||||
std::unique_ptr<ResourceTable> overlay =
|
|
||||||
test::ResourceTableBuilder()
|
|
||||||
.SetPackageId("", 0x7f)
|
|
||||||
.AddValue("attr/foo", test::AttributeBuilder()
|
|
||||||
.SetTypeMask(android::ResTable_map::TYPE_FLAGS)
|
|
||||||
.SetWeak(false)
|
|
||||||
.Build())
|
|
||||||
.Build();
|
|
||||||
|
|
||||||
ResourceTable final_table;
|
|
||||||
TableMergerOptions options;
|
|
||||||
options.auto_add_overlay = false;
|
|
||||||
TableMerger merger(context_.get(), &final_table, options);
|
|
||||||
|
|
||||||
ASSERT_TRUE(merger.Merge({}, base.get(), false /*overlay*/));
|
|
||||||
ASSERT_FALSE(merger.Merge({}, overlay.get(), true /*overlay*/));
|
|
||||||
|
|
||||||
base = test::ResourceTableBuilder()
|
|
||||||
.SetPackageId("", 0x7f)
|
|
||||||
.AddValue("attr/foo", test::AttributeBuilder()
|
|
||||||
.SetTypeMask(android::ResTable_map::TYPE_ENUM)
|
|
||||||
.Build())
|
|
||||||
.Build();
|
|
||||||
|
|
||||||
overlay = test::ResourceTableBuilder()
|
|
||||||
.SetPackageId("", 0x7f)
|
|
||||||
.AddValue("attr/foo", test::AttributeBuilder()
|
|
||||||
.SetTypeMask(android::ResTable_map::TYPE_ENUM)
|
|
||||||
.SetWeak(false)
|
|
||||||
.Build())
|
|
||||||
.Build();
|
|
||||||
|
|
||||||
ResourceTable final_table2;
|
|
||||||
TableMerger merger2(context_.get(), &final_table2, options);
|
|
||||||
|
|
||||||
ASSERT_TRUE(merger2.Merge({}, base.get(), false /*overlay*/));
|
|
||||||
ASSERT_FALSE(merger2.Merge({}, overlay.get(), true /*overlay*/));
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST_F(TableMergerTest, FailToMergeNewResourceWithoutAutoAddOverlay) {
|
TEST_F(TableMergerTest, FailToMergeNewResourceWithoutAutoAddOverlay) {
|
||||||
std::unique_ptr<ResourceTable> table_a =
|
std::unique_ptr<ResourceTable> table_a =
|
||||||
test::ResourceTableBuilder().SetPackageId("", 0x7f).Build();
|
test::ResourceTableBuilder().SetPackageId("", 0x7f).Build();
|
||||||
|
|||||||
Reference in New Issue
Block a user