13e417452f443f597876e7eeba68706f1878f9cadJohn Heroypackage org.robolectric.android.controller;
23e417452f443f597876e7eeba68706f1878f9cadJohn Heroy
3851f2a9519be23c73a9e2929128179b405e2e7a6Christian Williamsimport static org.assertj.core.api.Assertions.assertThat;
4851f2a9519be23c73a9e2929128179b405e2e7a6Christian Williams
53e417452f443f597876e7eeba68706f1878f9cadJohn Heroyimport android.app.backup.BackupAgent;
63e417452f443f597876e7eeba68706f1878f9cadJohn Heroyimport android.app.backup.BackupDataInput;
73e417452f443f597876e7eeba68706f1878f9cadJohn Heroyimport android.app.backup.BackupDataOutput;
83e417452f443f597876e7eeba68706f1878f9cadJohn Heroyimport android.os.ParcelFileDescriptor;
9851f2a9519be23c73a9e2929128179b405e2e7a6Christian Williamsimport java.io.IOException;
103e417452f443f597876e7eeba68706f1878f9cadJohn Heroyimport org.junit.Test;
113e417452f443f597876e7eeba68706f1878f9cadJohn Heroyimport org.junit.runner.RunWith;
123e417452f443f597876e7eeba68706f1878f9cadJohn Heroyimport org.robolectric.Robolectric;
13ceb8863e0cd0706c72351f063bc7af3c7d76d120Jonathan Gerrishimport org.robolectric.RobolectricTestRunner;
14084d588b645d53c1110ff24b82433b5a331cc6d3James Lemieuximport org.robolectric.RuntimeEnvironment;
153e417452f443f597876e7eeba68706f1878f9cadJohn Heroy
16ceb8863e0cd0706c72351f063bc7af3c7d76d120Jonathan Gerrish@RunWith(RobolectricTestRunner.class)
173e417452f443f597876e7eeba68706f1878f9cadJohn Heroypublic class BackupAgentControllerTest {
183e417452f443f597876e7eeba68706f1878f9cadJohn Heroy  private final BackupAgentController<MyBackupAgent> backupAgentController = Robolectric.buildBackupAgent(MyBackupAgent.class);
193e417452f443f597876e7eeba68706f1878f9cadJohn Heroy
203e417452f443f597876e7eeba68706f1878f9cadJohn Heroy  @Test
213e417452f443f597876e7eeba68706f1878f9cadJohn Heroy  public void shouldSetBaseContext() throws Exception {
2239c8a5f86333b91624930d798c70e70cf3201a05Michael Hoisie    MyBackupAgent myBackupAgent = backupAgentController.get();
233e417452f443f597876e7eeba68706f1878f9cadJohn Heroy    assertThat(myBackupAgent.getBaseContext()).isEqualTo(RuntimeEnvironment.application.getBaseContext());
243e417452f443f597876e7eeba68706f1878f9cadJohn Heroy  }
253e417452f443f597876e7eeba68706f1878f9cadJohn Heroy
263e417452f443f597876e7eeba68706f1878f9cadJohn Heroy  public static class MyBackupAgent extends BackupAgent {
273e417452f443f597876e7eeba68706f1878f9cadJohn Heroy    @Override
283e417452f443f597876e7eeba68706f1878f9cadJohn Heroy    public void onBackup(ParcelFileDescriptor parcelFileDescriptor, BackupDataOutput backupDataOutput, ParcelFileDescriptor parcelFileDescriptor1) throws IOException {
293e417452f443f597876e7eeba68706f1878f9cadJohn Heroy      // no op
303e417452f443f597876e7eeba68706f1878f9cadJohn Heroy    }
313e417452f443f597876e7eeba68706f1878f9cadJohn Heroy
323e417452f443f597876e7eeba68706f1878f9cadJohn Heroy    @Override
333e417452f443f597876e7eeba68706f1878f9cadJohn Heroy    public void onRestore(BackupDataInput backupDataInput, int i, ParcelFileDescriptor parcelFileDescriptor) throws IOException {
343e417452f443f597876e7eeba68706f1878f9cadJohn Heroy      // no op
353e417452f443f597876e7eeba68706f1878f9cadJohn Heroy    }
363e417452f443f597876e7eeba68706f1878f9cadJohn Heroy  }
373e417452f443f597876e7eeba68706f1878f9cadJohn Heroy}
38