Merge "Update display logic for no shared data." into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
e886ef9e9a
@@ -22,8 +22,11 @@ import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.app.blob.BlobInfo;
|
||||
import android.app.blob.BlobStoreManager;
|
||||
import android.app.blob.LeaseInfo;
|
||||
import android.content.Context;
|
||||
import android.os.UserHandle;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
@@ -38,6 +41,10 @@ import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.util.ReflectionHelpers;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
// TODO: add more detailed tests for the shared data screens
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class SharedDataPreferenceControllerTest {
|
||||
@@ -63,8 +70,11 @@ public class SharedDataPreferenceControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateState_BlobManagerIsNotNull_preferenceIsEnabled() {
|
||||
public void updateState_BlobManagerIsNotNullAndBlobsExist_preferenceIsEnabled()
|
||||
throws IOException {
|
||||
ReflectionHelpers.setField(mController, "mBlobStoreManager", mBlobStoreManager);
|
||||
when(mBlobStoreManager.queryBlobsForUser(UserHandle.CURRENT))
|
||||
.thenReturn(generateBlobList());
|
||||
mController.updateState(mPreference);
|
||||
|
||||
verify(mPreference).setEnabled(true);
|
||||
@@ -72,11 +82,38 @@ public class SharedDataPreferenceControllerTest {
|
||||
.isEqualTo(mContext.getString(R.string.shared_data_summary));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateState_BlobManagerIsNotNullButNoBlobsExist_preferenceIsDisabled() {
|
||||
ReflectionHelpers.setField(mController, "mBlobStoreManager", mBlobStoreManager);
|
||||
mController.updateState(mPreference);
|
||||
|
||||
verify(mPreference).setEnabled(false);
|
||||
assertThat(mPreference.getSummary())
|
||||
.isEqualTo(mContext.getString(R.string.shared_data_no_blobs_text));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateState_BlobManagerIsNull_preferenceIsDisabled() {
|
||||
ReflectionHelpers.setField(mController, "mBlobStoreManager", null);
|
||||
mController.updateState(mPreference);
|
||||
|
||||
verify(mPreference).setEnabled(false);
|
||||
assertThat(mPreference.getSummary())
|
||||
.isEqualTo(mContext.getString(R.string.shared_data_no_blobs_text));
|
||||
}
|
||||
|
||||
private List<BlobInfo> generateBlobList() {
|
||||
LeaseInfo one = new LeaseInfo("com.google.android.photos",
|
||||
System.currentTimeMillis(), -1, "test description");
|
||||
LeaseInfo two = new LeaseInfo("com.google.android.drive",
|
||||
System.currentTimeMillis(), -1, "test description 2");
|
||||
|
||||
List<LeaseInfo> accessors = new ArrayList<>();
|
||||
accessors.add(one);
|
||||
accessors.add(two);
|
||||
|
||||
final List<BlobInfo> tmp = new ArrayList<>();
|
||||
tmp.add(new BlobInfo(10, System.currentTimeMillis(), "testing blob 1", accessors));
|
||||
return tmp;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user