diff options
Diffstat (limited to 'tests/src/com/android/dialer/CallDetailActivityTest.java')
-rw-r--r-- | tests/src/com/android/dialer/CallDetailActivityTest.java | 183 |
1 files changed, 0 insertions, 183 deletions
diff --git a/tests/src/com/android/dialer/CallDetailActivityTest.java b/tests/src/com/android/dialer/CallDetailActivityTest.java deleted file mode 100644 index fec25f655..000000000 --- a/tests/src/com/android/dialer/CallDetailActivityTest.java +++ /dev/null @@ -1,183 +0,0 @@ -/* - * Copyright (C) 2011 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.dialer; - -import static com.android.dialer.calllog.CallLogAsyncTaskUtil.Tasks; - -import android.content.ContentResolver; -import android.content.ContentUris; -import android.content.ContentValues; -import android.content.Intent; -import android.net.Uri; -import android.provider.CallLog; -import android.provider.VoicemailContract; -import android.test.ActivityInstrumentationTestCase2; -import android.test.suitebuilder.annotation.LargeTest; -import android.test.suitebuilder.annotation.Suppress; -import android.view.Menu; -import android.widget.PopupMenu; -import android.widget.TextView; - -import com.android.dialer.calllog.CallLogAsyncTaskUtil; -import com.android.dialer.util.AppCompatConstants; -import com.android.dialer.util.AsyncTaskExecutors; -import com.android.dialer.util.FakeAsyncTaskExecutor; - -/** - * Unit tests for the {@link CallDetailActivity}. NOTE: The screen needs to be on for the - * UI-related tests to pass. - */ -@LargeTest -public class CallDetailActivityTest extends ActivityInstrumentationTestCase2<CallDetailActivity> { - private static final String CONTACT_NUMBER = "+1412555555"; - private static final String VOICEMAIL_FILE_LOCATION = "/sdcard/sadlfj893w4j23o9sfu.mp3"; - - private Uri mCallLogUri; - private Uri mVoicemailUri; - private FakeAsyncTaskExecutor mFakeAsyncTaskExecutor; - private CallDetailActivity mActivityUnderTest; - - public CallDetailActivityTest() { - super(CallDetailActivity.class); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - - mFakeAsyncTaskExecutor = new FakeAsyncTaskExecutor(getInstrumentation()); - AsyncTaskExecutors.setFactoryForTest(mFakeAsyncTaskExecutor.getFactory()); - - // I don't like the default of focus-mode for tests, the green focus border makes the - // screenshots look weak. - setActivityInitialTouchMode(true); - } - - @Override - protected void tearDown() throws Exception { - cleanUpUri(); - - AsyncTaskExecutors.setFactoryForTest(null); - CallLogAsyncTaskUtil.resetForTest(); - - super.tearDown(); - } - - /** Test for bug where missing Extras on intent used to start Activity causes NPE. */ - public void testCallLogUriWithMissingExtrasShouldNotCauseNPE() throws Throwable { - setActivityIntentForTestCallEntry(); - startActivityUnderTest(); - } - - /** - * Verifies the trash menu item is present and a voicemail URI is set. - */ - @Suppress - public void testVoicemailDeleteButton() throws Throwable { - setActivityIntentForTestVoicemailEntry(); - startActivityUnderTest(); - mFakeAsyncTaskExecutor.runTask(Tasks.GET_CALL_DETAILS); - - Menu optionsMenu = (new PopupMenu(mActivityUnderTest, null)).getMenu(); - mActivityUnderTest.onCreateOptionsMenu(optionsMenu); - mActivityUnderTest.onPrepareOptionsMenu(optionsMenu); - - assertTrue(mActivityUnderTest.hasVoicemail()); - mActivityUnderTest.runOnUiThread(new Runnable() { - public void run() { - mActivityUnderTest.findViewById(R.id.call_detail_delete_menu_item).performClick(); - } - }); - getInstrumentation().waitForIdleSync(); - mFakeAsyncTaskExecutor.runTask(Tasks.DELETE_VOICEMAIL); - } - - /** - * Verifies the trash menu item is present and a voicemail URI is not set. - */ - @Suppress - public void testRegularCallDoesHaveRemoveFromCallLog() throws Throwable { - setActivityIntentForTestCallEntry(); - startActivityUnderTest(); - mFakeAsyncTaskExecutor.runTask(Tasks.GET_CALL_DETAILS); - - Menu optionsMenu = (new PopupMenu(mActivityUnderTest, null)).getMenu(); - mActivityUnderTest.onCreateOptionsMenu(optionsMenu); - mActivityUnderTest.onPrepareOptionsMenu(optionsMenu); - - assertFalse(mActivityUnderTest.hasVoicemail()); - mActivityUnderTest.runOnUiThread(new Runnable() { - public void run() { - mActivityUnderTest.findViewById(R.id.call_detail_delete_menu_item).performClick(); - } - }); - getInstrumentation().waitForIdleSync(); - mFakeAsyncTaskExecutor.runTask(Tasks.DELETE_CALL); - } - - private void setActivityIntentForTestCallEntry() { - assertNull(mVoicemailUri); - assertNull(mCallLogUri); - ContentResolver contentResolver = getContentResolver(); - ContentValues values = new ContentValues(); - values.put(CallLog.Calls.NUMBER, CONTACT_NUMBER); - values.put(CallLog.Calls.NUMBER_PRESENTATION, CallLog.Calls.PRESENTATION_ALLOWED); - values.put(CallLog.Calls.TYPE, AppCompatConstants.CALLS_INCOMING_TYPE); - mCallLogUri = contentResolver.insert(CallLog.Calls.CONTENT_URI, values); - setActivityIntent(new Intent(Intent.ACTION_VIEW, mCallLogUri)); - } - - private void setActivityIntentForTestVoicemailEntry() { - assertNull(mVoicemailUri); - ContentResolver contentResolver = getContentResolver(); - ContentValues values = new ContentValues(); - values.put(VoicemailContract.Voicemails.NUMBER, CONTACT_NUMBER); - values.put(VoicemailContract.Voicemails.HAS_CONTENT, 1); - // VoicemailContract.Voicemails._DATA - values.put("_data", VOICEMAIL_FILE_LOCATION); - mVoicemailUri = contentResolver.insert(VoicemailContract.Voicemails.CONTENT_URI, values); - - Uri callLogUri = ContentUris.withAppendedId(CallLog.Calls.CONTENT_URI_WITH_VOICEMAIL, - ContentUris.parseId(mVoicemailUri)); - Intent intent = new Intent(Intent.ACTION_VIEW, callLogUri); - intent.putExtra(CallDetailActivity.EXTRA_VOICEMAIL_URI, mVoicemailUri); - setActivityIntent(intent); - } - - private void cleanUpUri() { - if (mVoicemailUri != null) { - getContentResolver().delete(VoicemailContract.Voicemails.CONTENT_URI, - "_ID = ?", new String[] { String.valueOf(ContentUris.parseId(mVoicemailUri)) }); - mVoicemailUri = null; - } - if (mCallLogUri != null) { - getContentResolver().delete(CallLog.Calls.CONTENT_URI_WITH_VOICEMAIL, - "_ID = ?", new String[] { String.valueOf(ContentUris.parseId(mCallLogUri)) }); - mCallLogUri = null; - } - } - - private ContentResolver getContentResolver() { - return getInstrumentation().getTargetContext().getContentResolver(); - } - - private void startActivityUnderTest() throws Throwable { - assertNull(mActivityUnderTest); - mActivityUnderTest = getActivity(); - assertNotNull("activity should not be null", mActivityUnderTest); - } -} |