You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ag...@apache.org on 2015/02/12 21:04:19 UTC

[2/3] android commit: Revert "Reverting the refactor. I'd rather have 4 failures due to timing than tests completely disappear"

Revert "Reverting the refactor.  I'd rather have 4 failures due to timing than tests completely disappear"

This reverts commit 390927772ea93fae497089d7db4b66775f9a39b3.


Project: http://git-wip-us.apache.org/repos/asf/cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-android/commit/c3267def
Tree: http://git-wip-us.apache.org/repos/asf/cordova-android/tree/c3267def
Diff: http://git-wip-us.apache.org/repos/asf/cordova-android/diff/c3267def

Branch: refs/heads/master
Commit: c3267def97f53c4a933104f620ce4d98177f0f73
Parents: 3909277
Author: Andrew Grieve <ag...@chromium.org>
Authored: Thu Feb 12 14:48:49 2015 -0500
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Thu Feb 12 14:48:49 2015 -0500

----------------------------------------------------------------------
 test/AndroidManifest.xml                        | 182 ------------
 test/README.md                                  |   4 +-
 .../cordova/test/BackButtonMultiPageTest.java   | 194 +++++++++++++
 .../test/BaseCordovaIntegrationTest.java        |  55 ++++
 .../cordova/test/CordovaActivityTest.java       |  45 +++
 .../cordova/test/CordovaResourceApiTest.java    | 258 +++++++++++++++++
 .../org/apache/cordova/test/ErrorUrlTest.java   |  42 +++
 .../apache/cordova/test/HtmlNotFoundTest.java   |  41 +++
 .../src/org/apache/cordova/test/IFrameTest.java | 107 +++++++
 .../apache/cordova/test/InflateLayoutTest.java  |  56 ++++
 .../test/junit/BackButtonMultiPageTest.java     | 278 ------------------
 .../cordova/test/junit/CordovaActivityTest.java |  79 ------
 .../test/junit/CordovaResourceApiTest.java      | 281 -------------------
 .../apache/cordova/test/junit/CordovaTest.java  | 116 --------
 .../apache/cordova/test/junit/ErrorUrlTest.java |  82 ------
 .../apache/cordova/test/junit/FixWebView.java   |  43 ---
 .../cordova/test/junit/HtmlNotFoundTest.java    |  80 ------
 .../apache/cordova/test/junit/IFrameTest.java   | 128 ---------
 .../test/junit/IntentUriOverrideTest.java       |  94 -------
 .../cordova/test/junit/LifecycleTest.java       |  34 ---
 .../cordova/test/junit/PluginManagerTest.java   |  70 -----
 .../cordova/test/junit/SplashscreenTest.java    |  49 ----
 .../org/apache/cordova/test/junit/XhrTest.java  |  34 ---
 test/assets/www/error.html                      |   8 -
 test/assets/www/index.html                      |  36 ++-
 test/assets/www/main.js                         | 133 ---------
 test/assets/www/splashscreen/index.html         |  38 ---
 test/res/drawable/sandy.jpg                     | Bin 48450 -> 0 bytes
 test/res/xml/config.xml                         |   3 -
 .../apache/cordova/pluginApi/pluginStub.java    |  39 ---
 .../org/apache/cordova/test/ActivityPlugin.java |  60 ++--
 .../cordova/test/BaseTestCordovaActivity.java   |  50 ++++
 .../cordova/test/CordovaDriverAction.java       |  78 -----
 .../test/CordovaWebViewTestActivity.java        |  87 ++----
 .../apache/cordova/test/MainTestActivity.java   |  24 +-
 .../apache/cordova/test/SabotagedActivity.java  |  92 ------
 .../cordova/test/backbuttonmultipage.java       |  30 --
 .../src/org/apache/cordova/test/background.java |  33 ---
 .../apache/cordova/test/backgroundcolor.java    |  37 ---
 test/src/org/apache/cordova/test/errorurl.java  |  33 ---
 .../src/org/apache/cordova/test/fullscreen.java |  39 ---
 .../org/apache/cordova/test/htmlnotfound.java   |  31 --
 test/src/org/apache/cordova/test/iframe.java    |  30 --
 .../cordova/test/junit/GapClientTest.java       |  66 -----
 test/src/org/apache/cordova/test/lifecycle.java |  30 --
 test/src/org/apache/cordova/test/loading.java   |  31 --
 test/src/org/apache/cordova/test/menus.java     |   2 +-
 .../org/apache/cordova/test/splashscreen.java   |  35 ---
 test/src/org/apache/cordova/test/tests.java     |  32 ---
 test/src/org/apache/cordova/test/timeout.java   |  34 ---
 test/src/org/apache/cordova/test/whitelist.java |  51 ----
 test/src/org/apache/cordova/test/xhr.java       |  30 --
 52 files changed, 941 insertions(+), 2603 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-android/blob/c3267def/test/AndroidManifest.xml
----------------------------------------------------------------------
diff --git a/test/AndroidManifest.xml b/test/AndroidManifest.xml
index e058a42..7ceaf2e 100755
--- a/test/AndroidManifest.xml
+++ b/test/AndroidManifest.xml
@@ -69,201 +69,19 @@
             android:windowSoftInputMode="adjustPan"
             android:label="@string/app_name" 
             android:configChanges="orientation|keyboardHidden"
-            android:name="org.apache.cordova.test.background" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.SAMPLE_CODE" />
-            </intent-filter>
-        </activity>
-        <activity
-            android:windowSoftInputMode="adjustPan"
-            android:label="@string/app_name" 
-            android:configChanges="orientation|keyboardHidden"
-            android:name="org.apache.cordova.test.backgroundcolor" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.SAMPLE_CODE" />
-            </intent-filter>
-        </activity>
-        <activity
-            android:windowSoftInputMode="adjustPan"
-            android:label="@string/app_name" 
-            android:configChanges="orientation|keyboardHidden"
-            android:name="org.apache.cordova.test.basicauth" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.SAMPLE_CODE" />
-            </intent-filter>
-        </activity>
-        <activity
-            android:windowSoftInputMode="adjustPan"
-            android:label="@string/app_name" 
-            android:configChanges="orientation|keyboardHidden"
             android:name="org.apache.cordova.test.MainTestActivity" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.SAMPLE_CODE" />
-            </intent-filter>
-        </activity>
-        <activity
-            android:windowSoftInputMode="adjustPan"
-            android:label="@string/app_name" 
-            android:configChanges="orientation|keyboardHidden"
-            android:name="org.apache.cordova.test.CordovaDriverAction" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.SAMPLE_CODE" />
-            </intent-filter>
-        </activity>
-        <activity
-            android:windowSoftInputMode="adjustPan"
-            android:label="@string/app_name" 
-            android:configChanges="orientation|keyboardHidden"
-            android:name="org.apache.cordova.test.errorurl" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.SAMPLE_CODE" />
-            </intent-filter>
-        </activity>
-        <activity
-            android:windowSoftInputMode="adjustPan"
-            android:label="@string/app_name" 
-            android:configChanges="orientation|keyboardHidden"
-            android:name="org.apache.cordova.test.fullscreen" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.SAMPLE_CODE" />
-            </intent-filter>
-        </activity>
-        <activity
-            android:windowSoftInputMode="adjustPan"
-            android:label="@string/app_name" 
-            android:configChanges="orientation|keyboardHidden"
-            android:name="org.apache.cordova.test.htmlnotfound" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.SAMPLE_CODE" />
-            </intent-filter>
-        </activity>
-        <activity
-            android:windowSoftInputMode="adjustPan"
-            android:label="@string/app_name" 
-            android:configChanges="orientation|keyboardHidden"
-            android:name="org.apache.cordova.test.iframe" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.SAMPLE_CODE" />
-            </intent-filter>
-        </activity>
-        <activity
-            android:windowSoftInputMode="adjustPan"
-            android:label="@string/app_name" 
-            android:configChanges="orientation|keyboardHidden"
-            android:name="org.apache.cordova.test.lifecycle" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.SAMPLE_CODE" />
-            </intent-filter>
-        </activity>
-        <activity
-            android:windowSoftInputMode="adjustPan"
-            android:label="@string/app_name" 
-            android:configChanges="orientation|keyboardHidden"
-            android:name="org.apache.cordova.test.loading" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.SAMPLE_CODE" />
-            </intent-filter>
         </activity>
         <activity
             android:windowSoftInputMode="adjustPan"
             android:label="@string/app_name" 
             android:configChanges="orientation|keyboardHidden"
             android:name="org.apache.cordova.test.menus" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.SAMPLE_CODE" />
