diff options
author | Ryan Mitchell <rtmitchell@google.com> | 2018-03-28 18:22:57 -0700 |
---|---|---|
committer | Ryan Mitchell <rtmitchell@google.com> | 2018-04-04 15:54:05 +0000 |
commit | 9beaa9cfe3bd8c7c59eed053ff6ca18951c34a86 (patch) | |
tree | 0a14c76b75c770328fadb68b75d83751121637e7 /tools/aapt2/ResourceParser_test.cpp | |
parent | a926126a8bc89c1a6bd7fa8a76332476eba0d954 (diff) |
Changed AAPT2 to abide by AAPT resource whitespace triming.
Bug: b/74331008
Test: Created tests in ResourceParser_test.cpp
Change-Id: Id7b387692b795774cd77452ca8cf06a8447bf3be
(cherry picked from commit a04880771254f5169a1fe460ff40b565d9dceb0d)
Diffstat (limited to 'tools/aapt2/ResourceParser_test.cpp')
-rw-r--r-- | tools/aapt2/ResourceParser_test.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tools/aapt2/ResourceParser_test.cpp b/tools/aapt2/ResourceParser_test.cpp index c98c0b95b69b..fc1aeaa58fe2 100644 --- a/tools/aapt2/ResourceParser_test.cpp +++ b/tools/aapt2/ResourceParser_test.cpp @@ -164,6 +164,39 @@ TEST_F(ResourceParserTest, ParseStringWithWhitespace) { EXPECT_THAT(*str, StrValueEq(" This is what I think ")); } +TEST_F(ResourceParserTest, ParseStringTruncateASCII) { + // Tuncate leading and trailing whitespace + EXPECT_TRUE(TestParse(R"(<string name="foo"> Hello </string>)")); + + String* str = test::GetValue<String>(&table_, "string/foo"); + ASSERT_THAT(str, NotNull()); + EXPECT_THAT(*str->value, StrEq("Hello")); + EXPECT_THAT(str->untranslatable_sections, IsEmpty()); + + // AAPT does not truncate unicode whitespace + EXPECT_TRUE(TestParse(R"(<string name="foo2">\u0020\Hello\u0020</string>)")); + + str = test::GetValue<String>(&table_, "string/foo2"); + ASSERT_THAT(str, NotNull()); + EXPECT_THAT(*str->value, StrEq(" Hello ")); + EXPECT_THAT(str->untranslatable_sections, IsEmpty()); + + // Preserve non-ASCII whitespace including extended ASCII characters + EXPECT_TRUE(TestParse(R"(<string name="foo3"> Hello </string>)")); + + str = test::GetValue<String>(&table_, "string/foo3"); + ASSERT_THAT(str, NotNull()); + EXPECT_THAT(*str->value, StrEq("\xC2\xA0Hello\xC2\xA0")); + EXPECT_THAT(str->untranslatable_sections, IsEmpty()); + + EXPECT_TRUE(TestParse(R"(<string name="foo4">2005年6月1日</string>)")); + + str = test::GetValue<String>(&table_, "string/foo4"); + ASSERT_THAT(str, NotNull()); + EXPECT_THAT(*str->value, StrEq("2005年6月1日")); + EXPECT_THAT(str->untranslatable_sections, IsEmpty()); +} + TEST_F(ResourceParserTest, ParseStyledStringWithWhitespace) { std::string input = R"(<string name="foo"> <b> My <i> favorite</i> string </b> </string>)"; ASSERT_TRUE(TestParse(input)); |