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