Merge heads

This commit is contained in:
youtaol
2013-04-24 21:00:59 +08:00
6 changed files with 113 additions and 28 deletions
@@ -196,7 +196,7 @@ public class CreateTrackTest extends ActivityInstrumentationTestCase2<TrackListA
EndToEndTestUtils EndToEndTestUtils
.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true); .getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
// Send Gps to give a distance more than one kilometer or one mile. // Send Gps to give a distance more than one kilometer or one mile.
EndToEndTestUtils.sendGps(20); EndToEndTestUtils.sendGps(50);
assertTrue(EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_markers), assertTrue(EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_markers),
true)); true));
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
@@ -312,14 +312,14 @@ public class EndToEndTestUtils {
deleteAllTracks(); deleteAllTracks();
} }
resetAllSettings(activityMyTracks, false);
instrumentation.waitForIdleSync();
// Check whether is under recording. If previous test failed, the recording // Check whether is under recording. If previous test failed, the recording
// may not be recording. // may not be recording.
if (isUnderRecording()) { if (isUnderRecording()) {
stopRecording(true); stopRecording(true);
} }
resetAllSettings(activityMyTracks, false);
instrumentation.waitForIdleSync();
} }
/** /**
@@ -250,6 +250,7 @@ public class ExportAndImportTest extends ActivityInstrumentationTestCase2<TrackL
* Wait for the prefix of import success string is much faster than wait the * Wait for the prefix of import success string is much faster than wait the
* whole string. * whole string.
*/ */
EndToEndTestUtils.waitTextToDisappear(activityMyTracks.getString(R.string.generic_progress_title));
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.import_success).split( EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.import_success).split(
"%")[0]); "%")[0]);
@@ -76,11 +76,14 @@ public class MenuItemsTest extends ActivityInstrumentationTestCase2<TrackListAct
EndToEndTestUtils.SOLO.goBack(); EndToEndTestUtils.SOLO.goBack();
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_help), true); EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_help), true);
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.help_about), true, true); EndToEndTestUtils
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true); .getButtonOnScreen(activityMyTracks.getString(R.string.help_about), true, true);
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true); EndToEndTestUtils
.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
EndToEndTestUtils
.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
} }
/** /**
* Tests search menu item. * Tests search menu item.
*/ */
@@ -92,11 +95,74 @@ public class MenuItemsTest extends ActivityInstrumentationTestCase2<TrackListAct
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
assertEquals(1, EndToEndTestUtils.SOLO.getCurrentListViews().size()); assertEquals(1, EndToEndTestUtils.SOLO.getCurrentListViews().size());
} }
/** /**
* Tests the share menu item. This test to check whether crash will happen during the share. * Tests the share a track with Google Drive.
*/ */
public void testShareActivity() { public void testShareActivity_withDrive() {
EndToEndTestUtils.createSimpleTrack(0, false);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true);
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_sharing));
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
.getString(R.string.settings_sharing_share_track));
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
.getString(R.string.settings_sharing_share_track_drive));
EndToEndTestUtils.SOLO.goBack();
EndToEndTestUtils.SOLO.goBack();
// Click share, check message and cancel the share.
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_share), true);
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks
.getString(R.string.share_track_drive_confirm_message)));
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_no));
assertFalse(EndToEndTestUtils.SOLO.waitForText(
activityMyTracks.getString(R.string.share_track_add_emails_title), 1,
EndToEndTestUtils.VERY_SHORT_WAIT_TIME));
// Click share again and confirm the share.
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_share), true);
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_yes));
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks
.getString(R.string.share_track_add_emails_title)));
// Input account to share and click OK button.
EndToEndTestUtils.enterTextAvoidSoftKeyBoard(0, GoogleUtils.ACCOUNT_NAME_2);
EndToEndTestUtils
.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true);
// Waiting the send is finish.
while (EndToEndTestUtils.SOLO.waitForText(
activityMyTracks.getString(R.string.generic_progress_title), 1,
EndToEndTestUtils.SHORT_WAIT_TIME)) {}
assertTrue(EndToEndTestUtils.SOLO.waitForText(EndToEndTestUtils.SOLO
.getString(R.string.generic_success_title)));
EndToEndTestUtils.SOLO.clickOnText(EndToEndTestUtils.SOLO.getString(R.string.generic_ok));
}
/**
* Tests the share a track with Google Maps.
*/
public void testShareActivity_withMaps() {
EndToEndTestUtils.createTrackIfEmpty(0, false);
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true);
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_sharing));
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
.getString(R.string.settings_sharing_share_track));
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks
.getString(R.string.settings_sharing_share_track_maps));
EndToEndTestUtils.SOLO.goBack();
EndToEndTestUtils.SOLO.goBack();
// Click share, check message and cancel the share.
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_share), true);
assertTrue(EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(
R.string.share_track_maps_confirm_message).split("\\%")[0]));
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_no));
assertFalse(EndToEndTestUtils.SOLO.waitForText(
activityMyTracks.getString(R.string.share_track_add_emails_title), 1,
EndToEndTestUtils.VERY_SHORT_WAIT_TIME));
// Try all share items. // Try all share items.
for (int i = 0;; i++) { for (int i = 0;; i++) {
EndToEndTestUtils.createTrackIfEmpty(0, false); EndToEndTestUtils.createTrackIfEmpty(0, false);
@@ -107,14 +173,14 @@ public class MenuItemsTest extends ActivityInstrumentationTestCase2<TrackListAct
EndToEndTestUtils.SOLO.clickOnView(oneItemView); EndToEndTestUtils.SOLO.clickOnView(oneItemView);
EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, EndToEndTestUtils.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true,
true); true);
if(!GoogleUtils.isAccountAvailable()) { if (!GoogleUtils.isAccountAvailable()) {
break; break;
} }
// Waiting the send is finish. // Waiting the send is finish.
while (EndToEndTestUtils.SOLO.waitForText( while (EndToEndTestUtils.SOLO.waitForText(
activityMyTracks.getString(R.string.generic_progress_title), 1, activityMyTracks.getString(R.string.generic_progress_title), 1,
EndToEndTestUtils.SHORT_WAIT_TIME)) {} EndToEndTestUtils.SHORT_WAIT_TIME)) {}
// Check whether data is correct on Google Map and then delete it. // Check whether data is correct on Google Map and then delete it.
assertTrue(GoogleUtils.deleteMap(EndToEndTestUtils.trackName, activityMyTracks)); assertTrue(GoogleUtils.deleteMap(EndToEndTestUtils.trackName, activityMyTracks));
@@ -135,7 +201,8 @@ public class MenuItemsTest extends ActivityInstrumentationTestCase2<TrackListAct
* @return null when no such item * @return null when no such item
*/ */
private View findShareItem(int index) { private View findShareItem(int index) {
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_share_maps), true); EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_share), true);
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_yes));
ArrayList<View> views = EndToEndTestUtils.SOLO.getViews(); ArrayList<View> views = EndToEndTestUtils.SOLO.getViews();
int i = 0; int i = 0;
for (View view : views) { for (View view : views) {
@@ -158,32 +225,36 @@ public class MenuItemsTest extends ActivityInstrumentationTestCase2<TrackListAct
*/ */
public void testFrequencyMenu() { public void testFrequencyMenu() {
EndToEndTestUtils.startRecording(); EndToEndTestUtils.startRecording();
assertTrue(EndToEndTestUtils.findMenuItem( assertTrue(EndToEndTestUtils.findMenuItem(
activityMyTracks.getString(R.string.menu_voice_frequency), false)); activityMyTracks.getString(R.string.menu_voice_frequency), false));
assertTrue(EndToEndTestUtils.findMenuItem( assertTrue(EndToEndTestUtils.findMenuItem(
activityMyTracks.getString(R.string.menu_split_frequency), false)); activityMyTracks.getString(R.string.menu_split_frequency), false));
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true); EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true);
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_recording)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_recording));
assertTrue(EndToEndTestUtils.SOLO.searchText(activityMyTracks.getString(R.string.menu_voice_frequency), 1, true, true)); assertTrue(EndToEndTestUtils.SOLO.searchText(
assertTrue(EndToEndTestUtils.SOLO.searchText(activityMyTracks.getString(R.string.menu_split_frequency), 1, true, true)); activityMyTracks.getString(R.string.menu_voice_frequency), 1, true, true));
assertTrue(EndToEndTestUtils.SOLO.searchText(
activityMyTracks.getString(R.string.menu_split_frequency), 1, true, true));
EndToEndTestUtils.SOLO.goBack(); EndToEndTestUtils.SOLO.goBack();
EndToEndTestUtils.SOLO.goBack(); EndToEndTestUtils.SOLO.goBack();
EndToEndTestUtils.stopRecording(true); EndToEndTestUtils.stopRecording(true);
assertFalse(EndToEndTestUtils.findMenuItem( assertFalse(EndToEndTestUtils.findMenuItem(
activityMyTracks.getString(R.string.menu_voice_frequency), false)); activityMyTracks.getString(R.string.menu_voice_frequency), false));
assertFalse(EndToEndTestUtils.findMenuItem( assertFalse(EndToEndTestUtils.findMenuItem(
activityMyTracks.getString(R.string.menu_split_frequency), false)); activityMyTracks.getString(R.string.menu_split_frequency), false));
EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true); EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_settings), true);
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_recording)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_recording));
assertTrue(EndToEndTestUtils.SOLO.searchText(activityMyTracks.getString(R.string.menu_voice_frequency), 1, true, true)); assertTrue(EndToEndTestUtils.SOLO.searchText(
assertTrue(EndToEndTestUtils.SOLO.searchText(activityMyTracks.getString(R.string.menu_split_frequency), 1, true, true)); activityMyTracks.getString(R.string.menu_voice_frequency), 1, true, true));
assertTrue(EndToEndTestUtils.SOLO.searchText(
activityMyTracks.getString(R.string.menu_split_frequency), 1, true, true));
} }
/** /**
* Tests starting and stopping GPS. * Tests starting and stopping GPS.
*/ */
@@ -184,6 +184,19 @@ public class SendToGoogleTest extends ActivityInstrumentationTestCase2<TrackList
return true; return true;
} }
/**
* Sends a large track to Google.
*
* @throws GoogleAuthException
* @throws IOException
*/
public void testSendLargeTrackToGoogle() throws IOException, GoogleAuthException {
EndToEndTestUtils.deleteAllTracks();
EndToEndTestUtils.createSimpleTrack(200, false);
instrumentation.waitForIdleSync();
checkSendTrackToGoogle();
}
@Override @Override
protected void tearDown() throws Exception { protected void tearDown() throws Exception {
EndToEndTestUtils.activityType = EndToEndTestUtils.DEFAULTACTIVITYTYPE; EndToEndTestUtils.activityType = EndToEndTestUtils.DEFAULTACTIVITYTYPE;
@@ -87,7 +87,7 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
assertTrue(EndToEndTestUtils.SOLO.waitForText( assertTrue(EndToEndTestUtils.SOLO.waitForText(
activityMyTracks.getString(R.string.settings_sharing_allow_access_confirm_message), 1, activityMyTracks.getString(R.string.settings_sharing_allow_access_confirm_message), 1,
EndToEndTestUtils.NORMAL_WAIT_TIME)); EndToEndTestUtils.NORMAL_WAIT_TIME));
EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_ok)); EndToEndTestUtils.SOLO.clickOnButton(activityMyTracks.getString(R.string.generic_yes));
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
assertEquals(!newMapsPublic, EndToEndTestUtils.SOLO.getCurrentCheckBoxes().get(0).isChecked()); assertEquals(!newMapsPublic, EndToEndTestUtils.SOLO.getCurrentCheckBoxes().get(0).isChecked());
EndToEndTestUtils.SOLO.goBack(); EndToEndTestUtils.SOLO.goBack();
@@ -96,7 +96,7 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_backup_reset)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_backup_reset));
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_reset)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.settings_reset));
EndToEndTestUtils EndToEndTestUtils
.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true); .getButtonOnScreen(activityMyTracks.getString(R.string.generic_yes), true, true);
EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.settings_reset_done)); EndToEndTestUtils.SOLO.waitForText(activityMyTracks.getString(R.string.settings_reset_done));
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
EndToEndTestUtils.SOLO.goBack(); EndToEndTestUtils.SOLO.goBack();
@@ -276,7 +276,7 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
EndToEndTestUtils.SOLO EndToEndTestUtils.SOLO
.clickOnText(activityMyTracks.getString(R.string.settings_backup_restore)); .clickOnText(activityMyTracks.getString(R.string.settings_backup_restore));
EndToEndTestUtils EndToEndTestUtils
.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true); .getButtonOnScreen(activityMyTracks.getString(R.string.generic_yes), true, true);
// Now there should be 2 backups. // Now there should be 2 backups.
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
@@ -297,7 +297,7 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
EndToEndTestUtils.SOLO EndToEndTestUtils.SOLO
.clickOnText(activityMyTracks.getString(R.string.settings_backup_restore)); .clickOnText(activityMyTracks.getString(R.string.settings_backup_restore));
EndToEndTestUtils EndToEndTestUtils
.getButtonOnScreen(activityMyTracks.getString(R.string.generic_ok), true, true); .getButtonOnScreen(activityMyTracks.getString(R.string.generic_yes), true, true);
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
// Click the second one. // Click the second one.
@@ -445,7 +445,7 @@ public class SettingTest extends ActivityInstrumentationTestCase2<TrackListActiv
} else { } else {
isSyncChecked = false; isSyncChecked = false;
} }
EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_ok)); EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_yes));
EndToEndTestUtils.SOLO.goBack(); EndToEndTestUtils.SOLO.goBack();
EndToEndTestUtils.SOLO.goBack(); EndToEndTestUtils.SOLO.goBack();
assertEquals(isSyncChecked, assertEquals(isSyncChecked,