/* * Copyright (C) 2013 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.tools.idea.sdk; import com.google.common.base.Strings; import junit.framework.TestCase; import org.jetbrains.android.AndroidTestCase; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** * Tests for {@link VersionCheck}. */ public class VersionCheckTest extends TestCase { private static final String PRE_V22_SDK_PATH = "PRE_V22_SDK_PATH"; private String mySdkPath; @Override protected void setUp() throws Exception { super.setUp(); mySdkPath = getSystemPropertyOrEnvironmentVariable(AndroidTestCase.SDK_PATH_PROPERTY); if (Strings.isNullOrEmpty(mySdkPath)) { String format = "Please specify the path of an Android SDK (v23.0.0) in the system property or environment variable '%1$s'"; fail(String.format(format, AndroidTestCase.SDK_PATH_PROPERTY)); } } @Nullable private static String getSystemPropertyOrEnvironmentVariable(@NotNull String name) { String s = System.getProperty(name); if (Strings.isNullOrEmpty(s)) { s = System.getenv(name); } return s; } // Disabled until Tools 23 is available. public void DISABLEDtestCheckVersion() { VersionCheck.VersionCheckResult result = VersionCheck.checkVersion(mySdkPath); assertTrue(result.isCompatibleVersion()); } public void testCheckVersionWithOldSdk() { String myPreV22SdkPath = getSystemPropertyOrEnvironmentVariable(PRE_V22_SDK_PATH); if (!Strings.isNullOrEmpty(myPreV22SdkPath)) { VersionCheck.VersionCheckResult result = VersionCheck.checkVersion(myPreV22SdkPath); assertFalse(result.isCompatibleVersion()); assertNotNull(result.getRevision()); } else { System.out.println("Test testCheckVersionWithOldSdk not run, no pre-v22 tools found."); } } }