Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2547)

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/WebShareTest.java

Issue 2831823003: Convert ChromeActivityTestCaseBase direct children to JUnit4 (Closed)
Patch Set: rebase and convert newly added test Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/javatests/src/org/chromium/chrome/browser/WebShareTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/WebShareTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/WebShareTest.java
index 341dfd4966ad03791af4790f5203e37bd37b728e..eac5d19bd920587b5b8d2bd72b0b6de3feb386a6 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/WebShareTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/WebShareTest.java
@@ -7,20 +7,37 @@ package org.chromium.chrome.browser;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
+import android.support.test.InstrumentationRegistry;
import android.support.test.filters.MediumTest;
import android.support.v7.app.AlertDialog;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
import org.chromium.base.test.util.CallbackHelper;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Feature;
import org.chromium.chrome.browser.share.ShareHelper;
import org.chromium.chrome.browser.tab.EmptyTabObserver;
import org.chromium.chrome.browser.tab.Tab;
-import org.chromium.chrome.test.ChromeActivityTestCaseBase;
+import org.chromium.chrome.test.ChromeActivityTestRule;
+import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
+import org.chromium.content.browser.test.util.TouchCommon;
import org.chromium.net.test.EmbeddedTestServer;
/** Test suite for Web Share (navigator.share) functionality. */
-public class WebShareTest extends ChromeActivityTestCaseBase<ChromeActivity> {
+@RunWith(ChromeJUnit4ClassRunner.class)
+@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE,
+ ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG})
+public class WebShareTest {
+ @Rule
+ public ChromeActivityTestRule<ChromeActivity> mActivityTestRule =
+ new ChromeActivityTestRule<>(ChromeActivity.class);
+
private static final String TEST_FILE = "/content/test/data/android/webshare.html";
private EmbeddedTestServer mTestServer;
@@ -43,7 +60,7 @@ public class WebShareTest extends ChromeActivityTestCaseBase<ChromeActivity> {
@Override
public void onTitleUpdated(Tab tab) {
- String title = getActivity().getActivityTab().getTitle();
+ String title = mActivityTestRule.getActivity().getActivityTab().getTitle();
// Wait until the title indicates either success or failure.
if (!title.equals("Success") && !title.startsWith("Fail:")) return;
mStatus = title;
@@ -56,27 +73,24 @@ public class WebShareTest extends ChromeActivityTestCaseBase<ChromeActivity> {
}
}
- public WebShareTest() {
- super(ChromeActivity.class);
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
+ @Before
+ public void setUp() throws Exception {
+ mActivityTestRule.startMainActivityOnBlankPage();
- mTestServer = EmbeddedTestServer.createAndStartServer(getInstrumentation().getContext());
+ mTestServer = EmbeddedTestServer.createAndStartServer(
+ InstrumentationRegistry.getInstrumentation().getContext());
mUrl = mTestServer.getURL(TEST_FILE);
- mTab = getActivity().getActivityTab();
+ mTab = mActivityTestRule.getActivity().getActivityTab();
mUpdateWaiter = new WebShareUpdateWaiter();
mTab.addObserver(mUpdateWaiter);
mReceivedIntent = null;
}
- @Override
- protected void tearDown() throws Exception {
+ @After
+ public void tearDown() throws Exception {
mTab.removeObserver(mUpdateWaiter);
mTestServer.stopAndDestroyServer();
@@ -84,32 +98,33 @@ public class WebShareTest extends ChromeActivityTestCaseBase<ChromeActivity> {
ShareHelper.setForceCustomChooserForTesting(false);
ShareHelper.setFakeIntentReceiverForTesting(null);
- super.tearDown();
}
/**
* Verify that WebShare is missing by default (without a flag).
* @throws Exception
*/
+ @Test
@MediumTest
@Feature({"WebShare"})
public void testWebShareMissingWithoutFlag() throws Exception {
- loadUrl(mUrl);
- runJavaScriptCodeInCurrentTab("initiate_share()");
- assertEquals("Fail: navigator.share === undefined", mUpdateWaiter.waitForUpdate());
+ mActivityTestRule.loadUrl(mUrl);
+ mActivityTestRule.runJavaScriptCodeInCurrentTab("initiate_share()");
+ Assert.assertEquals("Fail: navigator.share === undefined", mUpdateWaiter.waitForUpdate());
}
/**
* Verify that WebShare fails if called without a user gesture.
* @throws Exception
*/
+ @Test
@MediumTest
@CommandLineFlags.Add("enable-blink-features=WebShare")
@Feature({"WebShare"})
public void testWebShareNoUserGesture() throws Exception {
- loadUrl(mUrl);
- runJavaScriptCodeInCurrentTab("initiate_share()");
- assertEquals(
+ mActivityTestRule.loadUrl(mUrl);
+ mActivityTestRule.runJavaScriptCodeInCurrentTab("initiate_share()");
+ Assert.assertEquals(
"Fail: SecurityError: Must be handling a user gesture to perform a share request.",
mUpdateWaiter.waitForUpdate());
}
@@ -118,20 +133,23 @@ public class WebShareTest extends ChromeActivityTestCaseBase<ChromeActivity> {
* Verify that WebShare fails if the origin trial is disabled.
* @throws Exception
*/
+ @Test
@MediumTest
- @CommandLineFlags.Add({
- "enable-blink-features=WebShare", "origin-trial-disabled-features=WebShare"})
+ @CommandLineFlags.Add({"enable-blink-features=WebShare",
+ "origin-trial-disabled-features=WebShare"})
@Feature({"WebShare"})
public void testWebShareOriginTrialDisabled() throws Exception {
- loadUrl(mUrl);
- singleClickView(mTab.getView());
- assertEquals("Fail: SecurityError: WebShare is disabled.", mUpdateWaiter.waitForUpdate());
+ mActivityTestRule.loadUrl(mUrl);
+ TouchCommon.singleClickView(mTab.getView());
+ Assert.assertEquals(
+ "Fail: SecurityError: WebShare is disabled.", mUpdateWaiter.waitForUpdate());
}
/**
* Verify WebShare fails if share is called from a user gesture, and canceled.
* @throws Exception
*/
+ @Test
@MediumTest
@CommandLineFlags.Add("enable-blink-features=WebShare")
@Feature({"WebShare"})
@@ -150,20 +168,21 @@ public class WebShareTest extends ChromeActivityTestCaseBase<ChromeActivity> {
// Click again to start another share. This is necessary to work around
// https://crbug.com/636274 (callback is not canceled until next share is
// initiated). This also serves as a regression test for https://crbug.com/640324.
- singleClickView(mTab.getView());
+ TouchCommon.singleClickView(mTab.getView());
}
});
- loadUrl(mUrl);
+ mActivityTestRule.loadUrl(mUrl);
// Click (instead of directly calling the JavaScript function) to simulate a user gesture.
- singleClickView(mTab.getView());
- assertEquals("Fail: AbortError: Share canceled", mUpdateWaiter.waitForUpdate());
+ TouchCommon.singleClickView(mTab.getView());
+ Assert.assertEquals("Fail: AbortError: Share canceled", mUpdateWaiter.waitForUpdate());
}
/**
* Verify WebShare succeeds if share is called from a user gesture, and app chosen.
* @throws Exception
*/
+ @Test
@MediumTest
@CommandLineFlags.Add("enable-blink-features=WebShare")
@Feature({"WebShare"})
@@ -193,22 +212,23 @@ public class WebShareTest extends ChromeActivityTestCaseBase<ChromeActivity> {
}
});
- loadUrl(mUrl);
+ mActivityTestRule.loadUrl(mUrl);
// Click (instead of directly calling the JavaScript function) to simulate a user gesture.
- singleClickView(mTab.getView());
- assertEquals("Success", mUpdateWaiter.waitForUpdate());
+ TouchCommon.singleClickView(mTab.getView());
+ Assert.assertEquals("Success", mUpdateWaiter.waitForUpdate());
// The actual intent to be delivered to the target is in the EXTRA_INTENT of the chooser
// intent.
- assertNotNull(mReceivedIntent);
- assertTrue(mReceivedIntent.hasExtra(Intent.EXTRA_INTENT));
+ Assert.assertNotNull(mReceivedIntent);
+ Assert.assertTrue(mReceivedIntent.hasExtra(Intent.EXTRA_INTENT));
Intent innerIntent = mReceivedIntent.getParcelableExtra(Intent.EXTRA_INTENT);
- assertNotNull(innerIntent);
- assertEquals(Intent.ACTION_SEND, innerIntent.getAction());
- assertTrue(innerIntent.hasExtra(Intent.EXTRA_SUBJECT));
- assertEquals("Test Title", innerIntent.getStringExtra(Intent.EXTRA_SUBJECT));
- assertTrue(innerIntent.hasExtra(Intent.EXTRA_TEXT));
- assertEquals("Test Text https://test.url/", innerIntent.getStringExtra(Intent.EXTRA_TEXT));
+ Assert.assertNotNull(innerIntent);
+ Assert.assertEquals(Intent.ACTION_SEND, innerIntent.getAction());
+ Assert.assertTrue(innerIntent.hasExtra(Intent.EXTRA_SUBJECT));
+ Assert.assertEquals("Test Title", innerIntent.getStringExtra(Intent.EXTRA_SUBJECT));
+ Assert.assertTrue(innerIntent.hasExtra(Intent.EXTRA_TEXT));
+ Assert.assertEquals(
+ "Test Text https://test.url/", innerIntent.getStringExtra(Intent.EXTRA_TEXT));
}
/**
@@ -218,6 +238,7 @@ public class WebShareTest extends ChromeActivityTestCaseBase<ChromeActivity> {
*
* @throws Exception
*/
+ @Test
@MediumTest
@CommandLineFlags.Add("enable-blink-features=WebShare")
@Feature({"WebShare"})
@@ -235,10 +256,10 @@ public class WebShareTest extends ChromeActivityTestCaseBase<ChromeActivity> {
ShareHelper.setForceCustomChooserForTesting(true);
- loadUrl(mUrl);
+ mActivityTestRule.loadUrl(mUrl);
// Click (instead of directly calling the JavaScript function) to simulate a user gesture.
- singleClickView(mTab.getView());
- assertEquals("Fail: AbortError: Share canceled", mUpdateWaiter.waitForUpdate());
+ TouchCommon.singleClickView(mTab.getView());
+ Assert.assertEquals("Fail: AbortError: Share canceled", mUpdateWaiter.waitForUpdate());
}
/**
@@ -248,6 +269,7 @@ public class WebShareTest extends ChromeActivityTestCaseBase<ChromeActivity> {
*
* @throws Exception
*/
+ @Test
@MediumTest
@CommandLineFlags.Add("enable-blink-features=WebShare")
@Feature({"WebShare"})
@@ -270,22 +292,17 @@ public class WebShareTest extends ChromeActivityTestCaseBase<ChromeActivity> {
ShareHelper.setForceCustomChooserForTesting(true);
- loadUrl(mUrl);
+ mActivityTestRule.loadUrl(mUrl);
// Click (instead of directly calling the JavaScript function) to simulate a user gesture.
- singleClickView(mTab.getView());
- assertEquals("Success", mUpdateWaiter.waitForUpdate());
-
- assertNotNull(mReceivedIntent);
- assertEquals(Intent.ACTION_SEND, mReceivedIntent.getAction());
- assertTrue(mReceivedIntent.hasExtra(Intent.EXTRA_SUBJECT));
- assertEquals("Test Title", mReceivedIntent.getStringExtra(Intent.EXTRA_SUBJECT));
- assertTrue(mReceivedIntent.hasExtra(Intent.EXTRA_TEXT));
- assertEquals("Test Text https://test.url/",
- mReceivedIntent.getStringExtra(Intent.EXTRA_TEXT));
- }
-
- @Override
- public void startMainActivity() throws InterruptedException {
- startMainActivityOnBlankPage();
+ TouchCommon.singleClickView(mTab.getView());
+ Assert.assertEquals("Success", mUpdateWaiter.waitForUpdate());
+
+ Assert.assertNotNull(mReceivedIntent);
+ Assert.assertEquals(Intent.ACTION_SEND, mReceivedIntent.getAction());
+ Assert.assertTrue(mReceivedIntent.hasExtra(Intent.EXTRA_SUBJECT));
+ Assert.assertEquals("Test Title", mReceivedIntent.getStringExtra(Intent.EXTRA_SUBJECT));
+ Assert.assertTrue(mReceivedIntent.hasExtra(Intent.EXTRA_TEXT));
+ Assert.assertEquals(
+ "Test Text https://test.url/", mReceivedIntent.getStringExtra(Intent.EXTRA_TEXT));
}
}

Powered by Google App Engine
This is Rietveld 408576698