Merge "Add optional feedback button for settings search"
This commit is contained in:
committed by
Android (Google) Code Review
commit
8145b0f35a
@@ -60,7 +60,7 @@ import static org.mockito.Mockito.doReturn;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class SearchAdapterTest {
|
||||
public class SearchResultsAdapterTest {
|
||||
|
||||
@Mock
|
||||
private SearchFragment mFragment;
|
||||
@@ -114,7 +114,7 @@ public class SearchAdapterTest {
|
||||
InstalledAppResultLoader.class.getName());
|
||||
mAdapter.addResultsToMap(getDummyDbResults(),
|
||||
DatabaseResultLoader.class.getName());
|
||||
mAdapter.mergeResults();
|
||||
int count = mAdapter.mergeResults();
|
||||
|
||||
List<SearchResult> results = mAdapter.getSearchResults();
|
||||
assertThat(results.get(0).title).isEqualTo("alpha");
|
||||
@@ -123,6 +123,7 @@ public class SearchAdapterTest {
|
||||
assertThat(results.get(3).title).isEqualTo("bravo");
|
||||
assertThat(results.get(4).title).isEqualTo("appCharlie");
|
||||
assertThat(results.get(5).title).isEqualTo("Charlie");
|
||||
assertThat(count).isEqualTo(6);
|
||||
}
|
||||
|
||||
private List<SearchResult> getDummyDbResults() {
|
@@ -67,7 +67,6 @@ public class DatabaseResultLoaderTest {
|
||||
private final String summaryOne = "summaryOne";
|
||||
private final String summaryTwo = "summaryTwo";
|
||||
private final String summaryThree = "summaryThree";
|
||||
private final String summaryFour = "summaryFour";
|
||||
|
||||
SQLiteDatabase mDb;
|
||||
|
||||
|
@@ -16,10 +16,13 @@
|
||||
|
||||
package com.android.settings.search2;
|
||||
|
||||
import android.app.LoaderManager;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Loader;
|
||||
import android.os.Bundle;
|
||||
|
||||
import android.view.View;
|
||||
import com.android.internal.logging.nano.MetricsProto;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsRobolectricTestRunner;
|
||||
@@ -42,6 +45,7 @@ import java.util.List;
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.anyString;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.times;
|
||||
@@ -241,4 +245,52 @@ public class SearchFragmentTest {
|
||||
|
||||
verify(fragment, times(2)).onLoadFinished(any(Loader.class), any(List.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenNoQuery_HideFeedbackIsCalled() {
|
||||
when(mFeatureFactory.searchFeatureProvider
|
||||
.getDatabaseSearchLoader(any(Context.class), anyString()))
|
||||
.thenReturn(new MockDBLoader(RuntimeEnvironment.application));
|
||||
when(mFeatureFactory.searchFeatureProvider
|
||||
.getInstalledAppSearchLoader(any(Context.class), anyString()))
|
||||
.thenReturn(new MockAppLoader(RuntimeEnvironment.application));
|
||||
|
||||
ActivityController<SearchActivity> activityController =
|
||||
Robolectric.buildActivity(SearchActivity.class);
|
||||
activityController.setup();
|
||||
SearchFragment fragment = (SearchFragment) spy(activityController.get().getFragmentManager()
|
||||
.findFragmentById(R.id.main_content));
|
||||
|
||||
when(fragment.getLoaderManager()).thenReturn(mock(LoaderManager.class));
|
||||
|
||||
fragment.onQueryTextChange("");
|
||||
|
||||
Robolectric.flushForegroundThreadScheduler();
|
||||
|
||||
verify(mFeatureFactory.searchFeatureProvider).hideFeedbackButton();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onLoadFinished_ShowsFeedback() {
|
||||
|
||||
when(mFeatureFactory.searchFeatureProvider
|
||||
.getDatabaseSearchLoader(any(Context.class), anyString()))
|
||||
.thenReturn(new MockDBLoader(RuntimeEnvironment.application));
|
||||
when(mFeatureFactory.searchFeatureProvider
|
||||
.getInstalledAppSearchLoader(any(Context.class), anyString()))
|
||||
.thenReturn(new MockAppLoader(RuntimeEnvironment.application));
|
||||
|
||||
ActivityController<SearchActivity> activityController =
|
||||
Robolectric.buildActivity(SearchActivity.class);
|
||||
activityController.setup();
|
||||
SearchFragment fragment = (SearchFragment) spy(activityController.get().getFragmentManager()
|
||||
.findFragmentById(R.id.main_content));
|
||||
|
||||
fragment.onQueryTextChange("non-empty");
|
||||
|
||||
Robolectric.flushForegroundThreadScheduler();
|
||||
|
||||
verify(mFeatureFactory.searchFeatureProvider).showFeedbackButton(any(SearchFragment.class),
|
||||
any(View.class));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user