Merge change If5b2f9df into eclair

* changes:
  Fix ADT test data references.
This commit is contained in:
Android (Google) Code Review
2009-11-07 15:40:26 -05:00
14 changed files with 64 additions and 138 deletions

View File

@@ -21,18 +21,14 @@ import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.Platform;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.logging.Logger;
/**
* Helper class for retrieving test data
*
* All tests which need to retrieve test data files should go through this class
*
* <p/>
* All tests which need to retrieve paths to test data files should go through this class.
*/
public class AdtTestData {
@@ -40,12 +36,9 @@ public class AdtTestData {
private static AdtTestData sInstance = null;
private static final Logger sLogger = Logger.getLogger(AdtTestData.class.getName());
/** the absolute file path to the /data directory in this test
* environment.
*/
/** 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
@@ -55,7 +48,7 @@ public class AdtTestData {
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("data"); //$NON-NLS-1$
URL url = this.getClass().getClassLoader().getResource("."); //$NON-NLS-1$
if (Platform.isRunning()) {
sLogger.info("Running as an Eclipse Plug-in JUnit test, using FileLocator");
@@ -71,7 +64,7 @@ public class AdtTestData {
}
}
if (mOsRootDataPath.equals(AndroidConstants.WS_SEP + "data")) {
if (mOsRootDataPath.equals(AndroidConstants.WS_SEP)) {
sLogger.warning("Resource data not found using class loader!, Defaulting to no path");
}
@@ -90,9 +83,9 @@ public class AdtTestData {
}
/**
* Returns the absolute file path to a file located in this plugins "data" directory
* Returns the absolute file path to a file located in this plugin.
*
* @param osRelativePath {@link String} path to file contained in /data. Must
* @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
@@ -100,17 +93,4 @@ public class AdtTestData {
public String getTestFilePath(String osRelativePath) {
return mOsRootDataPath + osRelativePath;
}
/**
* Helper method to get a {@link InputStream} to test data file.
*
* @param osRelativePath {@link String} path to file contained in /data. Must
* use path separators appropriate to host OS
*
* @return {@link InputStream} for test file
* @throws FileNotFoundException if test file could not be found
*/
public InputStream getTestFileStream(String osRelativePath) throws FileNotFoundException {
return new FileInputStream(getTestFilePath(osRelativePath));
}
}

View File

@@ -29,8 +29,12 @@ public class AndroidManifestParserTest extends TestCase {
private AndroidManifestParser mManifestTestApp;
private AndroidManifestParser mManifestInstrumentation;
private static final String INSTRUMENTATION_XML = "AndroidManifest-instrumentation.xml"; //$NON-NLS-1$
private static final String TESTAPP_XML = "AndroidManifest-testapp.xml"; //$NON-NLS-1$
private static final String TESTDATA_PATH =
"com/android/ide/eclipse/testdata/"; //$NON-NLS-1$
private static final String INSTRUMENTATION_XML = TESTDATA_PATH +
"AndroidManifest-instrumentation.xml"; //$NON-NLS-1$
private static final String TESTAPP_XML = TESTDATA_PATH +
"AndroidManifest-testapp.xml"; //$NON-NLS-1$
private static final String PACKAGE_NAME = "com.android.testapp"; //$NON-NLS-1$
private static final String ACTIVITY_NAME = "com.android.testapp.MainActivity"; //$NON-NLS-1$
private static final String LIBRARY_NAME = "android.test.runner"; //$NON-NLS-1$
@@ -41,13 +45,11 @@ public class AndroidManifestParserTest extends TestCase {
protected void setUp() throws Exception {
super.setUp();
String testFilePath = AdtTestData.getInstance().getTestFilePath(
TESTAPP_XML);
String testFilePath = AdtTestData.getInstance().getTestFilePath(TESTAPP_XML);
mManifestTestApp = AndroidManifestParser.parseForData(testFilePath);
assertNotNull(mManifestTestApp);
testFilePath = AdtTestData.getInstance().getTestFilePath(
INSTRUMENTATION_XML);
testFilePath = AdtTestData.getInstance().getTestFilePath(INSTRUMENTATION_XML);
mManifestInstrumentation = AndroidManifestParser.parseForData(testFilePath);
assertNotNull(mManifestInstrumentation);
}

View File

@@ -17,9 +17,6 @@
package com.android.ide.eclipse.adt.internal.resources;
import com.android.ide.eclipse.adt.internal.resources.AttrsXmlParser;
import com.android.ide.eclipse.adt.internal.resources.DeclareStyleableInfo;
import com.android.ide.eclipse.adt.internal.resources.ViewClassInfo;
import com.android.ide.eclipse.adt.internal.resources.DeclareStyleableInfo.AttributeInfo;
import com.android.ide.eclipse.adt.internal.resources.DeclareStyleableInfo.AttributeInfo.Format;
import com.android.ide.eclipse.tests.AdtTestData;
@@ -36,9 +33,12 @@ public class AttrsXmlParserTest extends TestCase {
private AttrsXmlParser mParser;
private String mFilePath;
private static final String MOCK_DATA_PATH =
"com/android/ide/eclipse/testdata/mock_attrs.xml"; //$NON-NLS-1$
@Override
public void setUp() throws Exception {
mFilePath = AdtTestData.getInstance().getTestFilePath("mock_attrs.xml"); //$NON-NLS-1$
mFilePath = AdtTestData.getInstance().getTestFilePath(MOCK_DATA_PATH); //$NON-NLS-1$
mParser = new AttrsXmlParser(mFilePath);
}

View File

@@ -40,7 +40,8 @@ public class AndroidJarLoaderTest extends TestCase {
/** Creates an instance of {@link AndroidJarLoader} on our test data JAR */
@Override
public void setUp() throws Exception {
String jarfilePath = AdtTestData.getInstance().getTestFilePath("jar_example.jar"); //$NON-NLS-1$
String jarfilePath = AdtTestData.getInstance().getTestFilePath(
"com/android/ide/eclipse/testdata/jar_example.jar"); //$NON-NLS-1$
mFrameworkClassLoader = new AndroidJarLoader(jarfilePath);
}

View File

@@ -19,15 +19,12 @@ package com.android.ide.eclipse.adt.internal.sdk;
import com.android.ide.eclipse.adt.internal.resources.AttrsXmlParser;
import com.android.ide.eclipse.adt.internal.resources.ViewClassInfo;
import com.android.ide.eclipse.adt.internal.resources.ViewClassInfo.LayoutParamsInfo;
import com.android.ide.eclipse.adt.internal.sdk.AndroidJarLoader;
import com.android.ide.eclipse.adt.internal.sdk.AndroidTargetParser;
import com.android.ide.eclipse.adt.internal.sdk.LayoutParamsParser;
import com.android.ide.eclipse.adt.internal.sdk.AndroidJarLoader.ClassWrapper;
import com.android.ide.eclipse.adt.internal.sdk.IAndroidClassLoader.IClassDescriptor;
import com.android.ide.eclipse.tests.AdtTestData;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.TreeMap;
@@ -44,6 +41,9 @@ import junit.framework.TestCase;
*/
public class LayoutParamsParserTest extends TestCase {
private static final String MOCK_DATA_PATH =
"com/android/ide/eclipse/testdata/mock_attrs.xml"; //$NON-NLS-1$
private static class MockFrameworkClassLoader extends AndroidJarLoader {
MockFrameworkClassLoader() {
super(null /* osFrameworkLocation */);
@@ -56,18 +56,11 @@ public class LayoutParamsParserTest extends TestCase {
}
}
private static class MockAttrsXmlPath {
public String getPath() {
ClassLoader cl = this.getClass().getClassLoader();
URL res = cl.getResource("data/mock_attrs.xml"); //$NON-NLS-1$
return res.getFile();
}
}
private static class MockLayoutParamsParser extends LayoutParamsParser {
public MockLayoutParamsParser() {
super(new MockFrameworkClassLoader(),
new AttrsXmlParser(new MockAttrsXmlPath().getPath()).preload());
new AttrsXmlParser(
AdtTestData.getInstance().getTestFilePath(MOCK_DATA_PATH)).preload());
mTopViewClass = new ClassWrapper(mock_android.view.View.class);
mTopGroupClass = new ClassWrapper(mock_android.view.ViewGroup.class);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

View File

@@ -1,49 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2008 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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<Button
android:id="@+id/bouton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="My Button Text"
>
</Button>
<View
android:id="@+id/surface"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2"
/>
<TextView
android:id="@+id/status"
android:paddingLeft="2dip"
android:layout_weight="0"
android:background="@drawable/black"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:lines="1"
android:gravity="center_vertical|center_horizontal"
android:text="My TextView Text"
/>
</LinearLayout>

View File

@@ -16,8 +16,6 @@
package com.android.sdklib.repository;
import com.android.ide.eclipse.tests.AdtTestData;
import org.xml.sax.ErrorHandler;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
@@ -125,8 +123,9 @@ public class TestSdkRepository extends TestCase {
/** Validate a valid sample using an InputStream */
public void testValidateLocalRepositoryFile() throws Exception {
InputStream xmlStream = AdtTestData.getInstance().getTestFileStream(
"repository_sample.xml");
InputStream xmlStream =
this.getClass().getClassLoader().getResourceAsStream(
"com/android/sdklib/testdata/repository_sample.xml");
Source source = new StreamSource(xmlStream);
CaptureErrorHandler handler = new CaptureErrorHandler();