1// Copyright 2015 Google Inc. All rights reserved. 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15package android 16 17import ( 18 "testing" 19) 20 21func TestSdkSpecFrom(t *testing.T) { 22 testCases := []struct { 23 input string 24 expected string 25 }{ 26 { 27 input: "", 28 expected: "private_current", 29 }, 30 { 31 input: "none", 32 expected: "none_(no version)", 33 }, 34 { 35 input: "core_platform", 36 expected: "core_platform_current", 37 }, 38 { 39 input: "_", 40 expected: "invalid_(no version)", 41 }, 42 { 43 input: "_31", 44 expected: "invalid_(no version)", 45 }, 46 { 47 input: "system_R", 48 expected: "system_30", 49 }, 50 { 51 input: "test_31", 52 expected: "test_31", 53 }, 54 { 55 input: "module_current", 56 expected: "module-lib_current", 57 }, 58 { 59 input: "31", 60 expected: "public_31", 61 }, 62 { 63 input: "S", 64 expected: "public_31", 65 }, 66 { 67 input: "current", 68 expected: "public_current", 69 }, 70 { 71 input: "Tiramisu", 72 expected: "public_Tiramisu", 73 }, 74 } 75 76 config := NullConfig("", "") 77 78 config.productVariables = productVariables{ 79 Platform_sdk_version: intPtr(31), 80 Platform_sdk_codename: stringPtr("Tiramisu"), 81 Platform_version_active_codenames: []string{"Tiramisu"}, 82 } 83 84 for _, tc := range testCases { 85 if got := SdkSpecFromWithConfig(config, tc.input).String(); tc.expected != got { 86 t.Errorf("Expected %v, got %v", tc.expected, got) 87 } 88 } 89} 90