diff options
Diffstat (limited to 'tools/aapt2/ResourceUtils_test.cpp')
-rw-r--r-- | tools/aapt2/ResourceUtils_test.cpp | 138 |
1 files changed, 58 insertions, 80 deletions
diff --git a/tools/aapt2/ResourceUtils_test.cpp b/tools/aapt2/ResourceUtils_test.cpp index cdc34f1ec752..3a5e685e6b94 100644 --- a/tools/aapt2/ResourceUtils_test.cpp +++ b/tools/aapt2/ResourceUtils_test.cpp @@ -20,96 +20,88 @@ #include "test/Test.h" using ::aapt::test::ValueEq; +using ::android::Res_value; +using ::android::ResTable_map; +using ::testing::Eq; +using ::testing::NotNull; using ::testing::Pointee; namespace aapt { TEST(ResourceUtilsTest, ParseBool) { - EXPECT_EQ(Maybe<bool>(true), ResourceUtils::ParseBool("true")); - EXPECT_EQ(Maybe<bool>(true), ResourceUtils::ParseBool("TRUE")); - EXPECT_EQ(Maybe<bool>(true), ResourceUtils::ParseBool("True")); - EXPECT_EQ(Maybe<bool>(false), ResourceUtils::ParseBool("false")); - EXPECT_EQ(Maybe<bool>(false), ResourceUtils::ParseBool("FALSE")); - EXPECT_EQ(Maybe<bool>(false), ResourceUtils::ParseBool("False")); + EXPECT_THAT(ResourceUtils::ParseBool("true"), Eq(Maybe<bool>(true))); + EXPECT_THAT(ResourceUtils::ParseBool("TRUE"), Eq(Maybe<bool>(true))); + EXPECT_THAT(ResourceUtils::ParseBool("True"), Eq(Maybe<bool>(true))); + + EXPECT_THAT(ResourceUtils::ParseBool("false"), Eq(Maybe<bool>(false))); + EXPECT_THAT(ResourceUtils::ParseBool("FALSE"), Eq(Maybe<bool>(false))); + EXPECT_THAT(ResourceUtils::ParseBool("False"), Eq(Maybe<bool>(false))); } TEST(ResourceUtilsTest, ParseResourceName) { ResourceNameRef actual; bool actual_priv = false; - EXPECT_TRUE(ResourceUtils::ParseResourceName("android:color/foo", &actual, - &actual_priv)); - EXPECT_EQ(ResourceNameRef("android", ResourceType::kColor, "foo"), actual); + EXPECT_TRUE(ResourceUtils::ParseResourceName("android:color/foo", &actual, &actual_priv)); + EXPECT_THAT(actual, Eq(ResourceNameRef("android", ResourceType::kColor, "foo"))); EXPECT_FALSE(actual_priv); - EXPECT_TRUE( - ResourceUtils::ParseResourceName("color/foo", &actual, &actual_priv)); - EXPECT_EQ(ResourceNameRef({}, ResourceType::kColor, "foo"), actual); + EXPECT_TRUE(ResourceUtils::ParseResourceName("color/foo", &actual, &actual_priv)); + EXPECT_THAT(actual, Eq(ResourceNameRef({}, ResourceType::kColor, "foo"))); EXPECT_FALSE(actual_priv); - EXPECT_TRUE(ResourceUtils::ParseResourceName("*android:color/foo", &actual, - &actual_priv)); - EXPECT_EQ(ResourceNameRef("android", ResourceType::kColor, "foo"), actual); + EXPECT_TRUE(ResourceUtils::ParseResourceName("*android:color/foo", &actual, &actual_priv)); + EXPECT_THAT(actual, Eq(ResourceNameRef("android", ResourceType::kColor, "foo"))); EXPECT_TRUE(actual_priv); EXPECT_FALSE(ResourceUtils::ParseResourceName(android::StringPiece(), &actual, &actual_priv)); } TEST(ResourceUtilsTest, ParseReferenceWithNoPackage) { - ResourceNameRef expected({}, ResourceType::kColor, "foo"); ResourceNameRef actual; bool create = false; bool private_ref = false; - EXPECT_TRUE(ResourceUtils::ParseReference("@color/foo", &actual, &create, - &private_ref)); - EXPECT_EQ(expected, actual); + EXPECT_TRUE(ResourceUtils::ParseReference("@color/foo", &actual, &create, &private_ref)); + EXPECT_THAT(actual, Eq(ResourceNameRef({}, ResourceType::kColor, "foo"))); EXPECT_FALSE(create); EXPECT_FALSE(private_ref); } TEST(ResourceUtilsTest, ParseReferenceWithPackage) { - ResourceNameRef expected("android", ResourceType::kColor, "foo"); ResourceNameRef actual; bool create = false; bool private_ref = false; - EXPECT_TRUE(ResourceUtils::ParseReference("@android:color/foo", &actual, - &create, &private_ref)); - EXPECT_EQ(expected, actual); + EXPECT_TRUE(ResourceUtils::ParseReference("@android:color/foo", &actual, &create, &private_ref)); + EXPECT_THAT(actual, Eq(ResourceNameRef("android", ResourceType::kColor, "foo"))); EXPECT_FALSE(create); EXPECT_FALSE(private_ref); } TEST(ResourceUtilsTest, ParseReferenceWithSurroundingWhitespace) { - ResourceNameRef expected("android", ResourceType::kColor, "foo"); ResourceNameRef actual; bool create = false; bool private_ref = false; - EXPECT_TRUE(ResourceUtils::ParseReference("\t @android:color/foo\n \n\t", - &actual, &create, &private_ref)); - EXPECT_EQ(expected, actual); + EXPECT_TRUE(ResourceUtils::ParseReference("\t @android:color/foo\n \n\t", &actual, &create, &private_ref)); + EXPECT_THAT(actual, Eq(ResourceNameRef("android", ResourceType::kColor, "foo"))); EXPECT_FALSE(create); EXPECT_FALSE(private_ref); } TEST(ResourceUtilsTest, ParseAutoCreateIdReference) { - ResourceNameRef expected("android", ResourceType::kId, "foo"); ResourceNameRef actual; bool create = false; bool private_ref = false; - EXPECT_TRUE(ResourceUtils::ParseReference("@+android:id/foo", &actual, - &create, &private_ref)); - EXPECT_EQ(expected, actual); + EXPECT_TRUE(ResourceUtils::ParseReference("@+android:id/foo", &actual, &create, &private_ref)); + EXPECT_THAT(actual, Eq(ResourceNameRef("android", ResourceType::kId, "foo"))); EXPECT_TRUE(create); EXPECT_FALSE(private_ref); } TEST(ResourceUtilsTest, ParsePrivateReference) { - ResourceNameRef expected("android", ResourceType::kId, "foo"); ResourceNameRef actual; bool create = false; bool private_ref = false; - EXPECT_TRUE(ResourceUtils::ParseReference("@*android:id/foo", &actual, - &create, &private_ref)); - EXPECT_EQ(expected, actual); + EXPECT_TRUE(ResourceUtils::ParseReference("@*android:id/foo", &actual, &create, &private_ref)); + EXPECT_THAT(actual, Eq(ResourceNameRef("android", ResourceType::kId, "foo"))); EXPECT_FALSE(create); EXPECT_TRUE(private_ref); } @@ -118,8 +110,7 @@ TEST(ResourceUtilsTest, FailToParseAutoCreateNonIdReference) { bool create = false; bool private_ref = false; ResourceNameRef actual; - EXPECT_FALSE(ResourceUtils::ParseReference("@+android:color/foo", &actual, - &create, &private_ref)); + EXPECT_FALSE(ResourceUtils::ParseReference("@+android:color/foo", &actual, &create, &private_ref)); } TEST(ResourceUtilsTest, ParseAttributeReferences) { @@ -143,82 +134,69 @@ TEST(ResourceUtilsTest, FailParseIncompleteReference) { } TEST(ResourceUtilsTest, ParseStyleParentReference) { - const ResourceName kAndroidStyleFooName("android", ResourceType::kStyle, - "foo"); + const ResourceName kAndroidStyleFooName("android", ResourceType::kStyle, "foo"); const ResourceName kStyleFooName({}, ResourceType::kStyle, "foo"); std::string err_str; - Maybe<Reference> ref = - ResourceUtils::ParseStyleParentReference("@android:style/foo", &err_str); - AAPT_ASSERT_TRUE(ref); - EXPECT_EQ(ref.value().name.value(), kAndroidStyleFooName); + Maybe<Reference> ref = ResourceUtils::ParseStyleParentReference("@android:style/foo", &err_str); + ASSERT_TRUE(ref); + EXPECT_THAT(ref.value().name, Eq(make_value(kAndroidStyleFooName))); ref = ResourceUtils::ParseStyleParentReference("@style/foo", &err_str); - AAPT_ASSERT_TRUE(ref); - EXPECT_EQ(ref.value().name.value(), kStyleFooName); + ASSERT_TRUE(ref); + EXPECT_THAT(ref.value().name, Eq(make_value(kStyleFooName))); - ref = - ResourceUtils::ParseStyleParentReference("?android:style/foo", &err_str); - AAPT_ASSERT_TRUE(ref); - EXPECT_EQ(ref.value().name.value(), kAndroidStyleFooName); + ref = ResourceUtils::ParseStyleParentReference("?android:style/foo", &err_str); + ASSERT_TRUE(ref); + EXPECT_THAT(ref.value().name, Eq(make_value(kAndroidStyleFooName))); ref = ResourceUtils::ParseStyleParentReference("?style/foo", &err_str); - AAPT_ASSERT_TRUE(ref); - EXPECT_EQ(ref.value().name.value(), kStyleFooName); + ASSERT_TRUE(ref); + EXPECT_THAT(ref.value().name, Eq(make_value(kStyleFooName))); ref = ResourceUtils::ParseStyleParentReference("android:style/foo", &err_str); - AAPT_ASSERT_TRUE(ref); - EXPECT_EQ(ref.value().name.value(), kAndroidStyleFooName); + ASSERT_TRUE(ref); + EXPECT_THAT(ref.value().name, Eq(make_value(kAndroidStyleFooName))); ref = ResourceUtils::ParseStyleParentReference("android:foo", &err_str); - AAPT_ASSERT_TRUE(ref); - EXPECT_EQ(ref.value().name.value(), kAndroidStyleFooName); + ASSERT_TRUE(ref); + EXPECT_THAT(ref.value().name, Eq(make_value(kAndroidStyleFooName))); ref = ResourceUtils::ParseStyleParentReference("@android:foo", &err_str); - AAPT_ASSERT_TRUE(ref); - EXPECT_EQ(ref.value().name.value(), kAndroidStyleFooName); + ASSERT_TRUE(ref); + EXPECT_THAT(ref.value().name, Eq(make_value(kAndroidStyleFooName))); ref = ResourceUtils::ParseStyleParentReference("foo", &err_str); - AAPT_ASSERT_TRUE(ref); - EXPECT_EQ(ref.value().name.value(), kStyleFooName); + ASSERT_TRUE(ref); + EXPECT_THAT(ref.value().name, Eq(make_value(kStyleFooName))); - ref = - ResourceUtils::ParseStyleParentReference("*android:style/foo", &err_str); - AAPT_ASSERT_TRUE(ref); - EXPECT_EQ(ref.value().name.value(), kAndroidStyleFooName); + ref = ResourceUtils::ParseStyleParentReference("*android:style/foo", &err_str); + ASSERT_TRUE(ref); + EXPECT_THAT(ref.value().name, Eq(make_value(kAndroidStyleFooName))); EXPECT_TRUE(ref.value().private_reference); } TEST(ResourceUtilsTest, ParseEmptyFlag) { std::unique_ptr<Attribute> attr = test::AttributeBuilder(false) - .SetTypeMask(android::ResTable_map::TYPE_FLAGS) + .SetTypeMask(ResTable_map::TYPE_FLAGS) .AddItem("one", 0x01) .AddItem("two", 0x02) .Build(); - std::unique_ptr<BinaryPrimitive> result = - ResourceUtils::TryParseFlagSymbol(attr.get(), ""); - ASSERT_NE(nullptr, result); - EXPECT_EQ(0u, result->value.data); + std::unique_ptr<BinaryPrimitive> result = ResourceUtils::TryParseFlagSymbol(attr.get(), ""); + ASSERT_THAT(result, NotNull()); + EXPECT_THAT(result->value.data, Eq(0u)); } TEST(ResourceUtilsTest, NullIsEmptyReference) { - auto null_value = ResourceUtils::MakeNull(); - ASSERT_THAT(null_value, Pointee(ValueEq(Reference()))); - - auto value = ResourceUtils::TryParseNullOrEmpty("@null"); - ASSERT_THAT(value, Pointee(ValueEq(Reference()))); + ASSERT_THAT(ResourceUtils::MakeNull(), Pointee(ValueEq(Reference()))); + ASSERT_THAT(ResourceUtils::TryParseNullOrEmpty("@null"), Pointee(ValueEq(Reference()))); } TEST(ResourceUtilsTest, EmptyIsBinaryPrimitive) { - auto empty_value = ResourceUtils::MakeEmpty(); - ASSERT_THAT(empty_value, Pointee(ValueEq(BinaryPrimitive(android::Res_value::TYPE_NULL, - android::Res_value::DATA_NULL_EMPTY)))); - - auto value = ResourceUtils::TryParseNullOrEmpty("@empty"); - ASSERT_THAT(value, Pointee(ValueEq(BinaryPrimitive(android::Res_value::TYPE_NULL, - android::Res_value::DATA_NULL_EMPTY)))); + ASSERT_THAT(ResourceUtils::MakeEmpty(), Pointee(ValueEq(BinaryPrimitive(Res_value::TYPE_NULL, Res_value::DATA_NULL_EMPTY)))); + ASSERT_THAT(ResourceUtils::TryParseNullOrEmpty("@empty"), Pointee(ValueEq(BinaryPrimitive(Res_value::TYPE_NULL, Res_value::DATA_NULL_EMPTY)))); } } // namespace aapt |