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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/BluetoothChooserDialogTest.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/BluetoothChooserDialogTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/BluetoothChooserDialogTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/BluetoothChooserDialogTest.java
index 7055c591b62f3c69b320a315914204f4577ac57d..66861f7fc44bfeae3ba56d602adbee76cc3101f3 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/BluetoothChooserDialogTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/BluetoothChooserDialogTest.java
@@ -15,10 +15,19 @@ import android.view.View;
import android.widget.Button;
import android.widget.ListView;
+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.ThreadUtils;
+import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.RetryOnFailure;
import org.chromium.chrome.R;
-import org.chromium.chrome.test.ChromeActivityTestCaseBase;
+import org.chromium.chrome.test.ChromeActivityTestRule;
+import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.components.location.LocationUtils;
import org.chromium.components.security_state.ConnectionSecurityLevel;
import org.chromium.content.browser.test.util.Criteria;
@@ -35,8 +44,11 @@ import java.util.concurrent.Callable;
/**
* Tests for the BluetoothChooserDialog class.
*/
+@RunWith(ChromeJUnit4ClassRunner.class)
@RetryOnFailure
-public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<ChromeActivity> {
+@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE,
+ ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG})
+public class BluetoothChooserDialogTest {
/**
* Works like the BluetoothChooserDialog class, but records calls to native methods instead of
* calling back to C++.
@@ -54,8 +66,8 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
@Override
void nativeOnDialogFinished(
long nativeBluetoothChooserAndroid, int eventType, String deviceId) {
- assertEquals(nativeBluetoothChooserAndroid, mNativeBluetoothChooserDialogPtr);
- assertEquals(mFinishedEventType, -1);
+ Assert.assertEquals(nativeBluetoothChooserAndroid, mNativeBluetoothChooserDialogPtr);
+ Assert.assertEquals(mFinishedEventType, -1);
mFinishedEventType = eventType;
mFinishedDeviceId = deviceId;
// The native code calls closeDialog() when OnDialogFinished is called.
@@ -64,26 +76,26 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
@Override
void nativeRestartSearch(long nativeBluetoothChooserAndroid) {
- assertTrue(mNativeBluetoothChooserDialogPtr != 0);
+ Assert.assertTrue(mNativeBluetoothChooserDialogPtr != 0);
mRestartSearchCount++;
}
@Override
void nativeShowBluetoothOverviewLink(long nativeBluetoothChooserAndroid) {
// We shouldn't be running native functions if the native class has been destroyed.
- assertTrue(mNativeBluetoothChooserDialogPtr != 0);
+ Assert.assertTrue(mNativeBluetoothChooserDialogPtr != 0);
}
@Override
void nativeShowBluetoothAdapterOffLink(long nativeBluetoothChooserAndroid) {
// We shouldn't be running native functions if the native class has been destroyed.
- assertTrue(mNativeBluetoothChooserDialogPtr != 0);
+ Assert.assertTrue(mNativeBluetoothChooserDialogPtr != 0);
}
@Override
void nativeShowNeedLocationPermissionLink(long nativeBluetoothChooserAndroid) {
// We shouldn't be running native functions if the native class has been destroyed.
- assertTrue(mNativeBluetoothChooserDialogPtr != 0);
+ Assert.assertTrue(mNativeBluetoothChooserDialogPtr != 0);
}
}
@@ -91,15 +103,13 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
private FakeLocationUtils mLocationUtils;
private BluetoothChooserDialogWithFakeNatives mChooserDialog;
- public BluetoothChooserDialogTest() {
- super(ChromeActivity.class);
- }
-
- // ChromeActivityTestCaseBase:
+ @Rule
+ public ChromeActivityTestRule<ChromeActivity> mActivityTestRule =
+ new ChromeActivityTestRule<>(ChromeActivity.class);
- @Override
- protected void setUp() throws Exception {
- super.setUp();
+ @Before
+ public void setUp() throws Exception {
+ mActivityTestRule.startMainActivityOnBlankPage();
mLocationUtils = new FakeLocationUtils();
LocationUtils.setFactory(new LocationUtils.Factory() {
@Override
@@ -110,15 +120,9 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
mChooserDialog = createDialog();
}
- @Override
- protected void tearDown() throws Exception {
+ @After
+ public void tearDown() throws Exception {
LocationUtils.setFactory(null);
- super.tearDown();
- }
-
- @Override
- public void startMainActivity() throws InterruptedException {
- startMainActivityOnBlankPage();
}
private BluetoothChooserDialogWithFakeNatives createDialog() {
@@ -126,7 +130,7 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
new Callable<BluetoothChooserDialogWithFakeNatives>() {
@Override
public BluetoothChooserDialogWithFakeNatives call() {
- mWindowAndroid = new ActivityWindowAndroid(getActivity());
+ mWindowAndroid = new ActivityWindowAndroid(mActivityTestRule.getActivity());
BluetoothChooserDialogWithFakeNatives dialog =
new BluetoothChooserDialogWithFakeNatives(mWindowAndroid,
"https://origin.example.com/",
@@ -150,7 +154,7 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
}
});
- assertEquals("Not all items have a view; positions may be incorrect.",
+ Assert.assertEquals("Not all items have a view; positions may be incorrect.",
items.getChildCount(), items.getAdapter().getCount());
// Verify first item selected gets selected.
@@ -181,11 +185,12 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
return message.replaceAll("</?[^>]*link[^>]*>", "");
}
+ @Test
@LargeTest
public void testCancel() {
ItemChooserDialog itemChooser = mChooserDialog.mItemChooserDialog;
Dialog dialog = itemChooser.getDialogForTesting();
- assertTrue(dialog.isShowing());
+ Assert.assertTrue(dialog.isShowing());
TextViewWithClickableSpans statusView =
(TextViewWithClickableSpans) dialog.findViewById(R.id.status);
@@ -194,10 +199,11 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
// Before we add items to the dialog, the 'searching' message should be
// showing, the Commit button should be disabled and the list view hidden.
- assertEquals(removeLinkTags(getActivity().getString(R.string.bluetooth_searching)),
+ Assert.assertEquals(removeLinkTags(mActivityTestRule.getActivity().getString(
+ R.string.bluetooth_searching)),
statusView.getText().toString());
- assertFalse(button.isEnabled());
- assertEquals(View.GONE, items.getVisibility());
+ Assert.assertFalse(button.isEnabled());
+ Assert.assertEquals(View.GONE, items.getVisibility());
dialog.dismiss();
@@ -208,11 +214,12 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
}
});
- assertEquals(BluetoothChooserDialog.DIALOG_FINISHED_CANCELLED,
+ Assert.assertEquals(BluetoothChooserDialog.DIALOG_FINISHED_CANCELLED,
mChooserDialog.mFinishedEventType);
- assertEquals("", mChooserDialog.mFinishedDeviceId);
+ Assert.assertEquals("", mChooserDialog.mFinishedDeviceId);
}
+ @Test
@LargeTest
public void testSelectItem() {
Dialog dialog = mChooserDialog.mItemChooserDialog.getDialogForTesting();
@@ -245,38 +252,40 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
// the progress spinner should disappear, the Commit button should still
// be disabled (since nothing's selected), and the list view should
// show.
- assertEquals(removeLinkTags(getActivity().getString(R.string.bluetooth_searching)),
+ Assert.assertEquals(removeLinkTags(mActivityTestRule.getActivity().getString(
+ R.string.bluetooth_searching)),
statusView.getText().toString());
- assertFalse(button.isEnabled());
- assertEquals(View.VISIBLE, items.getVisibility());
- assertEquals(View.GONE, progress.getVisibility());
+ Assert.assertFalse(button.isEnabled());
+ Assert.assertEquals(View.VISIBLE, items.getVisibility());
+ Assert.assertEquals(View.GONE, progress.getVisibility());
ItemChooserDialog.ItemAdapter itemAdapter =
mChooserDialog.mItemChooserDialog.getItemAdapterForTesting();
- assertTrue(itemAdapter.getItem(0).hasSameContents(
+ Assert.assertTrue(itemAdapter.getItem(0).hasSameContents(
"id-1", "Name 1", null /* icon */, null /* iconDescription */));
- assertTrue(itemAdapter.getItem(1).hasSameContents("id-2", "Name 2",
+ Assert.assertTrue(itemAdapter.getItem(1).hasSameContents("id-2", "Name 2",
mChooserDialog.mConnectedIcon, mChooserDialog.mConnectedIconDescription));
- assertTrue(itemAdapter.getItem(2).hasSameContents("id-3", "Name 3",
+ Assert.assertTrue(itemAdapter.getItem(2).hasSameContents("id-3", "Name 3",
mChooserDialog.mSignalStrengthLevelIcon[1],
- getActivity().getResources().getQuantityString(
+ mActivityTestRule.getActivity().getResources().getQuantityString(
R.plurals.signal_strength_level_n_bars, 1, 1)));
// We show the connected icon even if the device has a signal strength.
- assertTrue(itemAdapter.getItem(3).hasSameContents("id-4", "Name 4",
+ Assert.assertTrue(itemAdapter.getItem(3).hasSameContents("id-4", "Name 4",
mChooserDialog.mConnectedIcon, mChooserDialog.mConnectedIconDescription));
selectItem(mChooserDialog, 2);
- assertEquals(
+ Assert.assertEquals(
BluetoothChooserDialog.DIALOG_FINISHED_SELECTED, mChooserDialog.mFinishedEventType);
- assertEquals("id-2", mChooserDialog.mFinishedDeviceId);
+ Assert.assertEquals("id-2", mChooserDialog.mFinishedDeviceId);
}
+ @Test
@LargeTest
public void testNoLocationPermission() {
ItemChooserDialog itemChooser = mChooserDialog.mItemChooserDialog;
Dialog dialog = itemChooser.getDialogForTesting();
- assertTrue(dialog.isShowing());
+ Assert.assertTrue(dialog.isShowing());
final TextViewWithClickableSpans statusView =
(TextViewWithClickableSpans) dialog.findViewById(R.id.status);
@@ -298,15 +307,16 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
}
});
- assertEquals(removeLinkTags(
- getActivity().getString(R.string.bluetooth_need_location_permission)),
+ Assert.assertEquals(removeLinkTags(mActivityTestRule.getActivity().getString(
+ R.string.bluetooth_need_location_permission)),
errorView.getText().toString());
- assertEquals(removeLinkTags(getActivity().getString(R.string.bluetooth_adapter_off_help)),
+ Assert.assertEquals(removeLinkTags(mActivityTestRule.getActivity().getString(
+ R.string.bluetooth_adapter_off_help)),
statusView.getText().toString());
- assertFalse(button.isEnabled());
- assertEquals(View.VISIBLE, errorView.getVisibility());
- assertEquals(View.GONE, items.getVisibility());
- assertEquals(View.GONE, progress.getVisibility());
+ Assert.assertFalse(button.isEnabled());
+ Assert.assertEquals(View.VISIBLE, errorView.getVisibility());
+ Assert.assertEquals(View.GONE, items.getVisibility());
+ Assert.assertEquals(View.GONE, progress.getVisibility());
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
@@ -318,7 +328,7 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
// Permission was requested.
MoreAsserts.assertEquals(permissionDelegate.mPermissionsRequested,
new String[] {Manifest.permission.ACCESS_COARSE_LOCATION});
- assertNotNull(permissionDelegate.mCallback);
+ Assert.assertNotNull(permissionDelegate.mCallback);
// Grant permission.
mLocationUtils.mLocationGranted = true;
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@@ -330,17 +340,19 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
}
});
- assertEquals(1, mChooserDialog.mRestartSearchCount);
- assertEquals(removeLinkTags(getActivity().getString(R.string.bluetooth_searching)),
+ Assert.assertEquals(1, mChooserDialog.mRestartSearchCount);
+ Assert.assertEquals(removeLinkTags(mActivityTestRule.getActivity().getString(
+ R.string.bluetooth_searching)),
statusView.getText().toString());
mChooserDialog.closeDialog();
}
+ @Test
@LargeTest
public void testNoLocationServices() {
ItemChooserDialog itemChooser = mChooserDialog.mItemChooserDialog;
Dialog dialog = itemChooser.getDialogForTesting();
- assertTrue(dialog.isShowing());
+ Assert.assertTrue(dialog.isShowing());
final TextViewWithClickableSpans statusView =
(TextViewWithClickableSpans) dialog.findViewById(R.id.status);
@@ -366,16 +378,16 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
}
});
- assertEquals(removeLinkTags(
- getActivity().getString(R.string.bluetooth_need_location_services_on)),
+ Assert.assertEquals(removeLinkTags(mActivityTestRule.getActivity().getString(
+ R.string.bluetooth_need_location_services_on)),
errorView.getText().toString());
- assertEquals(removeLinkTags(getActivity().getString(
- R.string.bluetooth_need_location_permission_help)),
+ Assert.assertEquals(removeLinkTags(mActivityTestRule.getActivity().getString(
+ R.string.bluetooth_need_location_permission_help)),
statusView.getText().toString());
- assertFalse(button.isEnabled());
- assertEquals(View.VISIBLE, errorView.getVisibility());
- assertEquals(View.GONE, items.getVisibility());
- assertEquals(View.GONE, progress.getVisibility());
+ Assert.assertFalse(button.isEnabled());
+ Assert.assertEquals(View.VISIBLE, errorView.getVisibility());
+ Assert.assertEquals(View.GONE, items.getVisibility());
+ Assert.assertEquals(View.GONE, progress.getVisibility());
// Turn on Location Services.
mLocationUtils.mSystemLocationSettingsEnabled = true;
@@ -383,12 +395,14 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
@Override
public void run() {
mChooserDialog.mLocationModeBroadcastReceiver.onReceive(
- getActivity(), new Intent(LocationManager.MODE_CHANGED_ACTION));
+ mActivityTestRule.getActivity(),
+ new Intent(LocationManager.MODE_CHANGED_ACTION));
}
});
- assertEquals(1, mChooserDialog.mRestartSearchCount);
- assertEquals(removeLinkTags(getActivity().getString(R.string.bluetooth_searching)),
+ Assert.assertEquals(1, mChooserDialog.mRestartSearchCount);
+ Assert.assertEquals(removeLinkTags(mActivityTestRule.getActivity().getString(
+ R.string.bluetooth_searching)),
statusView.getText().toString());
mChooserDialog.closeDialog();
@@ -396,11 +410,12 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
// TODO(jyasskin): Test when the user denies Chrome the ability to ask for permission.
+ @Test
@LargeTest
public void testTurnOnAdapter() {
final ItemChooserDialog itemChooser = mChooserDialog.mItemChooserDialog;
Dialog dialog = itemChooser.getDialogForTesting();
- assertTrue(dialog.isShowing());
+ Assert.assertTrue(dialog.isShowing());
final TextViewWithClickableSpans statusView =
(TextViewWithClickableSpans) dialog.findViewById(R.id.status);
@@ -418,14 +433,16 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
}
});
- assertEquals(removeLinkTags(getActivity().getString(R.string.bluetooth_adapter_off)),
+ Assert.assertEquals(removeLinkTags(mActivityTestRule.getActivity().getString(
+ R.string.bluetooth_adapter_off)),
errorView.getText().toString());
- assertEquals(removeLinkTags(getActivity().getString(R.string.bluetooth_adapter_off_help)),
+ Assert.assertEquals(removeLinkTags(mActivityTestRule.getActivity().getString(
+ R.string.bluetooth_adapter_off_help)),
statusView.getText().toString());
- assertFalse(button.isEnabled());
- assertEquals(View.VISIBLE, errorView.getVisibility());
- assertEquals(View.GONE, items.getVisibility());
- assertEquals(View.GONE, progress.getVisibility());
+ Assert.assertFalse(button.isEnabled());
+ Assert.assertEquals(View.VISIBLE, errorView.getVisibility());
+ Assert.assertEquals(View.GONE, items.getVisibility());
+ Assert.assertEquals(View.GONE, progress.getVisibility());
// Turn on adapter.
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@@ -435,9 +452,9 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
}
});
- assertEquals(View.GONE, errorView.getVisibility());
- assertEquals(View.GONE, items.getVisibility());
- assertEquals(View.VISIBLE, progress.getVisibility());
+ Assert.assertEquals(View.GONE, errorView.getVisibility());
+ Assert.assertEquals(View.GONE, items.getVisibility());
+ Assert.assertEquals(View.VISIBLE, progress.getVisibility());
mChooserDialog.closeDialog();
}

Powered by Google App Engine
This is Rietveld 408576698