diff options
Diffstat (limited to 'tools/aapt2/ResourceUtils_test.cpp')
-rw-r--r-- | tools/aapt2/ResourceUtils_test.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tools/aapt2/ResourceUtils_test.cpp b/tools/aapt2/ResourceUtils_test.cpp index 048c69252e47..cdc34f1ec752 100644 --- a/tools/aapt2/ResourceUtils_test.cpp +++ b/tools/aapt2/ResourceUtils_test.cpp @@ -19,6 +19,9 @@ #include "Resource.h" #include "test/Test.h" +using ::aapt::test::ValueEq; +using ::testing::Pointee; + namespace aapt { TEST(ResourceUtilsTest, ParseBool) { @@ -200,4 +203,22 @@ TEST(ResourceUtilsTest, ParseEmptyFlag) { EXPECT_EQ(0u, result->value.data); } +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()))); +} + +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)))); +} + } // namespace aapt |