-            </intent-filter>
-        </activity>
-        <activity
-            android:windowSoftInputMode="adjustPan"
-            android:label="@string/app_name" 
-            android:configChanges="orientation|keyboardHidden"
-            android:name="org.apache.cordova.test.splashscreen" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.SAMPLE_CODE" />
-            </intent-filter>
-        </activity>
-        <activity
-            android:windowSoftInputMode="adjustPan"
-            android:label="@string/app_name" 
-            android:configChanges="orientation|keyboardHidden"
-            android:name="org.apache.cordova.test.tests" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.SAMPLE_CODE" />
-            </intent-filter>
-        </activity>
-        <activity
-            android:windowSoftInputMode="adjustPan"
-            android:label="@string/app_name" 
-            android:configChanges="orientation|keyboardHidden"
-            android:name="org.apache.cordova.test.timeout" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.SAMPLE_CODE" />
-            </intent-filter>
         </activity>
         <activity
             android:windowSoftInputMode="adjustPan"
             android:label="@string/app_name" 
             android:configChanges="orientation|keyboardHidden"
             android:name="org.apache.cordova.test.userwebview" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.SAMPLE_CODE" />
-            </intent-filter>
-        </activity>
-        <activity
-            android:windowSoftInputMode="adjustPan"
-            android:label="@string/app_name" 
-            android:configChanges="orientation|keyboardHidden"
-            android:name="org.apache.cordova.test.whitelist" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.SAMPLE_CODE" />
-            </intent-filter>
-        </activity>
-        <activity
-            android:windowSoftInputMode="adjustPan"
-            android:label="@string/app_name" 
-            android:configChanges="orientation|keyboardHidden"
-            android:name="org.apache.cordova.test.xhr" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.SAMPLE_CODE" />
-            </intent-filter>
-        </activity>
-        <activity
-            android:windowSoftInputMode="adjustPan"
-            android:label="@string/app_name" 
-            android:configChanges="orientation|keyboardHidden"
-            android:name="org.apache.cordova.test.backbuttonmultipage" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.SAMPLE_CODE" />
-            </intent-filter>
-        </activity>
-           <activity
-            android:windowSoftInputMode="adjustPan"
-            android:label="@string/app_name" 
-            android:configChanges="orientation|keyboardHidden"
-            android:name="org.apache.cordova.test.SabotagedActivity" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.SAMPLE_CODE" />
-            </intent-filter>
         </activity>
     </application>
 </manifest> 

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/c3267def/test/README.md
----------------------------------------------------------------------
diff --git a/test/README.md b/test/README.md
index 700cee2..24b10c1 100755
--- a/test/README.md
+++ b/test/README.md
@@ -45,9 +45,9 @@ Copy it from a freshly created project:
 
 Robotium has to be installed for the onScrollChanged tests to work correctly.  It can be
 found at https://code.google.com/p/robotium/ and the jar should be put in the
-'androidTests/libs' directory'.
+'androidTest/libs' directory'.
 
