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