• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package android.app;
2 
3 import static com.google.common.truth.Truth.assertThat;
4 
5 import android.content.ComponentName;
6 import android.content.Context;
7 import androidx.test.core.app.ActivityScenario;
8 import androidx.test.core.app.ApplicationProvider;
9 import androidx.test.ext.junit.runners.AndroidJUnit4;
10 import org.junit.Test;
11 import org.junit.runner.RunWith;
12 import org.robolectric.testapp.TestActivity;
13 
14 /** Compatibility test for {@link SearchManager}. */
15 @RunWith(AndroidJUnit4.class)
16 public class SearchManagerTest {
17 
18   @Test
searchManager_applicationInstance_isNotSameAsActivityInstance()19   public void searchManager_applicationInstance_isNotSameAsActivityInstance() {
20     SearchManager applicationSearchManager =
21         (SearchManager)
22             ApplicationProvider.getApplicationContext().getSystemService(Context.SEARCH_SERVICE);
23     try (ActivityScenario<TestActivity> scenario = ActivityScenario.launch(TestActivity.class)) {
24       scenario.onActivity(
25           activity -> {
26             SearchManager activitySearchManager =
27                 (SearchManager) activity.getSystemService(Context.SEARCH_SERVICE);
28             assertThat(applicationSearchManager).isNotSameInstanceAs(activitySearchManager);
29           });
30     }
31   }
32 
33   @Test
searchManager_activityInstance_isSameAsActivityInstance()34   public void searchManager_activityInstance_isSameAsActivityInstance() {
35     try (ActivityScenario<TestActivity> scenario = ActivityScenario.launch(TestActivity.class)) {
36       scenario.onActivity(
37           activity -> {
38             SearchManager activitySearchManager =
39                 (SearchManager) activity.getSystemService(Context.SEARCH_SERVICE);
40             SearchManager anotherActivitySearchManager =
41                 (SearchManager) activity.getSystemService(Context.SEARCH_SERVICE);
42             assertThat(anotherActivitySearchManager).isSameInstanceAs(activitySearchManager);
43           });
44     }
45   }
46 
47   @Test
searchManager_globalSearchActivity_retrievesSameValues()48   public void searchManager_globalSearchActivity_retrievesSameValues() {
49     SearchManager applicationSearchManager =
50         (SearchManager)
51             ApplicationProvider.getApplicationContext().getSystemService(Context.SEARCH_SERVICE);
52 
53     try (ActivityScenario<TestActivity> scenario = ActivityScenario.launch(TestActivity.class)) {
54       scenario.onActivity(
55           activity -> {
56             SearchManager activitySearchManager =
57                 (SearchManager) activity.getSystemService(Context.SEARCH_SERVICE);
58 
59             ComponentName applicationGlobalSearchActivity =
60                 applicationSearchManager.getGlobalSearchActivity();
61             ComponentName activityGlobalSearchActivity =
62                 activitySearchManager.getGlobalSearchActivity();
63 
64             assertThat(applicationGlobalSearchActivity).isEqualTo(activityGlobalSearchActivity);
65           });
66     }
67   }
68 }
69