Use binary resource support in robolectric

The resources available to tests are now exactly the merged resources
located in the APK under test.

Bug: 74359828
Test: make -j56 RunSettingsRoboTests
Change-Id: I050db81a92decefea23314b5ec7a62f77ff4bb2b
This commit is contained in:
James Lemieux
2018-12-07 12:56:49 -08:00
committed by Fan Zhang
parent 1f5fab1480
commit f1dade40d2
1005 changed files with 3187 additions and 5478 deletions

View File

@@ -22,25 +22,24 @@ import android.content.Context;
import android.content.Intent;
import android.content.pm.ShortcutInfo;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.ShadowShortcutManager;
import android.content.pm.ShortcutManager;
import java.util.Collections;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import java.util.ArrayList;
import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = {ShadowShortcutManager.class})
@RunWith(RobolectricTestRunner.class)
public class SettingsInitializeTest {
private Context mContext;
private SettingsInitialize mSettingsInitialize;
private ShortcutManager mShortcutManager;
@Before
public void setUp() {
@@ -48,6 +47,7 @@ public class SettingsInitializeTest {
mContext = RuntimeEnvironment.application;
mSettingsInitialize = new SettingsInitialize();
mShortcutManager = (ShortcutManager) mContext.getSystemService(Context.SHORTCUT_SERVICE);
}
@Test
@@ -59,14 +59,13 @@ public class SettingsInitializeTest {
.setShortLabel("test123")
.setIntent(intent)
.build();
final List<ShortcutInfo> shortcuts = new ArrayList<>();
shortcuts.add(info);
ShadowShortcutManager.get().setPinnedShortcuts(shortcuts);
mShortcutManager.addDynamicShortcuts(Collections.singletonList(info));
mShortcutManager.requestPinShortcut(info, null);
mSettingsInitialize.refreshExistingShortcuts(mContext);
final List<ShortcutInfo> updatedShortcuts =
ShadowShortcutManager.get().getLastUpdatedShortcuts();
final List<ShortcutInfo> updatedShortcuts = mShortcutManager.getPinnedShortcuts();
assertThat(updatedShortcuts).hasSize(1);
final ShortcutInfo updateInfo = updatedShortcuts.get(0);
assertThat(updateInfo.getId()).isEqualTo(id);
@@ -87,14 +86,14 @@ public class SettingsInitializeTest {
.setIntent(new Intent(Intent.ACTION_DEFAULT))
.build();
info.addFlags(ShortcutInfo.FLAG_IMMUTABLE);
final List<ShortcutInfo> shortcuts = new ArrayList<>();
shortcuts.add(info);
ShadowShortcutManager.get().setPinnedShortcuts(shortcuts);
mShortcutManager.addDynamicShortcuts(Collections.singletonList(info));
mShortcutManager.requestPinShortcut(info, null);
mSettingsInitialize.refreshExistingShortcuts(mContext);
final List<ShortcutInfo> updatedShortcuts =
ShadowShortcutManager.get().getLastUpdatedShortcuts();
assertThat(updatedShortcuts).isEmpty();
final List<ShortcutInfo> updatedShortcuts = mShortcutManager.getPinnedShortcuts();
assertThat(updatedShortcuts).hasSize(1);
assertThat(updatedShortcuts.get(0)).isSameAs(info);
}
}