Merge "Fix resource by name lookup" into pi-dev
am: 909402935c
Change-Id: I6eadfe944f1f2893deb8f9fc6d72e6e3c7171d5e
This commit is contained in:
@@ -26,6 +26,9 @@ bool ExtractResourceName(const StringPiece& str, StringPiece* out_package, Strin
|
||||
bool has_type_separator = false;
|
||||
const char* start = str.data();
|
||||
const char* end = start + str.size();
|
||||
if (start[0] == '@') {
|
||||
start++;
|
||||
}
|
||||
const char* current = start;
|
||||
while (current != end) {
|
||||
if (out_type->size() == 0 && *current == '/') {
|
||||
|
||||
@@ -27,23 +27,48 @@ TEST(ResourceUtilsTest, ExtractResourceName) {
|
||||
EXPECT_EQ("string", type);
|
||||
EXPECT_EQ("foo", entry);
|
||||
|
||||
ASSERT_TRUE(ExtractResourceName("@android:string/foo", &package, &type, &entry));
|
||||
EXPECT_EQ("android", package);
|
||||
EXPECT_EQ("string", type);
|
||||
EXPECT_EQ("foo", entry);
|
||||
|
||||
ASSERT_TRUE(ExtractResourceName("string/foo", &package, &type, &entry));
|
||||
EXPECT_EQ("", package);
|
||||
EXPECT_EQ("string", type);
|
||||
EXPECT_EQ("foo", entry);
|
||||
|
||||
ASSERT_TRUE(ExtractResourceName("@string/foo", &package, &type, &entry));
|
||||
EXPECT_EQ("", package);
|
||||
EXPECT_EQ("string", type);
|
||||
EXPECT_EQ("foo", entry);
|
||||
|
||||
ASSERT_TRUE(ExtractResourceName("foo", &package, &type, &entry));
|
||||
EXPECT_EQ("", package);
|
||||
EXPECT_EQ("", type);
|
||||
EXPECT_EQ("foo", entry);
|
||||
|
||||
ASSERT_TRUE(ExtractResourceName("@foo", &package, &type, &entry));
|
||||
EXPECT_EQ("", package);
|
||||
EXPECT_EQ("", type);
|
||||
EXPECT_EQ("foo", entry);
|
||||
|
||||
ASSERT_TRUE(ExtractResourceName("android:foo", &package, &type, &entry));
|
||||
EXPECT_EQ("android", package);
|
||||
EXPECT_EQ("", type);
|
||||
EXPECT_EQ("foo", entry);
|
||||
|
||||
// ASSERT_TRUE(ExtractResourceName("@android:foo", &package, &type, &entry));
|
||||
// EXPECT_EQ("android", package);
|
||||
// EXPECT_EQ("", type);
|
||||
// EXPECT_EQ("foo", entry);
|
||||
|
||||
EXPECT_FALSE(ExtractResourceName(":string/foo", &package, &type, &entry));
|
||||
|
||||
EXPECT_FALSE(ExtractResourceName("@:string/foo", &package, &type, &entry));
|
||||
|
||||
EXPECT_FALSE(ExtractResourceName("/foo", &package, &type, &entry));
|
||||
|
||||
EXPECT_FALSE(ExtractResourceName("@/foo", &package, &type, &entry));
|
||||
}
|
||||
|
||||
} // namespace android
|
||||
|
||||
Reference in New Issue
Block a user