[Settings] Avoid to unregister wrong observer
Bug: 262345047 Test: atest passed. Change-Id: If324e8f35c15053b48320f86ff22759a6a68a62f
This commit is contained in:
@@ -18,8 +18,10 @@ package com.android.settings.slices;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.Uri;
|
||||
@@ -43,11 +45,11 @@ public class SlicePreferenceControllerTest {
|
||||
private LiveData<Slice> mLiveData;
|
||||
@Mock
|
||||
private SlicePreference mSlicePreference;
|
||||
|
||||
private Context mContext;
|
||||
private SlicePreferenceController mController;
|
||||
private Uri mUri;
|
||||
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
@@ -78,10 +80,30 @@ public class SlicePreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void onStop_unregisterObserver() {
|
||||
when(mLiveData.hasActiveObservers()).thenReturn(true);
|
||||
mController.onStart();
|
||||
|
||||
mController.onStop();
|
||||
verify(mLiveData).removeObserver(mController);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onStop_noActiveObservers_notUnregisterObserver() {
|
||||
when(mLiveData.hasActiveObservers()).thenReturn(false);
|
||||
mController.onStart();
|
||||
|
||||
mController.onStop();
|
||||
verify(mLiveData, never()).removeObserver(mController);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onStop_notRegisterObserver_notUnregisterObserver() {
|
||||
when(mLiveData.hasActiveObservers()).thenReturn(true);
|
||||
|
||||
mController.onStop();
|
||||
verify(mLiveData, never()).removeObserver(mController);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onChanged_nullSlice_updateSlice() {
|
||||
mController.onChanged(null);
|
||||
|
Reference in New Issue
Block a user