diff options
author | Adam Lesinski <adamlesinski@google.com> | 2017-05-16 12:18:08 -0700 |
---|---|---|
committer | Adam Lesinski <adamlesinski@google.com> | 2017-05-16 12:18:53 -0700 |
commit | d5fd76a2ff78400505ade936fc36e707d69ecf72 (patch) | |
tree | 155ab260deffffbe41c40bd5185bd1db462a4115 /tools/aapt2/ResourceParser_test.cpp | |
parent | 4b2cecbb53aaa74c506ea0b318ede05f84756843 (diff) |
AAPT2: Respect format attr in <array> resource
Bug: 38152130
Test: make aapt2_tests
Change-Id: I84f352afb1a8fd2f329354f789aaa36c5ef88e47
Diffstat (limited to 'tools/aapt2/ResourceParser_test.cpp')
-rw-r--r-- | tools/aapt2/ResourceParser_test.cpp | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/tools/aapt2/ResourceParser_test.cpp b/tools/aapt2/ResourceParser_test.cpp index 8062c2e6afea..faa660729237 100644 --- a/tools/aapt2/ResourceParser_test.cpp +++ b/tools/aapt2/ResourceParser_test.cpp @@ -571,14 +571,39 @@ TEST_F(ResourceParserTest, ParseArray) { } TEST_F(ResourceParserTest, ParseStringArray) { - std::string input = - "<string-array name=\"foo\">\n" - " <item>\"Werk\"</item>\n" - "</string-array>\n"; + std::string input = R"EOF( + <string-array name="foo"> + <item>"Werk"</item>" + </string-array>)EOF"; ASSERT_TRUE(TestParse(input)); EXPECT_NE(nullptr, test::GetValue<Array>(&table_, "array/foo")); } +TEST_F(ResourceParserTest, ParseArrayWithFormat) { + std::string input = R"EOF( + <array name="foo" format="string"> + <item>100</item> + </array>)EOF"; + ASSERT_TRUE(TestParse(input)); + + Array* array = test::GetValue<Array>(&table_, "array/foo"); + ASSERT_NE(nullptr, array); + + ASSERT_EQ(1u, array->items.size()); + + String* str = ValueCast<String>(array->items[0].get()); + ASSERT_NE(nullptr, str); + EXPECT_EQ(std::string("100"), *str->value); +} + +TEST_F(ResourceParserTest, ParseArrayWithBadFormat) { + std::string input = R"EOF( + <array name="foo" format="integer"> + <item>Hi</item> + </array>)EOF"; + ASSERT_FALSE(TestParse(input)); +} + TEST_F(ResourceParserTest, ParsePlural) { std::string input = "<plurals name=\"foo\">\n" |