diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/endtoendtest/CreateAndSendTrackTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/endtoendtest/CreateAndSendTrackTest.java index 5b2ad687d..bdf3bb2f7 100644 --- a/MyTracksTest/src/com/google/android/apps/mytracks/endtoendtest/CreateAndSendTrackTest.java +++ b/MyTracksTest/src/com/google/android/apps/mytracks/endtoendtest/CreateAndSendTrackTest.java @@ -33,7 +33,7 @@ import java.util.ArrayList; public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2 { private static final String WAYPOINT_NAME = "testWaypoint"; - private static final String STATISTICS_NAME = "testStatistics"; + private static final String RELATIVE_STARTTIME_POSTFIX = "mins ago"; private Instrumentation instrumentation; private TrackListActivity activityMyTracks; @@ -56,6 +56,7 @@ public class CreateAndSendTrackTest extends ActivityInstrumentationTestCase2 trackListView = EndToEndTestUtils.SOLO.getCurrentListViews(); @@ -80,20 +80,39 @@ public class DeleteTest extends ActivityInstrumentationTestCase2 trackListView = EndToEndTestUtils.SOLO.getCurrentListViews(); int trackNumberOld = trackListView.get(0).getCount(); - EndToEndTestUtils.SOLO.clickLongOnText(EndToEndTestUtils.TRACK_NAME); + EndToEndTestUtils.SOLO.clickOnView(trackListView.get(0).getChildAt(0)); EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete), true, true); EndToEndTestUtils.SOLO.clickLongOnText(activityMyTracks.getString(R.string.generic_ok)); instrumentation.waitForIdleSync(); trackListView = EndToEndTestUtils.SOLO.getCurrentListViews(); int trackNumberNew = trackListView.get(0).getCount(); assertEquals(trackNumberOld - 1, trackNumberNew); + } + /** + * Deletes a track which is under recording. + */ + public void testDeleteOneTrackUnderRecording() { + EndToEndTestUtils.startRecording(); + instrumentation.waitForIdleSync(); + assertTrue(EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_stop_recording), + false, true)); + instrumentation.waitForIdleSync(); + EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_delete), + true, false); + EndToEndTestUtils.SOLO.clickOnText(activityMyTracks.getString(R.string.generic_ok)); + instrumentation.waitForIdleSync(); + assertTrue(EndToEndTestUtils.findMenuItem(activityMyTracks.getString(R.string.menu_record_track), + false, true)); + instrumentation.waitForIdleSync(); + assertTrue(EndToEndTestUtils.findMenuItem( + activityMyTracks.getString(R.string.menu_record_track), false, true)); } @Override diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/endtoendtest/EndToEndTestUtils.java b/MyTracksTest/src/com/google/android/apps/mytracks/endtoendtest/EndToEndTestUtils.java index 364cdb47f..c2b443c1f 100644 --- a/MyTracksTest/src/com/google/android/apps/mytracks/endtoendtest/EndToEndTestUtils.java +++ b/MyTracksTest/src/com/google/android/apps/mytracks/endtoendtest/EndToEndTestUtils.java @@ -26,6 +26,7 @@ import android.content.res.Configuration; import android.view.KeyEvent; import android.view.View; import android.widget.Button; +import android.widget.ImageButton; import android.widget.TextView; import java.io.File; @@ -54,6 +55,8 @@ public class EndToEndTestUtils { private static final float START_LATITUDE = -1.3f; private static final float DELTA_LONGITUDE = 0.0005f; private static final float DELTA_LADITUDE = 0.0005f; + + private static final String MOREOPTION_CLASSNAME = "com.android.internal.view.menu.ActionMenuPresenter$OverflowMenuButton"; static final String TRACK_NAME_PREFIX = "testTrackName"; static final String GPX = "gpx"; @@ -227,7 +230,7 @@ public class EndToEndTestUtils { } SOLO.clickOnView(startButton); } else { - SOLO.sendKey(KeyEvent.KEYCODE_MENU); + showMoreMenuItem(); if (!SOLO.searchText(ACTIVITYMYTRACKS.getString(R.string.menu_record_track))) { // Check if in TrackDetailActivity. if (SOLO.searchText(ACTIVITYMYTRACKS.getString(R.string.menu_play))) { @@ -235,7 +238,7 @@ public class EndToEndTestUtils { } else { // In case a track is recording. stopRecording(true); - SOLO.sendKey(KeyEvent.KEYCODE_MENU); + showMoreMenuItem(); } } INSTRUMENTATION.waitForIdleSync(); @@ -256,7 +259,7 @@ public class EndToEndTestUtils { return true; } } else { - SOLO.sendKey(KeyEvent.KEYCODE_MENU); + showMoreMenuItem(); if (!SOLO.searchText(ACTIVITYMYTRACKS.getString(R.string.menu_record_track))) { // Check if in TrackDetailActivity. if (SOLO.searchText(ACTIVITYMYTRACKS.getString(R.string.menu_play))) { @@ -264,6 +267,8 @@ public class EndToEndTestUtils { } else { return true; } + } else { + SOLO.goBack(); } } return false; @@ -278,7 +283,7 @@ public class EndToEndTestUtils { if (HAS_ACTIONBAR) { SOLO.clickOnView(getButtonOnScreen(ACTIVITYMYTRACKS.getString(R.string.menu_stop_recording))); } else { - SOLO.sendKey(KeyEvent.KEYCODE_MENU); + showMoreMenuItem(); INSTRUMENTATION.waitForIdleSync(); SOLO.clickOnText(ACTIVITYMYTRACKS.getString(R.string.menu_stop_recording)); } @@ -333,9 +338,8 @@ public class EndToEndTestUtils { static void saveTrackToSdCard(String trackKind) { deleteExportedFiles(trackKind); INSTRUMENTATION.waitForIdleSync(); - SOLO.sendKey(KeyEvent.KEYCODE_MENU); + findMenuItem(ACTIVITYMYTRACKS.getString(R.string.menu_save), true, true); INSTRUMENTATION.waitForIdleSync(); - SOLO.clickOnText(ACTIVITYMYTRACKS.getString(R.string.menu_save)); SOLO.clickOnText(trackKind.toUpperCase()); rotateAllActivities(); SOLO.waitForText(ACTIVITYMYTRACKS.getString(R.string.generic_success_title)); @@ -351,7 +355,9 @@ public class EndToEndTestUtils { ArrayList