aboutsummaryrefslogtreecommitdiff
path: root/tests/api
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2012-11-12 11:09:58 +0100
committerXavier Ducrohet <xav@android.com>2012-11-12 11:09:58 +0100
commite28abd3a81057b01bb8a77c4d03b07333f60bd14 (patch)
treec5b715b7be9030316b9ccbc9ac3757d899b549df /tests/api
parentec1ea61b42ba03107a75f524df6e3c06532f196d (diff)
downloadbuild-e28abd3a81057b01bb8a77c4d03b07333f60bd14.tar.gz
Add test project for api in library projects.
Also tweak the API a bit. Change-Id: I6cb10b4d770f9054f269d600d41a24b7e2fdc2e1
Diffstat (limited to 'tests/api')
-rw-r--r--tests/api/app/build.gradle24
-rw-r--r--tests/api/app/src/main/AndroidManifest.xml (renamed from tests/api/src/main/AndroidManifest.xml)0
-rw-r--r--tests/api/app/src/main/java/com/android/tests/basic/Main.java (renamed from tests/api/src/main/java/com/android/tests/basic/Main.java)0
-rw-r--r--tests/api/app/src/main/res/drawable/icon.png (renamed from tests/api/src/main/res/drawable/icon.png)bin2574 -> 2574 bytes
-rw-r--r--tests/api/app/src/main/res/layout/main.xml (renamed from tests/api/src/main/res/layout/main.xml)0
-rw-r--r--tests/api/app/src/main/res/values/strings.xml (renamed from tests/api/src/main/res/values/strings.xml)0
-rw-r--r--tests/api/app/src/release/res/values/strings.xml (renamed from tests/api/src/release/res/values/strings.xml)0
-rw-r--r--tests/api/app/src/test/java/com/android/tests/basic/MainTest.java (renamed from tests/api/src/test/java/com/android/tests/basic/MainTest.java)0
-rw-r--r--tests/api/build.gradle24
-rw-r--r--tests/api/lib/blah/foo.txt20
-rw-r--r--tests/api/lib/build.gradle18
-rw-r--r--tests/api/lib/src/main/AndroidManifest.xml21
-rw-r--r--tests/api/lib/src/main/java/com/android/tests/libstest/lib2/Lib2.java43
-rw-r--r--tests/api/lib/src/main/java/com/android/tests/libstest/lib2/MainActivity.java15
-rw-r--r--tests/api/lib/src/main/res/drawable-hdpi/ic_launcher.pngbin0 -> 4147 bytes
-rw-r--r--tests/api/lib/src/main/res/drawable-ldpi/ic_launcher.pngbin0 -> 1723 bytes
-rw-r--r--tests/api/lib/src/main/res/drawable-mdpi/ic_launcher.pngbin0 -> 2574 bytes
-rw-r--r--tests/api/lib/src/main/res/layout/lib2_main.xml18
-rw-r--r--tests/api/lib/src/main/res/values/strings.xml7
-rw-r--r--tests/api/lib/src/main/resources/com/android/tests/libstest/lib2/Lib2.txt1
-rw-r--r--tests/api/lib/src/test/java/com/android/tests/libstest/lib2/MainActivityTest.java86
-rw-r--r--tests/api/settings.gradle2
22 files changed, 255 insertions, 24 deletions
diff --git a/tests/api/app/build.gradle b/tests/api/app/build.gradle
new file mode 100644
index 0000000..6eb2be7
--- /dev/null
+++ b/tests/api/app/build.gradle
@@ -0,0 +1,24 @@
+apply plugin: 'android'
+
+android {
+ target "android-15"
+}
+
+// query for all (non-test) variants and inject a new step in the builds
+android.buildVariants.each { variant ->
+ // create a task that "handles" the compile classes
+ // does some processing (or not)
+ // and outputs a jar
+ def jarTask = tasks.add(name: "jar${variant.name.capitalize()}", type: Jar) {
+ from variant.javaCompile.destinationDir
+ destinationDir file("${buildDir}/jars/${variant.dirName}")
+ baseName "classes"
+ }
+
+ // this task depends on the compilation task
+ jarTask.dependsOn variant.javaCompile
+
+ // now make the dex task depend on it and use its output
+ variant.dex.dependsOn jarTask
+ variant.dex.sourceFiles = files(jarTask.archivePath).files
+} \ No newline at end of file
diff --git a/tests/api/src/main/AndroidManifest.xml b/tests/api/app/src/main/AndroidManifest.xml
index 4f8d570..4f8d570 100644
--- a/tests/api/src/main/AndroidManifest.xml
+++ b/tests/api/app/src/main/AndroidManifest.xml
diff --git a/tests/api/src/main/java/com/android/tests/basic/Main.java b/tests/api/app/src/main/java/com/android/tests/basic/Main.java
index 2b0e698..2b0e698 100644
--- a/tests/api/src/main/java/com/android/tests/basic/Main.java
+++ b/tests/api/app/src/main/java/com/android/tests/basic/Main.java
diff --git a/tests/api/src/main/res/drawable/icon.png b/tests/api/app/src/main/res/drawable/icon.png
index a07c69f..a07c69f 100644
--- a/tests/api/src/main/res/drawable/icon.png
+++ b/tests/api/app/src/main/res/drawable/icon.png
Binary files differ
diff --git a/tests/api/src/main/res/layout/main.xml b/tests/api/app/src/main/res/layout/main.xml
index b199751..b199751 100644
--- a/tests/api/src/main/res/layout/main.xml
+++ b/tests/api/app/src/main/res/layout/main.xml
diff --git a/tests/api/src/main/res/values/strings.xml b/tests/api/app/src/main/res/values/strings.xml
index 60ea2d0..60ea2d0 100644
--- a/tests/api/src/main/res/values/strings.xml
+++ b/tests/api/app/src/main/res/values/strings.xml
diff --git a/tests/api/src/release/res/values/strings.xml b/tests/api/app/src/release/res/values/strings.xml
index 532909c..532909c 100644
--- a/tests/api/src/release/res/values/strings.xml
+++ b/tests/api/app/src/release/res/values/strings.xml
diff --git a/tests/api/src/test/java/com/android/tests/basic/MainTest.java b/tests/api/app/src/test/java/com/android/tests/basic/MainTest.java
index 7cf7329..7cf7329 100644
--- a/tests/api/src/test/java/com/android/tests/basic/MainTest.java
+++ b/tests/api/app/src/test/java/com/android/tests/basic/MainTest.java
diff --git a/tests/api/build.gradle b/tests/api/build.gradle
index be69012..a0832c6 100644
--- a/tests/api/build.gradle
+++ b/tests/api/build.gradle
@@ -6,27 +6,3 @@ buildscript {
classpath 'com.android.tools.build:gradle:0.3-SNAPSHOT'
}
}
-apply plugin: 'android'
-
-android {
- target "android-15"
-}
-
-// query for all (non-test) variants and inject a new step in the builds
-android.buildVariants.each { variant ->
- // create a task that "handles" the compile classes
- // does some processing (or not)
- // and outputs a jar
- def jarTask = tasks.add(name: "jar${variant.name.capitalize()}", type: Jar) {
- from variant.javaCompile.destinationDir
- destinationDir file("${buildDir}/jars/${variant.dirName}")
- baseName "classes"
- }
-
- // this task depends on the compilation task
- jarTask.dependsOn variant.javaCompile
-
- // now make the dex task depend on it and use its output
- variant.dex.dependsOn jarTask
- variant.dex.sourceFiles = files(jarTask.archivePath).files
-} \ No newline at end of file
diff --git a/tests/api/lib/blah/foo.txt b/tests/api/lib/blah/foo.txt
new file mode 100644
index 0000000..f2fe155
--- /dev/null
+++ b/tests/api/lib/blah/foo.txt
@@ -0,0 +1,20 @@
+# To enable ProGuard in your project, edit project.properties
+# to define the proguard.config property as described in that file.
+#
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in ${sdk.dir}/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the ProGuard
+# include property in project.properties.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
diff --git a/tests/api/lib/build.gradle b/tests/api/lib/build.gradle
new file mode 100644
index 0000000..1045da6
--- /dev/null
+++ b/tests/api/lib/build.gradle
@@ -0,0 +1,18 @@
+apply plugin: 'android-library'
+
+android {
+ target = "android-15"
+
+}
+
+// query for all (non-test) variants and inject a new step in the builds
+android.buildVariants.each { variant ->
+ // create a task that copies some additional data in the library bundle
+ def copyBlahTask = tasks.add(name: "copy${variant.name.capitalize()}Blah", type: Copy) {
+ from file("$project.projectDir/blah")
+ destinationDir file("${buildDir}/bundles/${variant.dirName}")
+ }
+
+ // now make the package task depend on it
+ variant.packageLibrary.dependsOn copyBlahTask
+} \ No newline at end of file
diff --git a/tests/api/lib/src/main/AndroidManifest.xml b/tests/api/lib/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..9374b53
--- /dev/null
+++ b/tests/api/lib/src/main/AndroidManifest.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.tests.libstest.lib2"
+ android:versionCode="1"
+ android:versionName="1.0" >
+
+ <application
+ android:icon="@drawable/ic_launcher"
+ android:label="@string/lib2_name" >
+ <activity
+ android:name="MainActivity"
+ android:label="@string/lib2_name" >
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+
+</manifest> \ No newline at end of file
diff --git a/tests/api/lib/src/main/java/com/android/tests/libstest/lib2/Lib2.java b/tests/api/lib/src/main/java/com/android/tests/libstest/lib2/Lib2.java
new file mode 100644
index 0000000..bb8e4db
--- /dev/null
+++ b/tests/api/lib/src/main/java/com/android/tests/libstest/lib2/Lib2.java
@@ -0,0 +1,43 @@
+package com.android.tests.libstest.lib2;
+
+import android.app.Activity;
+import android.widget.TextView;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+public class Lib2 {
+
+ public static void handleTextView(Activity a) {
+ TextView tv = (TextView) a.findViewById(R.id.lib2_text2);
+ if (tv != null) {
+ tv.setText(getContent());
+ }
+ }
+
+ private static String getContent() {
+ InputStream input = Lib2.class.getResourceAsStream("Lib2.txt");
+ if (input == null) {
+ return "FAILED TO FIND Lib2.txt";
+ }
+
+ BufferedReader reader = null;
+ try {
+ reader = new BufferedReader(new InputStreamReader(input, "UTF-8"));
+
+ return reader.readLine();
+ } catch (IOException e) {
+ } finally {
+ if (reader != null) {
+ try {
+ reader.close();
+ } catch (IOException e) {
+ }
+ }
+ }
+
+ return "FAILED TO READ CONTENT";
+ }
+}
diff --git a/tests/api/lib/src/main/java/com/android/tests/libstest/lib2/MainActivity.java b/tests/api/lib/src/main/java/com/android/tests/libstest/lib2/MainActivity.java
new file mode 100644
index 0000000..012f203
--- /dev/null
+++ b/tests/api/lib/src/main/java/com/android/tests/libstest/lib2/MainActivity.java
@@ -0,0 +1,15 @@
+package com.android.tests.libstest.lib2;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+public class MainActivity extends Activity {
+ /** Called when the activity is first created. */
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.lib2_main);
+
+ Lib2.handleTextView(this);
+ }
+}
diff --git a/tests/api/lib/src/main/res/drawable-hdpi/ic_launcher.png b/tests/api/lib/src/main/res/drawable-hdpi/ic_launcher.png
new file mode 100644
index 0000000..8074c4c
--- /dev/null
+++ b/tests/api/lib/src/main/res/drawable-hdpi/ic_launcher.png
Binary files differ
diff --git a/tests/api/lib/src/main/res/drawable-ldpi/ic_launcher.png b/tests/api/lib/src/main/res/drawable-ldpi/ic_launcher.png
new file mode 100644
index 0000000..1095584
--- /dev/null
+++ b/tests/api/lib/src/main/res/drawable-ldpi/ic_launcher.png
Binary files differ
diff --git a/tests/api/lib/src/main/res/drawable-mdpi/ic_launcher.png b/tests/api/lib/src/main/res/drawable-mdpi/ic_launcher.png
new file mode 100644
index 0000000..a07c69f
--- /dev/null
+++ b/tests/api/lib/src/main/res/drawable-mdpi/ic_launcher.png
Binary files differ
diff --git a/tests/api/lib/src/main/res/layout/lib2_main.xml b/tests/api/lib/src/main/res/layout/lib2_main.xml
new file mode 100644
index 0000000..bb639d1
--- /dev/null
+++ b/tests/api/lib/src/main/res/layout/lib2_main.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:orientation="vertical" >
+
+ <TextView
+ android:id="@+id/lib2_text1"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/lib2_string" />
+
+ <TextView
+ android:id="@+id/lib2_text2"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content" />
+
+</LinearLayout> \ No newline at end of file
diff --git a/tests/api/lib/src/main/res/values/strings.xml b/tests/api/lib/src/main/res/values/strings.xml
new file mode 100644
index 0000000..215b8fa
--- /dev/null
+++ b/tests/api/lib/src/main/res/values/strings.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+ <string name="lib2_name">LibsTest-lib2</string>
+ <string name="lib2_string">SUCCESS-LIB2</string>
+
+</resources> \ No newline at end of file
diff --git a/tests/api/lib/src/main/resources/com/android/tests/libstest/lib2/Lib2.txt b/tests/api/lib/src/main/resources/com/android/tests/libstest/lib2/Lib2.txt
new file mode 100644
index 0000000..94cabe4
--- /dev/null
+++ b/tests/api/lib/src/main/resources/com/android/tests/libstest/lib2/Lib2.txt
@@ -0,0 +1 @@
+SUCCESS-LIB2 \ No newline at end of file
diff --git a/tests/api/lib/src/test/java/com/android/tests/libstest/lib2/MainActivityTest.java b/tests/api/lib/src/test/java/com/android/tests/libstest/lib2/MainActivityTest.java
new file mode 100644
index 0000000..6ac4a5c
--- /dev/null
+++ b/tests/api/lib/src/test/java/com/android/tests/libstest/lib2/MainActivityTest.java
@@ -0,0 +1,86 @@
+/*
+ * 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.
+ */
+
+package com.android.tests.libstest.lib2;
+
+import android.test.ActivityInstrumentationTestCase2;
+import android.test.suitebuilder.annotation.MediumTest;
+import android.widget.TextView;
+
+import com.android.tests.libstest.lib2.R;
+
+/**
+ * An example of an {@link ActivityInstrumentationTestCase2} of a specific activity {@link Focus2}.
+ * By virtue of extending {@link ActivityInstrumentationTestCase2}, the target activity is automatically
+ * launched and finished before and after each test. This also extends
+ * {@link android.test.InstrumentationTestCase}, which provides
+ * access to methods for sending events to the target activity, such as key and
+ * touch events. See {@link #sendKeys}.
+ *
+ * In general, {@link android.test.InstrumentationTestCase}s and {@link ActivityInstrumentationTestCase2}s
+ * are heavier weight functional tests available for end to end testing of your
+ * user interface. When run via a {@link android.test.InstrumentationTestRunner},
+ * the necessary {@link android.app.Instrumentation} will be injected for you to
+ * user via {@link #getInstrumentation} in your tests.
+ *
+ * See {@link com.example.android.apis.AllTests} for documentation on running
+ * all tests and individual tests in this application.
+ */
+public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> {
+
+ private TextView mTextView1;
+ private TextView mTextView2;
+
+ /**
+ * Creates an {@link ActivityInstrumentationTestCase2} that tests the {@link Focus2} activity.
+ */
+ public MainActivityTest() {
+ super(MainActivity.class);
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ final MainActivity a = getActivity();
+ // ensure a valid handle to the activity has been returned
+ assertNotNull(a);
+
+ mTextView1 = (TextView) a.findViewById(R.id.lib2_text1);
+ mTextView2 = (TextView) a.findViewById(R.id.lib2_text2);
+ }
+
+ /**
+ * The name 'test preconditions' is a convention to signal that if this
+ * test doesn't pass, the test case was not set up properly and it might
+ * explain any and all failures in other tests. This is not guaranteed
+ * to run before other tests, as junit uses reflection to find the tests.
+ */
+ @MediumTest
+ public void testPreconditions() {
+ assertNotNull(mTextView1);
+ assertNotNull(mTextView2);
+ }
+
+ @MediumTest
+ public void testAndroidStrings() {
+ assertEquals("SUCCESS-LIB2", mTextView1.getText());
+ }
+
+ @MediumTest
+ public void testJavaStrings() {
+ assertEquals("SUCCESS-LIB2", mTextView2.getText());
+ }
+}
diff --git a/tests/api/settings.gradle b/tests/api/settings.gradle
new file mode 100644
index 0000000..eedb2a1
--- /dev/null
+++ b/tests/api/settings.gradle
@@ -0,0 +1,2 @@
+include 'app'
+include 'lib'