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