16f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski/* 26f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * Copyright (C) 2015 The Android Open Source Project 36f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * 46f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * Licensed under the Apache License, Version 2.0 (the "License"); 56f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * you may not use this file except in compliance with the License. 66f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * You may obtain a copy of the License at 76f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * 86f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * http://www.apache.org/licenses/LICENSE-2.0 96f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * 106f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * Unless required by applicable law or agreed to in writing, software 116f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * distributed under the License is distributed on an "AS IS" BASIS, 126f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * See the License for the specific language governing permissions and 146f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski * limitations under the License. 156f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski */ 166f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 176f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski#include "Resource.h" 18ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski 19d0f116b619feede0cfdb647157ce5ab4d50a1c46Adam Lesinski#include "test/Test.h" 206f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 216f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinskinamespace aapt { 226f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 236f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiTEST(ResourceTypeTest, ParseResourceTypes) { 24ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski const ResourceType* type = ParseResourceType("anim"); 25cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 26cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kAnim); 276f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 28ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("animator"); 29cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 30cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kAnimator); 316f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 32ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("array"); 33cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 34cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kArray); 356f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 36ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("attr"); 37cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 38cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kAttr); 396f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 40ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("^attr-private"); 41cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 42cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kAttrPrivate); 436f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 44ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("bool"); 45cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 46cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kBool); 476f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 48ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("color"); 49cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 50cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kColor); 516f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 5286d67df8d57b9537666f9b54a9ca563779a2288bAdam Lesinski type = ParseResourceType("configVarying"); 5386d67df8d57b9537666f9b54a9ca563779a2288bAdam Lesinski ASSERT_NE(type, nullptr); 5486d67df8d57b9537666f9b54a9ca563779a2288bAdam Lesinski EXPECT_EQ(*type, ResourceType::kConfigVarying); 5586d67df8d57b9537666f9b54a9ca563779a2288bAdam Lesinski 56ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("dimen"); 57cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 58cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kDimen); 596f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 60ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("drawable"); 61cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 62cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kDrawable); 636f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 64c0c366394c658e3787b12e65833b520c9a9a34d9Adam Lesinski type = ParseResourceType("font"); 65c0c366394c658e3787b12e65833b520c9a9a34d9Adam Lesinski ASSERT_NE(type, nullptr); 66c0c366394c658e3787b12e65833b520c9a9a34d9Adam Lesinski EXPECT_EQ(*type, ResourceType::kFont); 67c0c366394c658e3787b12e65833b520c9a9a34d9Adam Lesinski 68ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("fraction"); 69cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 70cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kFraction); 716f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 72ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("id"); 73cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 74cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kId); 756f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 76ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("integer"); 77cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 78cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kInteger); 796f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 80ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("interpolator"); 81cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 82cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kInterpolator); 836f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 84ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("layout"); 85cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 86cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kLayout); 876f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 88ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("menu"); 89cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 90cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kMenu); 916f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 92ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("mipmap"); 93cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 94cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kMipmap); 956f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 96ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("plurals"); 97cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 98cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kPlurals); 996f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 100ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("raw"); 101cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 102cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kRaw); 1036f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 104ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("string"); 105cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 106cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kString); 1076f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 108ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("style"); 109cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 110cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kStyle); 1116f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 112ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("transition"); 113cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 114cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kTransition); 1156f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 116ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("xml"); 117cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski ASSERT_NE(type, nullptr); 118cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(*type, ResourceType::kXml); 1196f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 120ce5e56e243d262a9b65459c3bd0bb9eaadd40628Adam Lesinski type = ParseResourceType("blahaha"); 121cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski EXPECT_EQ(type, nullptr); 1226f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski} 1236f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 124cacb28f2d60858106e2819cc7d95a65e8bda890bAdam Lesinski} // namespace aapt 125