You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by na...@apache.org on 2014/02/03 19:37:16 UTC
[03/33] git commit: Add Timeout Tests
Add Timeout Tests
https://issues.labcollab.net/browse/ATLS-691
Conflicts:
test/res/xml/config.xml
Update CordovaTimeOut path to replicate android.
Project: http://git-wip-us.apache.org/repos/asf/cordova-amazon-fireos/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-amazon-fireos/commit/5273423b
Tree: http://git-wip-us.apache.org/repos/asf/cordova-amazon-fireos/tree/5273423b
Diff: http://git-wip-us.apache.org/repos/asf/cordova-amazon-fireos/diff/5273423b
Branch: refs/heads/master
Commit: 5273423bb6881784224bc734c411788b3cbcae5a
Parents: 26c4e32
Author: Digvijay Dalapathi <di...@lab126.com>
Authored: Wed Nov 27 15:11:57 2013 -0800
Committer: Archana Naik <na...@lab126.com>
Committed: Fri Jan 31 14:47:05 2014 -0800
----------------------------------------------------------------------
test/AndroidManifest.xml | 10 ++
test/res/xml/config.xml | 6 +-
.../cordova/test/junit/CordovaTimeoutTest.java | 99 ++++++++++++++++++++
test/src/org/apache/cordova/test/loadurl.java | 13 +++
4 files changed, 127 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-amazon-fireos/blob/5273423b/test/AndroidManifest.xml
----------------------------------------------------------------------
diff --git a/test/AndroidManifest.xml b/test/AndroidManifest.xml
index 8815624..83128ff 100755
--- a/test/AndroidManifest.xml
+++ b/test/AndroidManifest.xml
@@ -256,6 +256,16 @@
<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.loadurl" >
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.SAMPLE_CODE" />
+ </intent-filter>
+ </activity>
<!-- This is required for the Tests to work with AmazonWebView -->
<amazon:enable-feature
android:name="com.amazon.webview"
http://git-wip-us.apache.org/repos/asf/cordova-amazon-fireos/blob/5273423b/test/res/xml/config.xml
----------------------------------------------------------------------
diff --git a/test/res/xml/config.xml b/test/res/xml/config.xml
index 1986cff..6edf358 100644
--- a/test/res/xml/config.xml
+++ b/test/res/xml/config.xml
@@ -6,7 +6,11 @@
</description>
<author email="dev@cordova.apache.org" href="http://cordova.io">
</author>
- <access origin="*.apache.org" />
+
+ <access origin="*.apache.org"/>
+ <access origin="http://www.flickr.com/explore" />
+
+ <!-- <content src="http://mysite.com/myapp.html" /> for external pages -->
<content src="index.html" />
<log level="DEBUG" />
<preference name="useBrowserHistory" value="true" />
http://git-wip-us.apache.org/repos/asf/cordova-amazon-fireos/blob/5273423b/test/src/org/apache/cordova/test/junit/CordovaTimeoutTest.java
----------------------------------------------------------------------
diff --git a/test/src/org/apache/cordova/test/junit/CordovaTimeoutTest.java b/test/src/org/apache/cordova/test/junit/CordovaTimeoutTest.java
new file mode 100644
index 0000000..6978dfc
--- /dev/null
+++ b/test/src/org/apache/cordova/test/junit/CordovaTimeoutTest.java
@@ -0,0 +1,99 @@
+package org.apache.cordova.test.junit;
+
+import org.apache.cordova.CordovaWebView;
+import org.apache.cordova.test.AmazonWebViewOnUiThread;
+import org.apache.cordova.test.loadurl;
+
+import android.test.ActivityInstrumentationTestCase2;
+import android.util.Log;
+import android.widget.FrameLayout;
+import android.widget.LinearLayout;
+
+public class CordovaTimeoutTest extends
+ ActivityInstrumentationTestCase2<loadurl> {
+
+ private int SLEEPTIME = 10000;
+ private static final String ERROR_URL = "file:///android_asset/www/htmlnotfound/error.html";
+ private static final String TEST_URL = "http://www.flickr.com/explore";
+
+ loadurl testActivity;
+ private FrameLayout containerView;
+ private LinearLayout innerContainer;
+ private CordovaWebView testView;
+
+ private AmazonWebViewOnUiThread mUiThread;
+
+ public CordovaTimeoutTest() {
+ super("org.apache.cordova.test.actions", loadurl.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);
+ mUiThread = new AmazonWebViewOnUiThread(this, testView);
+ }
+
+ public void testPreconditions() {
+ assertNotNull(innerContainer);
+ assertNotNull(testView);
+ }
+
+ /**
+ * Verify that timeout error occurs and a error page is loaded when set.
+ */
+ public void testTimeOutErrorOccurs() {
+ // Set the timeout value small so that error occurs
+ this.getActivity().setStringProperty("loadUrlTimeoutValue", "500");
+ this.getActivity().setStringProperty("errorUrl",
+ "file:///android_asset/www/htmlnotfound/error.html");
+ mUiThread.loadUrl(TEST_URL);
+ sleep();
+ String url = mUiThread.getUrl();
+ assertNotNull(url);
+ assertTrue(url.equals(ERROR_URL));
+ }
+
+ /**
+ * Verify that timeout does not occur for default timeout
+ */
+ public void testTimeOutErrorDoesNotOccur() {
+ // With default timeout= 20000ms verify error does not occur and
+ // page loads
+ this.getActivity().setStringProperty("errorUrl",
+ "file:///android_asset/www/htmlnotfound/error.html");
+ mUiThread.loadUrl(TEST_URL);
+ sleep();
+ String url = mUiThread.getUrl();
+ assertNotNull(url);
+ assertTrue(url.equals(TEST_URL));
+
+ }
+
+ /**
+ * Verify if a error splash screen is showing when the error page is not set
+ */
+ public void testErrorDialogShows() {
+ this.getActivity().setStringProperty("loadUrlTimeoutValue", "500");
+ mUiThread.loadUrl(TEST_URL);
+ sleep();
+ String url = mUiThread.getUrl();
+ assertNotNull(url);
+ assertFalse(this.getActivity().hasWindowFocus());
+ }
+
+ /**
+ * Sleep to make sure URL loads completely
+ */
+ private void sleep() {
+ try {
+ Thread.sleep(SLEEPTIME);
+ } catch (InterruptedException e) {
+ fail("Unexpected Timeout");
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/cordova-amazon-fireos/blob/5273423b/test/src/org/apache/cordova/test/loadurl.java
----------------------------------------------------------------------
diff --git a/test/src/org/apache/cordova/test/loadurl.java b/test/src/org/apache/cordova/test/loadurl.java
new file mode 100644
index 0000000..deddc37
--- /dev/null
+++ b/test/src/org/apache/cordova/test/loadurl.java
@@ -0,0 +1,13 @@
+package org.apache.cordova.test;
+
+import android.os.Bundle;
+import org.apache.cordova.*;
+
+public class loadurl extends CordovaActivity {
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ super.loadUrl(Config.getStartUrl());
+ }
+
+}