-    mkdir -p androidTests/libs && curl 'http://dl.bintray.com/robotium/generic/robotium-solo-5.2.1.jar' > androidTests/libs/robotium-solo-5.2.1.jar
+    mkdir -p androidTest/libs && curl 'http://dl.bintray.com/robotium/generic/robotium-solo-5.2.1.jar' > androidTest/libs/robotium-solo-5.2.1.jar
 
 ## Running
 

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/c3267def/test/androidTest/src/org/apache/cordova/test/BackButtonMultiPageTest.java
----------------------------------------------------------------------
diff --git a/test/androidTest/src/org/apache/cordova/test/BackButtonMultiPageTest.java b/test/androidTest/src/org/apache/cordova/test/BackButtonMultiPageTest.java
new file mode 100644
index 0000000..7dddec6
--- /dev/null
+++ b/test/androidTest/src/org/apache/cordova/test/BackButtonMultiPageTest.java
@@ -0,0 +1,194 @@
+package org.apache.cordova.test;
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+*/
+
+
+import android.view.KeyEvent;
+import android.view.inputmethod.BaseInputConnection;
+
+public class BackButtonMultiPageTest extends BaseCordovaIntegrationTest {
+  private static final String START_URL = "file:///android_asset/www/backbuttonmultipage/index.html";
+
+  @Override
+  public void setUp() throws Exception {
+      super.setUp();
+      setUpWithStartUrl(START_URL);
+  }
+
+  public void testViaHref() throws Throwable {
+      assertEquals(START_URL, testActivity.onPageFinishedUrl.take());
+      runTestOnUiThread(new Runnable() {
+          public void run()
+          {
+              cordovaWebView.sendJavascript("window.location = 'sample2.html';");
+          }
+      });
+      assertEquals("file:///android_asset/www/backbuttonmultipage/sample2.html", testActivity.onPageFinishedUrl.take());
+      runTestOnUiThread(new Runnable() {
+          public void run()
+          {
+              cordovaWebView.sendJavascript("window.location = 'sample3.html';");          }
+      });
+
+      assertEquals("file:///android_asset/www/backbuttonmultipage/sample3.html", testActivity.onPageFinishedUrl.take());
+      runTestOnUiThread(new Runnable() {
+          public void run()
+          {
+              assertTrue(cordovaWebView.backHistory());
+          }
+      });
+      assertEquals("file:///android_asset/www/backbuttonmultipage/sample2.html", testActivity.onPageFinishedUrl.take());
+      runTestOnUiThread(new Runnable() {
+          public void run()
+          {
+              assertTrue(cordovaWebView.backHistory());
+          }
+      });
+      assertEquals(START_URL, testActivity.onPageFinishedUrl.take());
+      runTestOnUiThread(new Runnable() {
+          public void run()
+          {
+              assertFalse(cordovaWebView.backHistory());
+          }
+      });
+  }
+  
+  public void testViaLoadUrl() throws Throwable {
+      assertEquals(START_URL, testActivity.onPageFinishedUrl.take());
+      runTestOnUiThread(new Runnable() {
+          public void run()
+          {
+              cordovaWebView.loadUrl("file:///android_asset/www/backbuttonmultipage/sample2.html");
+          }
+      });
+      assertEquals("file:///android_asset/www/backbuttonmultipage/sample2.html", testActivity.onPageFinishedUrl.take());
+      runTestOnUiThread(new Runnable() {
+          public void run()
+          {
+              cordovaWebView.loadUrl("file:///android_asset/www/backbuttonmultipage/sample3.html");
+          }
+      });
+      assertEquals("file:///android_asset/www/backbuttonmultipage/sample3.html", testActivity.onPageFinishedUrl.take());
+      runTestOnUiThread(new Runnable() {
+          public void run()
+          {
+              assertTrue(cordovaWebView.backHistory());
+          }
+      });
+      assertEquals("file:///android_asset/www/backbuttonmultipage/sample2.html", testActivity.onPageFinishedUrl.take());
+      runTestOnUiThread(new Runnable() {
+          public void run()
+          {
+              assertTrue(cordovaWebView.backHistory());
+          }
+      });
+      assertEquals("file:///android_asset/www/backbuttonmultipage/index.html", testActivity.onPageFinishedUrl.take());
+      runTestOnUiThread(new Runnable() {
+          public void run()
+          {
+              assertFalse(cordovaWebView.backHistory());
+          }
+      });
+  }
+
+  public void testViaBackButtonOnView() throws Throwable {
+      assertEquals(START_URL, testActivity.onPageFinishedUrl.take());
+      runTestOnUiThread(new Runnable() {
+          public void run() {
+              cordovaWebView.loadUrl("file:///android_asset/www/backbuttonmultipage/sample2.html");
+          }
+      });
+      assertEquals("file:///android_asset/www/backbuttonmultipage/sample2.html", testActivity.onPageFinishedUrl.take());
+      runTestOnUiThread(new Runnable() {
+          public void run() {
+              cordovaWebView.loadUrl("file:///android_asset/www/backbuttonmultipage/sample3.html");
+          }
+      });
+      assertEquals("file:///android_asset/www/backbuttonmultipage/sample3.html", testActivity.onPageFinishedUrl.take());
+      runTestOnUiThread(new Runnable() {
+          public void run()
+          {
+              String url = cordovaWebView.getUrl();
+              assertTrue(url.endsWith("sample3.html"));
+              BaseInputConnection viewConnection = new BaseInputConnection(cordovaWebView.getView(), true);
+              KeyEvent backDown = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK);
+              KeyEvent backUp = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK);
+              viewConnection.sendKeyEvent(backDown);
+              viewConnection.sendKeyEvent(backUp);
+          }
+      });
+      assertEquals("file:///android_asset/www/backbuttonmultipage/sample2.html", testActivity.onPageFinishedUrl.take());
+      runTestOnUiThread(new Runnable() {
+          public void run()
+          {
+              String url = cordovaWebView.getUrl();
+              assertTrue(url.endsWith("sample2.html"));
+              BaseInputConnection viewConnection = new BaseInputConnection(cordovaWebView.getView(), true);
+              KeyEvent backDown = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK);
+              KeyEvent backUp = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK);
+              viewConnection.sendKeyEvent(backDown);
+              viewConnection.sendKeyEvent(backUp);
+          }
+      });
+      assertEquals("file:///android_asset/www/backbuttonmultipage/index.html", testActivity.onPageFinishedUrl.take());
+  }
+  
+  public void testViaBackButtonOnLayout() throws Throwable {
+      assertEquals(START_URL, testActivity.onPageFinishedUrl.take());
+      runTestOnUiThread(new Runnable() {
+          public void run() {
+              cordovaWebView.loadUrl("file:///android_asset/www/backbuttonmultipage/sample2.html");
+          }
+      });
+      assertEquals("file:///android_asset/www/backbuttonmultipage/sample2.html", testActivity.onPageFinishedUrl.take());
+      runTestOnUiThread(new Runnable() {
+          public void run() {
+              cordovaWebView.loadUrl("file:///android_asset/www/backbuttonmultipage/sample3.html");
+          }
+      });
+      assertEquals("file:///android_asset/www/backbuttonmultipage/sample3.html", testActivity.onPageFinishedUrl.take());
+      runTestOnUiThread(new Runnable() {
+          public void run() {
+              String url = cordovaWebView.getUrl();
+              assertTrue(url.endsWith("sample3.html"));
+              BaseInputConnection viewConnection = new BaseInputConnection(containerView, true);
+              KeyEvent backDown = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK);
+              KeyEvent backUp = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK);
+              viewConnection.sendKeyEvent(backDown);
+              viewConnection.sendKeyEvent(backUp);
+          }
+      });
+      assertEquals("file:///android_asset/www/backbuttonmultipage/sample2.html", testActivity.onPageFinishedUrl.take());
+      runTestOnUiThread(new Runnable() {
+          public void run() {
+              String url = cordovaWebView.getUrl();
+              assertTrue(url.endsWith("sample2.html"));
+              BaseInputConnection viewConnection = new BaseInputConnection(containerView, true);
+              KeyEvent backDown = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK);
+              KeyEvent backUp = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK);
+              viewConnection.sendKeyEvent(backDown);
+              viewConnection.sendKeyEvent(backUp);
+          }
+      });
+      assertEquals("file:///android_asset/www/backbuttonmultipage/index.html", testActivity.onPageFinishedUrl.take());
+  }
+}
+

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/c3267def/test/androidTest/src/org/apache/cordova/test/BaseCordovaIntegrationTest.java
----------------------------------------------------------------------
diff --git a/test/androidTest/src/org/apache/cordova/test/BaseCordovaIntegrationTest.java b/test/androidTest/src/org/apache/cordova/test/BaseCordovaIntegrationTest.java
new file mode 100644
index 0000000..ff76930
--- /dev/null
+++ b/test/androidTest/src/org/apache/cordova/test/BaseCordovaIntegrationTest.java
@@ -0,0 +1,55 @@
+package org.apache.cordova.test;
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+*/
+
+
+import android.content.Intent;
+import android.test.ActivityInstrumentationTestCase2;
+import android.widget.FrameLayout;
+
+import org.apache.cordova.CordovaWebView;
+
+public class BaseCordovaIntegrationTest extends ActivityInstrumentationTestCase2<MainTestActivity> {
+    protected MainTestActivity testActivity;
+    protected FrameLayout containerView;
+    protected CordovaWebView cordovaWebView;
+
+
+    public BaseCordovaIntegrationTest() {
+    super(MainTestActivity.class);
+  }
+
+    protected void setUpWithStartUrl(String url) {
+        setUpWithStartUrl(url, null, null);
+    }
+    protected void setUpWithStartUrl(String url, String prefKey, String prefValue) {
+        Intent intent = new Intent(getInstrumentation().getContext(), MainTestActivity.class);
+        intent.putExtra("testStartUrl", url);
+        if (prefKey != null) {
+            intent.putExtra(prefKey, prefValue);
+        }
+        setActivityIntent(intent);
+        testActivity = getActivity();
+        containerView = (FrameLayout) testActivity.findViewById(android.R.id.content);
+        cordovaWebView = testActivity.getCordovaWebView();
+    }
+}
+

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/c3267def/test/androidTest/src/org/apache/cordova/test/CordovaActivityTest.java
----------------------------------------------------------------------
diff --git a/test/androidTest/src/org/apache/cordova/test/CordovaActivityTest.java b/test/androidTest/src/org/apache/cordova/test/CordovaActivityTest.java
new file mode 100644
index 0000000..5fb3847
--- /dev/null
+++ b/test/androidTest/src/org/apache/cordova/test/CordovaActivityTest.java
@@ -0,0 +1,45 @@
+/*
+       Licensed to the Apache Software Foundation (ASF) under one
+       or more contributor license agreements.  See the NOTICE file
+       distributed with this work for additional information
+       regarding copyright ownership.  The ASF licenses this file
+       to you 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 org.apache.cordova.test;
+
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.LinearLayout;
+
+import org.apache.cordova.AndroidWebView;
+
+public class CordovaActivityTest extends BaseCordovaIntegrationTest {
+    private ViewGroup innerContainer;
+    private View testView;
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        setUpWithStartUrl(null);
+        innerContainer = (ViewGroup)containerView.getChildAt(0);
+        testView = innerContainer.getChildAt(0);
+    }
+
+    public void testBasicLoad() throws Exception {
+        assertTrue(testView instanceof AndroidWebView);
+        assertTrue(innerContainer instanceof LinearLayout);
+        String onPageFinishedUrl = testActivity.onPageFinishedUrl.take();
+        assertEquals(MainTestActivity.START_URL, onPageFinishedUrl);
+    }
+}

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/c3267def/test/androidTest/src/org/apache/cordova/test/CordovaResourceApiTest.java
----------------------------------------------------------------------
diff --git a/test/androidTest/src/org/apache/cordova/test/CordovaResourceApiTest.java b/test/androidTest/src/org/apache/cordova/test/CordovaResourceApiTest.java
new file mode 100644
index 0000000..73aa066
--- /dev/null
+++ b/test/androidTest/src/org/apache/cordova/test/CordovaResourceApiTest.java
@@ -0,0 +1,258 @@
+
+package org.apache.cordova.test;
+
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+ */
+
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.net.Uri;
+import android.os.Environment;
+import android.provider.MediaStore;
+
+import org.apache.cordova.CallbackContext;
+import org.apache.cordova.CordovaPlugin;
+import org.apache.cordova.CordovaResourceApi;
+import org.apache.cordova.CordovaResourceApi.OpenForReadResult;
+import org.apache.cordova.PluginEntry;
+import org.json.JSONArray;
+import org.json.JSONException;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Scanner;
+
+public class CordovaResourceApiTest extends BaseCordovaIntegrationTest {
+    CordovaResourceApi resourceApi;
+    String execPayload;
+    Integer execStatus;
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        setUpWithStartUrl(null);
+        resourceApi = cordovaWebView.getResourceApi();
+        resourceApi.setThreadCheckingEnabled(false);
+        cordovaWebView.getPluginManager().addService(new PluginEntry("CordovaResourceApiTestPlugin1", new CordovaPlugin() {
+            @Override
+            public Uri remapUri(Uri uri) {
+                if (uri.getQuery() != null && uri.getQuery().contains("pluginRewrite")) {
+                    return cordovaWebView.getResourceApi().remapUri(
+                            Uri.parse("data:text/plain;charset=utf-8,pass"));
+                }
+                return null;
+            }
+            public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
+                synchronized (CordovaResourceApiTest.this) {
+                    execPayload = args.getString(0);
+                    execStatus = args.getInt(1);
+                    CordovaResourceApiTest.this.notify();
+                }
+                return true;
+            }
+        }));
+    }
+
+    private Uri createTestImageContentUri() {
+        Bitmap imageBitmap = BitmapFactory.decodeResource(testActivity.getResources(), R.drawable.icon);
+        String stored = MediaStore.Images.Media.insertImage(testActivity.getContentResolver(),
+                imageBitmap, "app-icon", "desc");
+        return Uri.parse(stored);
+    }
+
+    private void performApiTest(Uri uri, String expectedMimeType, File expectedLocalFile,
+            boolean expectRead, boolean expectWrite) throws IOException {
+        uri = resourceApi.remapUri(uri);
+        assertEquals(expectedLocalFile, resourceApi.mapUriToFile(uri));
+        
+        try {
+            OpenForReadResult readResult = resourceApi.openForRead(uri);
+            String mimeType2 = resourceApi.getMimeType(uri);
+            assertEquals("openForRead mime-type", expectedMimeType, readResult.mimeType);
+            assertEquals("getMimeType mime-type", expectedMimeType, mimeType2);
+            readResult.inputStream.read();
+            if (!expectRead) {
+                fail("Expected getInputStream to throw.");
+            }
+        } catch (IOException e) {
+            if (expectRead) {
+                throw e;
+            }
+        }
+        try {
+            OutputStream outStream = resourceApi.openOutputStream(uri);
+            outStream.write(123);
+            if (!expectWrite) {
+                fail("Expected getOutputStream to throw.");
+            }
+            outStream.close();
+        } catch (IOException e) {
+            if (expectWrite) {
+                throw e;
+            }
+        }
+    }
+
+    public void testJavaApis() throws IOException {
+        // testValidContentUri
+        {
+            Uri contentUri = createTestImageContentUri();
+            File localFile = resourceApi.mapUriToFile(contentUri);
+            assertNotNull(localFile);
+            performApiTest(contentUri, "image/jpeg", localFile, true, true);
+        }
+        // testInvalidContentUri
+        {
+            Uri contentUri = Uri.parse("content://media/external/images/media/999999999");
+            performApiTest(contentUri, null, null, false, false);
+        }
+        // testValidAssetUri
+        {
+            Uri assetUri = Uri.parse("file:///android_asset/www/index.html?foo#bar"); // Also check for stripping off ? and # correctly.
+            performApiTest(assetUri, "text/html", null, true, false);
+        }
+        // testInvalidAssetUri
+        {
+            Uri assetUri = Uri.parse("file:///android_asset/www/missing.html");
+            performApiTest(assetUri, "text/html", null, false, false);
+        }
+        // testFileUriToExistingFile
+        {
+            File f = File.createTempFile("te s t", ".txt"); // Also check for dealing with spaces.
+            try {
+                Uri fileUri = Uri.parse(f.toURI().toString() + "?foo#bar"); // Also check for stripping off ? and # correctly.
+                performApiTest(fileUri, "text/plain", f, true, true);
+            } finally {
+                f.delete();
+            }
+        }
+        // testFileUriToMissingFile
+        {
+            File f = new File(Environment.getExternalStorageDirectory() + "/somefilethatdoesntexist");
+            Uri fileUri = Uri.parse(f.toURI().toString());
+            try {
+                performApiTest(fileUri, null, f, false, true);
+            } finally {
+                f.delete();
+            }
+        }
+        // testFileUriToMissingFileWithMissingParent
+        {
+            File f = new File(Environment.getExternalStorageDirectory() + "/somedirthatismissing" + System.currentTimeMillis() + "/somefilethatdoesntexist");
+            Uri fileUri = Uri.parse(f.toURI().toString());
+            performApiTest(fileUri, null, f, false, true);
+        }
+        // testUnrecognizedUri
+        {
+            Uri uri = Uri.parse("somescheme://foo");
+            performApiTest(uri, null, null, false, false);
+        }
+        // testRelativeUri
+        {
+            try {
+                resourceApi.openForRead(Uri.parse("/foo"));
+                fail("Should have thrown for relative URI 1.");
+            } catch (Throwable t) {
+            }
+            try {
+                resourceApi.openForRead(Uri.parse("//foo/bar"));
+                fail("Should have thrown for relative URI 2.");
+            } catch (Throwable t) {
+            }
+            try {
+                resourceApi.openForRead(Uri.parse("foo.png"));
+                fail("Should have thrown for relative URI 3.");
+            } catch (Throwable t) {
+            }
+        }
+        // testPluginOverride
+        {
+            Uri uri = Uri.parse("plugin-uri://foohost/android_asset/www/index.html?pluginRewrite=yes");
+            performApiTest(uri, "text/plain", null, true, false);
+        }
+        // testMainThreadUsage
+        {
+            Uri assetUri = Uri.parse("file:///android_asset/www/index.html");
+            resourceApi.setThreadCheckingEnabled(true);
+            try {
+                resourceApi.openForRead(assetUri);
+                fail("Should have thrown for main thread check.");
+            } catch (Throwable t) {
+            }
+        }
+        // testDataUriPlain
+        {
+            Uri uri = Uri.parse("data:text/plain;charset=utf-8,pa%20ss");
+            OpenForReadResult readResult = resourceApi.openForRead(uri);
+            assertEquals("text/plain", readResult.mimeType);
+            String data = new Scanner(readResult.inputStream, "UTF-8").useDelimiter("\\A").next();
+            assertEquals("pa ss", data);
+        }
+        // testDataUriBase64
+        {
+            Uri uri = Uri.parse("data:text/js;charset=utf-8;base64,cGFzcw==");
+            OpenForReadResult readResult = resourceApi.openForRead(uri);
+            assertEquals("text/js", readResult.mimeType);
+            String data = new Scanner(readResult.inputStream, "UTF-8").useDelimiter("\\A").next();
+            assertEquals("pass", data);
+        }
+    }
+    
+    public void testWebViewRequestIntercept() throws Throwable
+    {
+        testActivity.onPageFinishedUrl.take();
+        execPayload = null;
+        execStatus = null;
+        cordovaWebView.sendJavascript(
+                "var x = new XMLHttpRequest;\n" +
+                        "x.open('GET', 'file:///foo?pluginRewrite=1', false);\n" +
+                        "x.send();\n" +
+                        "cordova.require('cordova/exec')(null,null,'CordovaResourceApiTestPlugin1', 'foo', [x.responseText, x.status])");
+        try {
+            synchronized (this) {
+                this.wait(2000);
+            }
+        } catch (InterruptedException e) {
+        }
+        assertEquals("pass", execPayload);
+        assertEquals(execStatus.intValue(), 200);
+    }
+    
+    public void testWebViewWhiteListRejection() throws Throwable
+    {
+        testActivity.onPageFinishedUrl.take();
+        execPayload = null;
+        execStatus = null;
+        cordovaWebView.sendJavascript(
+            "var x = new XMLHttpRequest;\n" +
+            "x.open('GET', 'http://foo/bar', false);\n" + 
+            "x.send();\n" + 
+            "cordova.require('cordova/exec')(null,null,'CordovaResourceApiTestPlugin1', 'foo', [x.responseText, x.status])");
+        try {
+            synchronized (this) {
+                this.wait(2000);
+            }
+        } catch (InterruptedException e) {
+        }
+        assertEquals("", execPayload);
+        assertEquals(execStatus.intValue(), 404);
+    }    
+}

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/c3267def/test/androidTest/src/org/apache/cordova/test/ErrorUrlTest.java
----------------------------------------------------------------------
diff --git a/test/androidTest/src/org/apache/cordova/test/ErrorUrlTest.java b/test/androidTest/src/org/apache/cordova/test/ErrorUrlTest.java
new file mode 100644
index 0000000..fc6ce8c
--- /dev/null
+++ b/test/androidTest/src/org/apache/cordova/test/ErrorUrlTest.java
@@ -0,0 +1,42 @@
+package org.apache.cordova.test;
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+*/
+
+
+public class ErrorUrlTest extends BaseCordovaIntegrationTest {
+    private static final String START_URL = "file:///android_asset/www/htmlnotfound/index.html";
+    private static final String ERROR_URL = "file:///android_asset/www/htmlnotfound/error.html";
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        setUpWithStartUrl(START_URL, "testErrorUrl", ERROR_URL);
+    }
+
+    public void testUrl() throws Throwable {
+        assertEquals(START_URL, testActivity.onPageFinishedUrl.take());
+        assertEquals(ERROR_URL, testActivity.onPageFinishedUrl.take());
+        runTestOnUiThread(new Runnable() {
+            public void run() {
+                assertEquals(ERROR_URL, testActivity.getCordovaWebView().getUrl());
+            }
+        });
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/c3267def/test/androidTest/src/org/apache/cordova/test/HtmlNotFoundTest.java
----------------------------------------------------------------------
diff --git a/test/androidTest/src/org/apache/cordova/test/HtmlNotFoundTest.java b/test/androidTest/src/org/apache/cordova/test/HtmlNotFoundTest.java
new file mode 100644
index 0000000..36fc3bd
--- /dev/null
+++ b/test/androidTest/src/org/apache/cordova/test/HtmlNotFoundTest.java
@@ -0,0 +1,41 @@
+package org.apache.cordova.test;
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+*/
+
+
+public class HtmlNotFoundTest extends BaseCordovaIntegrationTest {
+  private static final String START_URL = "file:///android_asset/www/htmlnotfound/index.html";
+
+  protected void setUp() throws Exception {
+    super.setUp();
+    setUpWithStartUrl(START_URL);
+  }
+  public void testUrl() throws Throwable
+  {
+      assertEquals(START_URL, testActivity.onPageFinishedUrl.take());
+      // TODO: Should this be null? Or some other way to indicate it didn't actually load?
+      runTestOnUiThread(new Runnable() {
+          public void run() {
+              assertEquals(START_URL, testActivity.getCordovaWebView().getUrl());
+          }
+      });
+  }
+}

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/c3267def/test/androidTest/src/org/apache/cordova/test/IFrameTest.java
----------------------------------------------------------------------
diff --git a/test/androidTest/src/org/apache/cordova/test/IFrameTest.java b/test/androidTest/src/org/apache/cordova/test/IFrameTest.java
new file mode 100644
index 0000000..48dae38
--- /dev/null
+++ b/test/androidTest/src/org/apache/cordova/test/IFrameTest.java
@@ -0,0 +1,107 @@
+package org.apache.cordova.test;
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+*/
+
+
+import android.test.TouchUtils;
+
+import org.apache.cordova.test.util.Purity;
+
+public class IFrameTest extends BaseCordovaIntegrationTest {
+    private static final String START_URL = "file:///android_asset/www/iframe/index.html";
+
+    private TouchUtils touch;
+    private Purity touchTool;
+    
+    protected void setUp() throws Exception {
+      super.setUp();
+      setUpWithStartUrl(START_URL);
+      touch = new TouchUtils();
+      touchTool = new Purity(testActivity, getInstrumentation());
+    }
+  
+  
+    public void testIframeDest() throws Throwable {
+        assertEquals(START_URL, testActivity.onPageFinishedUrl.take());
+        runTestOnUiThread(new Runnable() {
+            public void run()
+            {
+                cordovaWebView.sendJavascript("loadUrl('http://maps.google.com/maps?output=embed');");
+            }
+        });
+        sleep(3000);
+        runTestOnUiThread(new Runnable() {
+            public void run()
+            {
+                cordovaWebView.sendJavascript("loadUrl('index2.html')");
+            }
+        });
+        sleep(1000);
+        runTestOnUiThread(new Runnable() {
+            public void run()
+            {
+                String url = cordovaWebView.getUrl();
+                assertTrue(url.endsWith("index.html"));
+            }
+        });
+    }
+    
+    public void testIframeHistory() throws Throwable
+    {
+        runTestOnUiThread(new Runnable() {
+            public void run()
+            {
+                cordovaWebView.sendJavascript("loadUrl('http://maps.google.com/maps?output=embed');");
+            }
+        });
+        sleep(3000);
+        runTestOnUiThread(new Runnable() {
+            public void run()
+            {
+                cordovaWebView.sendJavascript("loadUrl('index2.html')");
+            }
+        });
+        sleep(1000);
+        runTestOnUiThread(new Runnable() {
+            public void run()
+            {
+                String url = cordovaWebView.getUrl();
+                cordovaWebView.backHistory();
+            }
+        });
+        sleep(1000);
+        runTestOnUiThread(new Runnable() {
+            public void run()
+            {
+                String url = cordovaWebView.getUrl();
+                assertTrue(url.endsWith("index.html"));
+            }
+        });
+    }
+    
+    private void sleep(int timeout) {
+        try {
+          Thread.sleep(timeout);
+        } catch (InterruptedException e) {
+          fail("Unexpected Timeout");
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/c3267def/test/androidTest/src/org/apache/cordova/test/InflateLayoutTest.java
----------------------------------------------------------------------
diff --git a/test/androidTest/src/org/apache/cordova/test/InflateLayoutTest.java b/test/androidTest/src/org/apache/cordova/test/InflateLayoutTest.java
new file mode 100644
index 0000000..3899cf1
--- /dev/null
+++ b/test/androidTest/src/org/apache/cordova/test/InflateLayoutTest.java
@@ -0,0 +1,56 @@
+/*
+       Licensed to the Apache Software Foundation (ASF) under one
+       or more contributor license agreements.  See the NOTICE file
+       distributed with this work for additional information
+       regarding copyright ownership.  The ASF licenses this file
+       to you 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 org.apache.cordova.test;
+
+import android.test.ActivityInstrumentationTestCase2;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.FrameLayout;
+import android.widget.LinearLayout;
+
+import org.apache.cordova.AndroidWebView;
+
+public class InflateLayoutTest extends ActivityInstrumentationTestCase2<CordovaWebViewTestActivity> {
+
+    private CordovaWebViewTestActivity testActivity;
+    private ViewGroup innerContainer;
+    private View testView;
+
+    @SuppressWarnings("deprecation")
+    public InflateLayoutTest()
+    {
+        super("org.apache.cordova.test",CordovaWebViewTestActivity.class);
+    }
+    
+    protected void setUp() throws Exception {
+        super.setUp();
+        testActivity = this.getActivity();
+        FrameLayout containerView = (FrameLayout) testActivity.findViewById(android.R.id.content);
+        innerContainer = (ViewGroup)containerView.getChildAt(0);
+        testView = innerContainer.getChildAt(0);
+    }
+
+    public void testBasicLoad() throws Exception {
+        assertTrue(testView instanceof AndroidWebView);
+        assertTrue(innerContainer instanceof LinearLayout);
+        String onPageFinishedUrl = testActivity.onPageFinishedUrl.take();
+        assertEquals(CordovaWebViewTestActivity.START_URL, onPageFinishedUrl);
+    }
+}

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/c3267def/test/androidTest/src/org/apache/cordova/test/junit/BackButtonMultiPageTest.java
----------------------------------------------------------------------
diff --git a/test/androidTest/src/org/apache/cordova/test/junit/BackButtonMultiPageTest.java b/test/androidTest/src/org/apache/cordova/test/junit/BackButtonMultiPageTest.java
deleted file mode 100644
index cc90538..0000000
--- a/test/androidTest/src/org/apache/cordova/test/junit/BackButtonMultiPageTest.java
+++ /dev/null
@@ -1,278 +0,0 @@
-package org.apache.cordova.test.junit;
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- *
-*/
-
-
-import org.apache.cordova.CordovaWebView;
-import org.apache.cordova.test.backbuttonmultipage;
-
-import android.test.ActivityInstrumentationTestCase2;
-import android.test.UiThreadTest;
-import android.view.KeyEvent;
-import android.view.View;
-import android.view.inputmethod.BaseInputConnection;
-import android.widget.FrameLayout;
-import android.widget.LinearLayout;
-
-public class BackButtonMultiPageTest extends ActivityInstrumentationTestCase2<backbuttonmultipage> {
-
-  private int TIMEOUT = 2000;
-  backbuttonmultipage testActivity;
-  private FrameLayout containerView;
-  private LinearLayout innerContainer;
-  private CordovaWebView testView;
-  
-
-  public BackButtonMultiPageTest() {
-    super(backbuttonmultipage.class);
-  }
-
-  @Override
-  public void setUp() {
-      testActivity = getActivity();
-      containerView = (FrameLayout) testActivity.findViewById(android.R.id.content);
-      innerContainer = (LinearLayout) containerView.getChildAt(0);
-      testView = (CordovaWebView) innerContainer.getChildAt(0);
-  }
-
-  void loadTestPage() {
-     testView.loadUrl("file:///android_asset/www/backbuttonmultipage/index.html");
-     sleep();
-  }
-
-  @UiThreadTest
-  public void testPreconditions(){
-      loadTestPage();
-      assertNotNull(innerContainer);
-      assertNotNull(testView);
-      String url = testView.getUrl();
-      assertTrue(url.endsWith("index.html"));
-  }
-  
-  public void testViaHref() throws Throwable {
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              loadTestPage();
-              testView.sendJavascript("window.location = 'sample2.html';");
-          }
-      });
-      sleep();
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              String url = testView.getUrl();
-              assertEquals("file:///android_asset/www/backbuttonmultipage/sample2.html", url);
-              testView.sendJavascript("window.location = 'sample3.html';");          }
-      });
-     
-      sleep();
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              String url = testView.getUrl();
-              assertEquals("file:///android_asset/www/backbuttonmultipage/sample3.html", url);
-              assertTrue(testView.backHistory());
-          }
-      });
-      sleep();
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              String url = testView.getUrl();
-              assertEquals("file:///android_asset/www/backbuttonmultipage/sample2.html", url);
-              assertTrue(testView.backHistory());
-          }
-      });
-      sleep();
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              String url = testView.getUrl();
-              assertEquals("file:///android_asset/www/backbuttonmultipage/index.html", url);
-          }
-      });
-  }
-  
-  public void testViaLoadUrl() throws Throwable {
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              loadTestPage();
-              testView.loadUrl("file:///android_asset/www/backbuttonmultipage/sample2.html");
-          }
-      });
-      sleep();
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              String url = testView.getUrl();
-              assertTrue(url.endsWith("sample2.html"));
-              testView.loadUrl("file:///android_asset/www/backbuttonmultipage/sample3.html");
-          }
-      });
-      sleep();
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              String url = testView.getUrl();
-              assertTrue(url.endsWith("sample3.html"));
-              testView.backHistory();
-          }
-      });
-      sleep();
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              String url = testView.getUrl();
-              assertTrue(url.endsWith("sample2.html"));
-              testView.backHistory();
-          }
-      });
-      sleep();
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              String url = testView.getUrl();
-              assertTrue(url.endsWith("index.html"));
-              testView.backHistory();
-          }
-      });
-  }
-
-  public void testViaBackButtonOnView() throws Throwable {
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              loadTestPage();
-              testView.loadUrl("file:///android_asset/www/backbuttonmultipage/sample2.html");
-          }
-      });
-      sleep();
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              String url = testView.getUrl();
-              assertTrue(url.endsWith("sample2.html"));
-              testView.loadUrl("file:///android_asset/www/backbuttonmultipage/sample3.html");
-          }
-      });
-      sleep();
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              String url = testView.getUrl();
-              assertTrue(url.endsWith("sample3.html"));
-              BaseInputConnection viewConnection = new BaseInputConnection((View) testView, true);
-              KeyEvent backDown = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK);
-              KeyEvent backUp = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK);
-              viewConnection.sendKeyEvent(backDown);
-              viewConnection.sendKeyEvent(backUp);
-          }
-      });
-      sleep();
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              String url = testView.getUrl();
-              assertTrue(url.endsWith("sample2.html"));
-              BaseInputConnection viewConnection = new BaseInputConnection((View) testView, true);
-              KeyEvent backDown = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK);
-              KeyEvent backUp = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK);
-              viewConnection.sendKeyEvent(backDown);
-              viewConnection.sendKeyEvent(backUp);
-          }
-      });
-      sleep();
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              String url = testView.getUrl();
-              assertTrue(url.endsWith("index.html"));
-          }
-      });
-      
-  }
-  
-  public void testViaBackButtonOnLayout() throws Throwable {
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              loadTestPage();
-              testView.loadUrl("file:///android_asset/www/backbuttonmultipage/sample2.html");
-          }
-      });
-      sleep();
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              String url = testView.getUrl();
-              assertTrue(url.endsWith("sample2.html"));
-              testView.loadUrl("file:///android_asset/www/backbuttonmultipage/sample3.html");
-          }
-      });
-      sleep();
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              String url = testView.getUrl();
-              assertTrue(url.endsWith("sample3.html"));
-              BaseInputConnection viewConnection = new BaseInputConnection(containerView, true);
-              KeyEvent backDown = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK);
-              KeyEvent backUp = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK);
-              viewConnection.sendKeyEvent(backDown);
-              viewConnection.sendKeyEvent(backUp);
-          }
-      });
-      sleep();
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              String url = testView.getUrl();
-              assertTrue(url.endsWith("sample2.html"));
-              BaseInputConnection viewConnection = new BaseInputConnection(containerView, true);
-              KeyEvent backDown = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK);
-              KeyEvent backUp = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK);
-              viewConnection.sendKeyEvent(backDown);
-              viewConnection.sendKeyEvent(backUp);
-          }
-      });
-      sleep();
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              String url = testView.getUrl();
-              assertTrue(url.endsWith("index.html"));
-          }
-      });
-      
-  }
-
-  private void sleep() {
-      try {
-          Thread.sleep(TIMEOUT);
-      } catch (InterruptedException e) {
-          fail("Unexpected Timeout");
-      }
-  }
-
-}
-

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/c3267def/test/androidTest/src/org/apache/cordova/test/junit/CordovaActivityTest.java
----------------------------------------------------------------------
diff --git a/test/androidTest/src/org/apache/cordova/test/junit/CordovaActivityTest.java b/test/androidTest/src/org/apache/cordova/test/junit/CordovaActivityTest.java
deleted file mode 100644
index 965e3d2..0000000
--- a/test/androidTest/src/org/apache/cordova/test/junit/CordovaActivityTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
-       Licensed to the Apache Software Foundation (ASF) under one
-       or more contributor license agreements.  See the NOTICE file
-       distributed with this work for additional information
-       regarding copyright ownership.  The ASF licenses this file
-       to you 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 org.apache.cordova.test.junit;
-
-import org.apache.cordova.CordovaWebView;
-import org.apache.cordova.PluginManager;
-import org.apache.cordova.test.MainTestActivity;
-
-import android.app.Instrumentation;
-import android.test.ActivityInstrumentationTestCase2;
-import android.widget.FrameLayout;
-import android.widget.LinearLayout;
-
-public class CordovaActivityTest extends ActivityInstrumentationTestCase2<MainTestActivity> {
-
-    private MainTestActivity testActivity;
-    private FrameLayout containerView;
-    private LinearLayout innerContainer;
-    private CordovaWebView testView;
-    private Instrumentation mInstr;
-    private int TIMEOUT = 1000;
-    
-    @SuppressWarnings("deprecation")
-    public CordovaActivityTest()
-    {
-        super("org.apache.cordova.test",MainTestActivity.class);
-    }
-    
-    protected void setUp() throws Exception {
-        super.setUp();
-        mInstr = this.getInstrumentation();
-        testActivity = this.getActivity();
-        containerView = (FrameLayout) testActivity.findViewById(android.R.id.content);
-        innerContainer = (LinearLayout) containerView.getChildAt(0);
-        testView = (CordovaWebView) innerContainer.getChildAt(0);
-        
-    }
-    
-    public void testPreconditions(){
-        assertNotNull(innerContainer);
-        assertNotNull(testView);
-    }
-    
-
-    public void testForAndroidWebView() {
-        String className = testView.getClass().getSimpleName();
-        assertTrue(className.equals("AndroidWebView"));
-    }
-    
-    public void testForLinearLayout() {
-        String className = innerContainer.getClass().getSimpleName();
-        assertTrue(className.equals("LinearLayout"));
-    }
-
-    private void sleep() {
-        try {
-          Thread.sleep(TIMEOUT);
-        } catch (InterruptedException e) {
-          fail("Unexpected Timeout");
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/c3267def/test/androidTest/src/org/apache/cordova/test/junit/CordovaResourceApiTest.java
----------------------------------------------------------------------
diff --git a/test/androidTest/src/org/apache/cordova/test/junit/CordovaResourceApiTest.java b/test/androidTest/src/org/apache/cordova/test/junit/CordovaResourceApiTest.java
deleted file mode 100644
index a8a5370..0000000
--- a/test/androidTest/src/org/apache/cordova/test/junit/CordovaResourceApiTest.java
+++ /dev/null
@@ -1,281 +0,0 @@
-
-package org.apache.cordova.test.junit;
-
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- *
- */
-
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.net.Uri;
-import android.os.Environment;
-import android.provider.MediaStore;
-import android.test.ActivityInstrumentationTestCase2;
-
-import org.apache.cordova.CallbackContext;
-import org.apache.cordova.CordovaPlugin;
-import org.apache.cordova.CordovaResourceApi;
-import org.apache.cordova.CordovaResourceApi.OpenForReadResult;
-import org.apache.cordova.CordovaWebView;
-import org.apache.cordova.PluginEntry;
-import org.apache.cordova.test.CordovaWebViewTestActivity;
-import org.apache.cordova.test.R;
-import org.json.JSONArray;
-import org.json.JSONException;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.Scanner;
-
-public class CordovaResourceApiTest extends ActivityInstrumentationTestCase2<CordovaWebViewTestActivity> {
-
-    public CordovaResourceApiTest()
-    {
-        super(CordovaWebViewTestActivity.class);
-    }
-
-    CordovaWebView cordovaWebView;
-    CordovaResourceApi resourceApi;
-
-    private CordovaWebViewTestActivity activity;
-    String execPayload;
-    Integer execStatus;
-
-    protected void setUp() throws Exception {
-        super.setUp();
-        activity = this.getActivity();
-        cordovaWebView = activity.cordovaWebView;
-        resourceApi = cordovaWebView.getResourceApi();
-        resourceApi.setThreadCheckingEnabled(false);
-        cordovaWebView.getPluginManager().addService(new PluginEntry("CordovaResourceApiTestPlugin1", new CordovaPlugin() {
-            @Override
-            public Uri remapUri(Uri uri) {
-                if (uri.getQuery() != null && uri.getQuery().contains("pluginRewrite")) {
-                    return cordovaWebView.getResourceApi().remapUri(
-                            Uri.parse("data:text/plain;charset=utf-8,pass"));
-                }
-                return null;
-            }
-            public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
-                synchronized (CordovaResourceApiTest.this) {
-                    execPayload = args.getString(0);
-                    execStatus = args.getInt(1);
-                    CordovaResourceApiTest.this.notify();
-                }
-                return true;
-            }
-        }));
-    }
-
-    private Uri createTestImageContentUri() {
-        Bitmap imageBitmap = BitmapFactory.decodeResource(activity.getResources(), R.drawable.icon);
-        String stored = MediaStore.Images.Media.insertImage(activity.getContentResolver(),
-                imageBitmap, "app-icon", "desc");
-        return Uri.parse(stored);
-    }
-
-    private void performApiTest(Uri uri, String expectedMimeType, File expectedLocalFile,
-            boolean expectRead, boolean expectWrite) throws IOException {
-        uri = resourceApi.remapUri(uri);
-        assertEquals(expectedLocalFile, resourceApi.mapUriToFile(uri));
-        
-        try {
-            OpenForReadResult readResult = resourceApi.openForRead(uri);
-            String mimeType2 = resourceApi.getMimeType(uri);
-            assertEquals("openForRead mime-type", expectedMimeType, readResult.mimeType);
-            assertEquals("getMimeType mime-type", expectedMimeType, mimeType2);
-            readResult.inputStream.read();
-            if (!expectRead) {
-                fail("Expected getInputStream to throw.");
-            }
-        } catch (IOException e) {
-            if (expectRead) {
-                throw e;
-            }
-        }
-        try {
-            OutputStream outStream = resourceApi.openOutputStream(uri);
-            outStream.write(123);
-            if (!expectWrite) {
-                fail("Expected getOutputStream to throw.");
-            }
-            outStream.close();
-        } catch (IOException e) {
-            if (expectWrite) {
-                throw e;
-            }
-        }
-    }
-
-    public void testValidContentUri() throws IOException
-    {
-        Uri contentUri = createTestImageContentUri();
-        File localFile = resourceApi.mapUriToFile(contentUri);
-        assertNotNull(localFile);
-        performApiTest(contentUri, "image/jpeg", localFile, true, true);
-    }
-
-    public void testInvalidContentUri() throws IOException
-    {
-        Uri contentUri = Uri.parse("content://media/external/images/media/999999999");
-        performApiTest(contentUri, null, null, false, false);
-    }
-
-    public void testValidAssetUri() throws IOException
-    {
-        Uri assetUri = Uri.parse("file:///android_asset/www/index.html?foo#bar"); // Also check for stripping off ? and # correctly.
-        performApiTest(assetUri, "text/html", null, true, false);
-    }
-
-    public void testInvalidAssetUri() throws IOException
-    {
-        Uri assetUri = Uri.parse("file:///android_asset/www/missing.html");
-        performApiTest(assetUri, "text/html", null, false, false);
-    }
-
-    public void testFileUriToExistingFile() throws IOException
-    {
-        File f = File.createTempFile("te s t", ".txt"); // Also check for dealing with spaces.
-        try {
-            Uri fileUri = Uri.parse(f.toURI().toString() + "?foo#bar"); // Also check for stripping off ? and # correctly.
-            performApiTest(fileUri, "text/plain", f, true, true);
-        } finally {
-            f.delete();
-        }
-    }
-
-    public void testFileUriToMissingFile() throws IOException
-    {
-        File f = new File(Environment.getExternalStorageDirectory() + "/somefilethatdoesntexist");
-        Uri fileUri = Uri.parse(f.toURI().toString());
-        try {
-            performApiTest(fileUri, null, f, false, true);
-        } finally {
-            f.delete();
-        }
-    }
-    
-    public void testFileUriToMissingFileWithMissingParent() throws IOException
-    {
-        File f = new File(Environment.getExternalStorageDirectory() + "/somedirthatismissing" + System.currentTimeMillis() + "/somefilethatdoesntexist");
-        Uri fileUri = Uri.parse(f.toURI().toString());
-        performApiTest(fileUri, null, f, false, true);
-    }
-
-    public void testUnrecognizedUri() throws IOException
-    {
-        Uri uri = Uri.parse("somescheme://foo");
-        performApiTest(uri, null, null, false, false);
-    }
-
-    public void testRelativeUri()
-    {
-        try {
-            resourceApi.openForRead(Uri.parse("/foo"));
-            fail("Should have thrown for relative URI 1.");
-        } catch (Throwable t) {
-        }
-        try {
-            resourceApi.openForRead(Uri.parse("//foo/bar"));
-            fail("Should have thrown for relative URI 2.");
-        } catch (Throwable t) {
-        }
-        try {
-            resourceApi.openForRead(Uri.parse("foo.png"));
-            fail("Should have thrown for relative URI 3.");
-        } catch (Throwable t) {
-        }
-    }
-    
-    public void testPluginOverride() throws IOException
-    {
-        Uri uri = Uri.parse("plugin-uri://foohost/android_asset/www/index.html?pluginRewrite=yes");
-        performApiTest(uri, "text/plain", null, true, false);
-    }
-
-    public void testMainThreadUsage() throws IOException
-    {
-        Uri assetUri = Uri.parse("file:///android_asset/www/index.html");
-        resourceApi.setThreadCheckingEnabled(true);
-        try {
-            resourceApi.openForRead(assetUri);
-            fail("Should have thrown for main thread check.");
-        } catch (Throwable t) {
-        }
-    }
-    
-    
-    public void testDataUriPlain() throws IOException
-    {
-        Uri uri = Uri.parse("data:text/plain;charset=utf-8,pa%20ss");
-        OpenForReadResult readResult = resourceApi.openForRead(uri);
-        assertEquals("text/plain", readResult.mimeType);
-        String data = new Scanner(readResult.inputStream, "UTF-8").useDelimiter("\\A").next();
-        assertEquals("pa ss", data);
-    }
-    
-    public void testDataUriBase64() throws IOException
-    {
-        Uri uri = Uri.parse("data:text/js;charset=utf-8;base64,cGFzcw==");
-        OpenForReadResult readResult = resourceApi.openForRead(uri);
-        assertEquals("text/js", readResult.mimeType);
-        String data = new Scanner(readResult.inputStream, "UTF-8").useDelimiter("\\A").next();
-        assertEquals("pass", data);
-    }
-    
-    public void testWebViewRequestIntercept() throws IOException
-    {
-        cordovaWebView.sendJavascript(
-            "var x = new XMLHttpRequest;\n" +
-            "x.open('GET', 'file://foo?pluginRewrite=1', false);\n" + 
-            "x.send();\n" + 
-            "cordova.require('cordova/exec')(null,null,'CordovaResourceApiTestPlugin1', 'foo', [x.responseText, x.status])");
-        execPayload = null;
-        execStatus = null;
-        try {
-            synchronized (this) {
-                this.wait(2000);
-            }
-        } catch (InterruptedException e) {
-        }
-        assertEquals("pass", execPayload);
-        assertEquals(execStatus.intValue(), 200);
-    }
-    
-    public void testWebViewWhiteListRejection() throws IOException
-    {
-        cordovaWebView.sendJavascript(
-            "var x = new XMLHttpRequest;\n" +
-            "x.open('GET', 'http://foo/bar', false);\n" + 
-            "x.send();\n" + 
-            "cordova.require('cordova/exec')(null,null,'CordovaResourceApiTestPlugin1', 'foo', [x.responseText, x.status])");
-        execPayload = null;
-        execStatus = null;
-        try {
-            synchronized (this) {
-                this.wait(2000);
-            }
-        } catch (InterruptedException e) {
-        }
-        assertEquals("", execPayload);
-        assertEquals(execStatus.intValue(), 404);
-    }    
-}

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/c3267def/test/androidTest/src/org/apache/cordova/test/junit/CordovaTest.java
----------------------------------------------------------------------
diff --git a/test/androidTest/src/org/apache/cordova/test/junit/CordovaTest.java b/test/androidTest/src/org/apache/cordova/test/junit/CordovaTest.java
deleted file mode 100644
index 2e09611..0000000
--- a/test/androidTest/src/org/apache/cordova/test/junit/CordovaTest.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
-       Licensed to the Apache Software Foundation (ASF) under one
-       or more contributor license agreements.  See the NOTICE file
-       distributed with this work for additional information
-       regarding copyright ownership.  The ASF licenses this file
-       to you 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 org.apache.cordova.test.junit;
-
-import org.apache.cordova.CordovaWebView;
-import org.apache.cordova.PluginManager;
-import org.apache.cordova.test.CordovaWebViewTestActivity;
-import org.apache.cordova.test.R;
-
-import android.app.Instrumentation;
-import android.test.ActivityInstrumentationTestCase2;
-import android.view.View;
-
-public class CordovaTest extends
-    ActivityInstrumentationTestCase2<CordovaWebViewTestActivity> {
-
-  private static final long TIMEOUT = 1000;
-  private CordovaWebViewTestActivity testActivity;
-  private View testView;
-  private String rString;
-
-  public CordovaTest() {
-    super("org.apache.cordova.test.activities", CordovaWebViewTestActivity.class);
-  }
-
-  protected void setUp() throws Exception {
-    super.setUp();
-    testActivity = this.getActivity();
-    testView = testActivity.findViewById(R.id.cordovaWebView);
-  }
-
-  public void testPreconditions() {
-    assertNotNull(testView);
-  }
-
-  public void testForAndroidWebView() {
-    //Sleep for no reason!!!!
-    sleep();        
-    String className = testView.getClass().getSimpleName();
-    assertTrue(className.equals("AndroidWebView"));
-  }
-
-  /*
-  public void testForPluginManager() {
-    CordovaWebView v = (CordovaWebView) testView;
-    PluginManager p = v.getPluginManager();
-    assertNotNull(p);
-    String className = p.getClass().getSimpleName();
-    assertTrue(className.equals("PluginManager"));
-  }
-
-  public void testBackButton() {
-    CordovaWebView v = (CordovaWebView) testView;
-    assertFalse(v.checkBackKey());
-  }
-
-  public void testLoadUrl() {
-    CordovaWebView v = (CordovaWebView) testView;
-    v.loadUrlIntoView("file:///android_asset/www/index.html");
-    sleep();
-    String url = v.getUrl();
-    boolean result = url.equals("file:///android_asset/www/index.html");
-    assertTrue(result);
-    int visible = v.getVisibility();
-    assertTrue(visible == View.VISIBLE);
-  }
-
-  public void testBackHistoryFalse() {
-    CordovaWebView v = (CordovaWebView) testView;
-    // Move back in the history
-    boolean test = v.backHistory();
-    assertFalse(test);
-  }
-
-  // Make sure that we can go back
-  public void testBackHistoryTrue() {
-    this.testLoadUrl();
-    CordovaWebView v = (CordovaWebView) testView;
-    v.loadUrlIntoView("file:///android_asset/www/compass/index.html");
-    sleep();
-    String url = v.getUrl();
-    assertTrue(url.equals("file:///android_asset/www/compass/index.html"));
-    // Move back in the history
-    boolean test = v.backHistory();
-    assertTrue(test);
-    sleep();
-    url = v.getUrl();
-    assertTrue(url.equals("file:///android_asset/www/index.html"));
-  }
-  */
-  
-
-  private void sleep() {
-    try {
-      Thread.sleep(TIMEOUT);
-    } catch (InterruptedException e) {
-      fail("Unexpected Timeout");
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/c3267def/test/androidTest/src/org/apache/cordova/test/junit/ErrorUrlTest.java
----------------------------------------------------------------------
diff --git a/test/androidTest/src/org/apache/cordova/test/junit/ErrorUrlTest.java b/test/androidTest/src/org/apache/cordova/test/junit/ErrorUrlTest.java
deleted file mode 100644
index de12bc4..0000000
--- a/test/androidTest/src/org/apache/cordova/test/junit/ErrorUrlTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.apache.cordova.test.junit;
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- *
-*/
-
-
-import org.apache.cordova.CordovaWebView;
-import org.apache.cordova.test.errorurl;
-
-import android.test.ActivityInstrumentationTestCase2;
-import android.widget.FrameLayout;
-import android.widget.LinearLayout;
-
-public class ErrorUrlTest extends ActivityInstrumentationTestCase2<errorurl> {
-
-  private int TIMEOUT = 1000;
-  errorurl testActivity;
-  private FrameLayout containerView;
-  private LinearLayout innerContainer;
-  private CordovaWebView testView;
-  
-  public ErrorUrlTest() {
-    super("org.apache.cordova.test",errorurl.class);
-  }
-  
-  
-  protected void setUp() throws Exception {
-      super.setUp();
-      testActivity = this.getActivity();
-      containerView = (FrameLayout) testActivity.findViewById(android.R.id.content);
-      innerContainer = (LinearLayout) containerView.getChildAt(0);
-      testView = (CordovaWebView) innerContainer.getChildAt(0);
-  }
-  
-  public void testPreconditions(){
-      assertNotNull(innerContainer);
-      assertNotNull(testView);
-  }
-  
-  public void testUrl() throws Throwable
-  {
-    sleep();
-    runTestOnUiThread(new Runnable() {
-        public void run()
-        {
-            String good_url = "file:///android_asset/www/htmlnotfound/error.html";
-            String url = testView.getUrl();
-            assertNotNull(url);
-            assertEquals(good_url, url);
-         
-        }
-    });
-  }
-  
-
-  private void sleep() {
-      try {
-          Thread.sleep(TIMEOUT);
-      } catch (InterruptedException e) {
-          fail("Unexpected Timeout");
-      }
-  }
-
-  
-}

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/c3267def/test/androidTest/src/org/apache/cordova/test/junit/FixWebView.java
----------------------------------------------------------------------
diff --git a/test/androidTest/src/org/apache/cordova/test/junit/FixWebView.java b/test/androidTest/src/org/apache/cordova/test/junit/FixWebView.java
deleted file mode 100755
index 3b73e29..0000000
--- a/test/androidTest/src/org/apache/cordova/test/junit/FixWebView.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-       Licensed to the Apache Software Foundation (ASF) under one
-       or more contributor license agreements.  See the NOTICE file
-       distributed with this work for additional information
-       regarding copyright ownership.  The ASF licenses this file
-       to you 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 org.apache.cordova.test.junit;
-
-import android.content.Context;
-import android.webkit.WebView;
-
-public class FixWebView extends WebView {
-
-    public FixWebView(Context context) {
-        super(context);
-    }
-
-    @Override
-    public void pauseTimers() {
-        // Do nothing
-    }
-
-    /**
-     * This method is with different signature in order to stop the timers while move application to background
-     * @param realPause
-     */
-    public void pauseTimers(@SuppressWarnings("unused") boolean realPause) {
-        super.pauseTimers();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/c3267def/test/androidTest/src/org/apache/cordova/test/junit/HtmlNotFoundTest.java
----------------------------------------------------------------------
diff --git a/test/androidTest/src/org/apache/cordova/test/junit/HtmlNotFoundTest.java b/test/androidTest/src/org/apache/cordova/test/junit/HtmlNotFoundTest.java
deleted file mode 100644
index abc4802..0000000
--- a/test/androidTest/src/org/apache/cordova/test/junit/HtmlNotFoundTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.apache.cordova.test.junit;
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- *
-*/
-
-
-import org.apache.cordova.CordovaWebView;
-import org.apache.cordova.test.htmlnotfound;
-
-import android.test.ActivityInstrumentationTestCase2;
-import android.widget.FrameLayout;
-import android.widget.LinearLayout;
-
-public class HtmlNotFoundTest extends ActivityInstrumentationTestCase2<htmlnotfound> {
-
-  private int TIMEOUT = 1000;
-  private htmlnotfound testActivity;
-  private FrameLayout containerView;
-  private LinearLayout innerContainer;
-  private CordovaWebView testView;
-
-  public HtmlNotFoundTest() {
-    super("org.apache.cordova.test",htmlnotfound.class);
-  }
-  
-  
-  protected void setUp() throws Exception {
-    super.setUp();
-    testActivity = this.getActivity();
-    containerView = (FrameLayout) testActivity.findViewById(android.R.id.content);
-    innerContainer = (LinearLayout) containerView.getChildAt(0);
-    testView = (CordovaWebView) innerContainer.getChildAt(0);
-  }
-
-  public void testPreconditions(){
-    assertNotNull(innerContainer);
-    assertNotNull(testView);
-  }
-
-  public void testUrl() throws Throwable
-  {
-      sleep();
-      runTestOnUiThread(new Runnable() {
-          public void run()
-          {
-              String good_url = "file:///android_asset/www/htmlnotfound/error.html";
-              String url = testView.getUrl();
-              assertNotNull(url);
-              assertFalse(url.equals(good_url));
-          }
-      });
-
-  }
-
-  private void sleep() {
-      try {
-        Thread.sleep(TIMEOUT);
-      } catch (InterruptedException e) {
-        fail("Unexpected Timeout");
-      }
-    }
-
-}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org