1929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski/* 2929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski * Copyright (C) 2017 The Android Open Source Project 3929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski * 4929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski * Licensed under the Apache License, Version 2.0 (the "License"); 5929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski * you may not use this file except in compliance with the License. 6929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski * You may obtain a copy of the License at 7929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski * 8929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski * http://www.apache.org/licenses/LICENSE-2.0 9929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski * 10929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski * Unless required by applicable law or agreed to in writing, software 11929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski * distributed under the License is distributed on an "AS IS" BASIS, 12929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski * See the License for the specific language governing permissions and 14929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski * limitations under the License. 15929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski */ 16929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski 17929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski#include "androidfw/ResourceUtils.h" 18929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski 19929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski#include "TestHelpers.h" 20929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski 21929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinskinamespace android { 22929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski 23929d6517dfd338f0d481dbe6587643d5aef27ec6Adam LesinskiTEST(ResourceUtilsTest, ExtractResourceName) { 24929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski StringPiece package, type, entry; 25929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski ASSERT_TRUE(ExtractResourceName("android:string/foo", &package, &type, &entry)); 26929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski EXPECT_EQ("android", package); 27929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski EXPECT_EQ("string", type); 28929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski EXPECT_EQ("foo", entry); 29929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski 30929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski ASSERT_TRUE(ExtractResourceName("string/foo", &package, &type, &entry)); 31929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski EXPECT_EQ("", package); 32929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski EXPECT_EQ("string", type); 33929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski EXPECT_EQ("foo", entry); 34929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski 35929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski ASSERT_TRUE(ExtractResourceName("foo", &package, &type, &entry)); 36929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski EXPECT_EQ("", package); 37929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski EXPECT_EQ("", type); 38929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski EXPECT_EQ("foo", entry); 39929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski 40929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski ASSERT_TRUE(ExtractResourceName("android:foo", &package, &type, &entry)); 41929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski EXPECT_EQ("android", package); 42929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski EXPECT_EQ("", type); 43929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski EXPECT_EQ("foo", entry); 44929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski 45929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski EXPECT_FALSE(ExtractResourceName(":string/foo", &package, &type, &entry)); 46929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski EXPECT_FALSE(ExtractResourceName("/foo", &package, &type, &entry)); 47929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski} 48929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski 49929d6517dfd338f0d481dbe6587643d5aef27ec6Adam Lesinski} // namespace android 50