diff options
Diffstat (limited to 'tools/aapt2/ResourceUtils_test.cpp')
-rw-r--r-- | tools/aapt2/ResourceUtils_test.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tools/aapt2/ResourceUtils_test.cpp b/tools/aapt2/ResourceUtils_test.cpp index 3a5e685e6b94..e637c3ee2f3c 100644 --- a/tools/aapt2/ResourceUtils_test.cpp +++ b/tools/aapt2/ResourceUtils_test.cpp @@ -36,6 +36,8 @@ TEST(ResourceUtilsTest, ParseBool) { 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))); + + EXPECT_THAT(ResourceUtils::ParseBool(" False\n "), Eq(Maybe<bool>(false))); } TEST(ResourceUtilsTest, ParseResourceName) { @@ -199,4 +201,16 @@ TEST(ResourceUtilsTest, EmptyIsBinaryPrimitive) { ASSERT_THAT(ResourceUtils::TryParseNullOrEmpty("@empty"), Pointee(ValueEq(BinaryPrimitive(Res_value::TYPE_NULL, Res_value::DATA_NULL_EMPTY)))); } +TEST(ResourceUtilsTest, ItemsWithWhitespaceAreParsedCorrectly) { + EXPECT_THAT(ResourceUtils::TryParseItemForAttribute(" 12\n ", ResTable_map::TYPE_INTEGER), + Pointee(ValueEq(BinaryPrimitive(Res_value::TYPE_INT_DEC, 12u)))); + EXPECT_THAT(ResourceUtils::TryParseItemForAttribute(" true\n ", ResTable_map::TYPE_BOOLEAN), + Pointee(ValueEq(BinaryPrimitive(Res_value::TYPE_INT_BOOLEAN, 0xffffffffu)))); + + const float expected_float = 12.0f; + const uint32_t expected_float_flattened = *(uint32_t*)&expected_float; + EXPECT_THAT(ResourceUtils::TryParseItemForAttribute(" 12.0\n ", ResTable_map::TYPE_FLOAT), + Pointee(ValueEq(BinaryPrimitive(Res_value::TYPE_FLOAT, expected_float_flattened)))); +} + } // namespace aapt |