Fix NPE when using VisibilityLogger.

Fix: 31612160
Test: make RunSettingsRoboTests
Change-Id: Ib040a40d27a76d9440f629ed4f768dc4bfde8ac2
This commit is contained in:
Fan Zhang
2016-09-20 09:05:27 -07:00
parent 9560b36306
commit 45fb1199a2
5 changed files with 40 additions and 3 deletions

View File

@@ -28,7 +28,9 @@ import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@@ -51,6 +53,7 @@ public class VisibilityLoggerMixinTest {
@Test
public void shouldLogVisibleOnResume() {
mMixin.onResume();
verify(mMetricsFeature, times(1))
.visible(any(Context.class), eq(TestInstrumentable.TEST_METRIC));
}
@@ -58,10 +61,21 @@ public class VisibilityLoggerMixinTest {
@Test
public void shouldLogHideOnPause() {
mMixin.onPause();
verify(mMetricsFeature, times(1))
.hidden(any(Context.class), eq(TestInstrumentable.TEST_METRIC));
}
@Test
public void shouldNotLogIfMetricsFeatureIsNull() {
mMixin = new VisibilityLoggerMixin(TestInstrumentable.TEST_METRIC);
mMixin.onResume();
mMixin.onPause();
verify(mMetricsFeature, never())
.hidden(any(Context.class), anyInt());
}
private final class TestInstrumentable implements Instrumentable {
public static final int TEST_METRIC = 12345;