aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/AdtTestData.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/AdtTestData.java')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/AdtTestData.java135
1 files changed, 0 insertions, 135 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/AdtTestData.java b/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/AdtTestData.java
deleted file mode 100644
index c86f4cf5f..000000000
--- a/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/AdtTestData.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.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.eclipse.org/org/documents/epl-v10.php
- *
- * 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.ide.eclipse.tests;
-
-import com.android.SdkConstants;
-import com.android.ide.eclipse.adt.AdtConstants;
-import com.android.ide.eclipse.adt.AdtPlugin;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Platform;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.util.logging.Logger;
-
-/**
- * Helper class for retrieving test data
- * <p/>
- * All tests which need to retrieve paths to test data files should go through this class.
- */
-public class AdtTestData {
-
- /** singleton instance */
- private static AdtTestData sInstance = null;
- private static final Logger sLogger = Logger.getLogger(AdtTestData.class.getName());
-
- /** The prefered directory separator to use. */
- private static final String DIR_SEP_STR = "/";
- private static final char DIR_SEP_CHAR = '/';
-
- /** The absolute file path to the plugin's contents. */
- private String mOsRootDataPath;
-
- private AdtTestData() {
- // can set test_data env variable to override default behavior of
- // finding data using class loader
- // useful when running in plugin environment, where test data is inside
- // bundled jar, and must be extracted to temp filesystem location to be
- // accessed normally
- mOsRootDataPath = System.getProperty("test_data");
- if (mOsRootDataPath == null) {
- sLogger.info("Cannot find test_data environment variable, init to class loader");
- URL url = this.getClass().getClassLoader().getResource("."); //$NON-NLS-1$
-
- if (Platform.isRunning()) {
- sLogger.info("Running as an Eclipse Plug-in JUnit test, using FileLocator");
- try {
- mOsRootDataPath = FileLocator.resolve(url).getFile();
- if (SdkConstants.currentPlatform() == SdkConstants.PLATFORM_WINDOWS) {
- // Fix the path returned by the URL resolver
- // so that it actually works on Windows.
-
- // First, Windows paths don't start with a / especially
- // if they contain a drive spec such as C:/...
- int pos = mOsRootDataPath.indexOf(':');
- if (pos > 0 && mOsRootDataPath.charAt(0) == '/') {
- mOsRootDataPath = mOsRootDataPath.substring(1);
- }
-
- // Looking for "." probably inserted a /./, so clean it up
- mOsRootDataPath = mOsRootDataPath.replace("/./", "/");
- }
- } catch (IOException e) {
- sLogger.warning("IOException while using FileLocator, reverting to url");
- mOsRootDataPath = url.getFile();
- }
- } else {
- sLogger.info("Running as an plain JUnit test, using url as-is");
- mOsRootDataPath = url.getFile();
- }
- }
-
- if (mOsRootDataPath.equals(AdtConstants.WS_SEP)) {
- sLogger.warning("Resource data not found using class loader!, Defaulting to no path");
- }
-
- if (File.separatorChar == '\\') {
- // On Windows, uniformize all separators to use the / convention
- mOsRootDataPath.replace('\\', DIR_SEP_CHAR);
- }
-
- if (!mOsRootDataPath.endsWith(File.separator) && !mOsRootDataPath.endsWith(DIR_SEP_STR)) {
- sLogger.info("Fixing test_data env variable (does not end with path separator)");
- mOsRootDataPath += DIR_SEP_STR;
- }
- }
-
- /** Get the singleton instance of AdtTestData */
- public static AdtTestData getInstance() {
- if (sInstance == null) {
- sInstance = new AdtTestData();
- }
- return sInstance;
- }
-
- /**
- * Returns the absolute file path to a file located in this plugin.
- *
- * @param osRelativePath {@link String} path to file contained in plugin. Must
- * use path separators appropriate to host OS
- *
- * @return absolute OS path to test file
- */
- public String getTestFilePath(String osRelativePath) {
- File path = new File(mOsRootDataPath, osRelativePath);
-
- if (!path.exists()) {
- // On Windows at least this ends up using the wrong plugin path.
- String pkgAdt = AdtPlugin .class.getPackage().getName();
- String pkgTests = AdtTestData.class.getPackage().getName();
-
- if (mOsRootDataPath.contains(pkgAdt)) {
- path = new File(mOsRootDataPath.replace(pkgAdt, pkgTests), osRelativePath);
- }
-
- assert path.exists();
- }
-
- return path.getAbsolutePath();
- }
-}