1 package org.robolectric.android.controller; 2 3 import static com.google.common.truth.Truth.assertThat; 4 5 import android.app.Application; 6 import android.app.backup.BackupAgent; 7 import android.app.backup.BackupDataInput; 8 import android.app.backup.BackupDataOutput; 9 import android.os.ParcelFileDescriptor; 10 import androidx.test.core.app.ApplicationProvider; 11 import androidx.test.ext.junit.runners.AndroidJUnit4; 12 import java.io.IOException; 13 import org.junit.Test; 14 import org.junit.runner.RunWith; 15 import org.robolectric.Robolectric; 16 17 @RunWith(AndroidJUnit4.class) 18 public class BackupAgentControllerTest { 19 private final BackupAgentController<MyBackupAgent> backupAgentController = Robolectric.buildBackupAgent(MyBackupAgent.class); 20 21 @Test shouldSetBaseContext()22 public void shouldSetBaseContext() throws Exception { 23 MyBackupAgent myBackupAgent = backupAgentController.get(); 24 assertThat(myBackupAgent.getBaseContext()) 25 .isEqualTo(((Application) ApplicationProvider.getApplicationContext()).getBaseContext()); 26 } 27 28 public static class MyBackupAgent extends BackupAgent { 29 @Override onBackup(ParcelFileDescriptor parcelFileDescriptor, BackupDataOutput backupDataOutput, ParcelFileDescriptor parcelFileDescriptor1)30 public void onBackup(ParcelFileDescriptor parcelFileDescriptor, BackupDataOutput backupDataOutput, ParcelFileDescriptor parcelFileDescriptor1) throws IOException { 31 // no op 32 } 33 34 @Override onRestore(BackupDataInput backupDataInput, int i, ParcelFileDescriptor parcelFileDescriptor)35 public void onRestore(BackupDataInput backupDataInput, int i, ParcelFileDescriptor parcelFileDescriptor) throws IOException { 36 // no op 37 } 38 } 39 } 40