AAPT2: Respect format attr in <array> resource
Bug: 38152130 Test: make aapt2_tests Change-Id: I84f352afb1a8fd2f329354f789aaa36c5ef88e47
This commit is contained in:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user