Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 277b9049 authored by Michael Cheng's avatar Michael Cheng Committed by Android (Google) Code Review
Browse files

Merge "Migrate `HeaderPrivacyIconsControllerTest` to `mockito-kotlin`." into main

parents 1679b01b 7a7c9c3a
Loading
Loading
Loading
Loading
+36 −40
Original line number Diff line number Diff line
@@ -30,29 +30,25 @@ import com.android.systemui.statusbar.phone.StatusIconContainer
import com.android.systemui.statusbar.policy.DeviceProvisionedController
import com.android.systemui.testKosmos
import com.android.systemui.util.concurrency.FakeExecutor
import com.android.systemui.util.mockito.any
import com.android.systemui.util.mockito.argumentCaptor
import com.android.systemui.util.mockito.capture
import com.android.systemui.util.mockito.eq
import com.android.systemui.util.mockito.nullable
import com.android.systemui.util.time.FakeSystemClock
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotNull
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers.anyInt
import org.mockito.Mock
import org.mockito.Mockito
import org.mockito.Mockito.never
import org.mockito.Mockito.times
import org.mockito.Mockito.verify
import org.mockito.kotlin.never
import org.mockito.kotlin.capture
import org.mockito.kotlin.argumentCaptor
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
import org.mockito.kotlin.eq
import org.mockito.kotlin.any
import org.mockito.kotlin.anyOrNull
import org.mockito.MockitoAnnotations
import org.mockito.Mockito.`when` as whenever

private fun <T> eq(value: T): T = Mockito.eq(value) ?: value
private fun <T> any(): T = Mockito.any<T>()

@SmallTest
@RunWith(AndroidJUnit4::class)
class HeaderPrivacyIconsControllerTest : SysuiTestCase() {
@@ -183,11 +179,11 @@ class HeaderPrivacyIconsControllerTest : SysuiTestCase() {
        whenever(safetyCenterManager.isSafetyCenterEnabled).thenReturn(false)
        controller.onParentVisible()
        val captor = argumentCaptor<View.OnClickListener>()
        verify(privacyChip).setOnClickListener(capture(captor))
        captor.value.onClick(privacyChip)
        verify(privacyDialogController).showDialog(any(Context::class.java))
        verify(privacyChip).setOnClickListener(captor.capture())
        captor.firstValue.onClick(privacyChip)
        verify(privacyDialogController).showDialog(any<Context>())
        verify(privacyDialogControllerV2, never())
            .showDialog(any(Context::class.java), any(OngoingPrivacyChip::class.java))
            .showDialog(any<Context>(), any<OngoingPrivacyChip>())
    }

    @Test
@@ -196,11 +192,11 @@ class HeaderPrivacyIconsControllerTest : SysuiTestCase() {
        whenever(safetyCenterManager.isSafetyCenterEnabled).thenReturn(false)
        controller.onParentVisible()
        val captor = argumentCaptor<View.OnClickListener>()
        verify(privacyChip).setOnClickListener(capture(captor))
        captor.value.onClick(privacyChip)
        verify(privacyDialogController).showDialog(any(Context::class.java))
        verify(privacyChip).setOnClickListener(captor.capture())
        captor.firstValue.onClick(privacyChip)
        verify(privacyDialogController).showDialog(any<Context>())
        verify(privacyDialogControllerV2, never())
                .showDialog(any(Context::class.java), any(OngoingPrivacyChip::class.java))
                .showDialog(any<Context>(), any<OngoingPrivacyChip>())
    }

    @Test
@@ -208,20 +204,20 @@ class HeaderPrivacyIconsControllerTest : SysuiTestCase() {
        whenever(featureFlags.isEnabled(Flags.ENABLE_NEW_PRIVACY_DIALOG)).thenReturn(false)
        val receiverCaptor = argumentCaptor<BroadcastReceiver>()
        whenever(safetyCenterManager.isSafetyCenterEnabled).thenReturn(true)
        verify(broadcastDispatcher).registerReceiver(capture(receiverCaptor),
                any(), any(), nullable(), anyInt(), nullable())
        receiverCaptor.value.onReceive(
        verify(broadcastDispatcher).registerReceiver(receiverCaptor.capture(),
                any(), any(), anyOrNull(), any<Int>(), anyOrNull())
        receiverCaptor.firstValue.onReceive(
                context,
                Intent(SafetyCenterManager.ACTION_SAFETY_CENTER_ENABLED_CHANGED)
        )
        backgroundExecutor.runAllReady()
        controller.onParentVisible()
        val captor = argumentCaptor<View.OnClickListener>()
        verify(privacyChip).setOnClickListener(capture(captor))
        captor.value.onClick(privacyChip)
        verify(privacyDialogController, never()).showDialog(any(Context::class.java))
        verify(privacyChip).setOnClickListener(captor.capture())
        captor.firstValue.onClick(privacyChip)
        verify(privacyDialogController, never()).showDialog(any<Context>())
        verify(privacyDialogControllerV2, never())
            .showDialog(any(Context::class.java), any(OngoingPrivacyChip::class.java))
            .showDialog(any<Context>(), any<OngoingPrivacyChip>())
    }

    @Test
@@ -229,19 +225,19 @@ class HeaderPrivacyIconsControllerTest : SysuiTestCase() {
        whenever(featureFlags.isEnabled(Flags.ENABLE_NEW_PRIVACY_DIALOG)).thenReturn(true)
        val receiverCaptor = argumentCaptor<BroadcastReceiver>()
        whenever(safetyCenterManager.isSafetyCenterEnabled).thenReturn(true)
        verify(broadcastDispatcher).registerReceiver(capture(receiverCaptor),
                any(), any(), nullable(), anyInt(), nullable())
        receiverCaptor.value.onReceive(
        verify(broadcastDispatcher).registerReceiver(receiverCaptor.capture(),
                any(), any(), anyOrNull(), any<Int>(), anyOrNull())
        receiverCaptor.firstValue.onReceive(
                context,
                Intent(SafetyCenterManager.ACTION_SAFETY_CENTER_ENABLED_CHANGED)
        )
        backgroundExecutor.runAllReady()
        controller.onParentVisible()
        val captor = argumentCaptor<View.OnClickListener>()
        verify(privacyChip).setOnClickListener(capture(captor))
        captor.value.onClick(privacyChip)
        verify(privacyDialogControllerV2).showDialog(any(Context::class.java), eq(privacyChip))
        verify(privacyDialogController, never()).showDialog(any(Context::class.java))
        verify(privacyChip).setOnClickListener(captor.capture())
        captor.firstValue.onClick(privacyChip)
        verify(privacyDialogControllerV2).showDialog(any<Context>(), eq(privacyChip))
        verify(privacyDialogController, never()).showDialog(any<Context>())
    }

    @Test
@@ -250,7 +246,7 @@ class HeaderPrivacyIconsControllerTest : SysuiTestCase() {
        controller.attachStateChangeListener.onViewDetachedFromWindow(privacyChip)
        backgroundExecutor.runAllReady()
        val broadcastReceiverCaptor = argumentCaptor<BroadcastReceiver>()
        verify(broadcastDispatcher).unregisterReceiver(capture(broadcastReceiverCaptor))
        verify(broadcastDispatcher).unregisterReceiver(broadcastReceiverCaptor.capture())
    }

    @Test
@@ -262,8 +258,8 @@ class HeaderPrivacyIconsControllerTest : SysuiTestCase() {
        val intentFilterCaptor = argumentCaptor<IntentFilter>()
        // Broadcast receiver is registered on init and when privacy chip is attached
        verify(broadcastDispatcher, times(2)).registerReceiver(
            capture(broadcastReceiverCaptor),
            capture(intentFilterCaptor), any(), nullable(), anyInt(), nullable()
            broadcastReceiverCaptor.capture(),
            intentFilterCaptor.capture(), any(), anyOrNull(), any<Int>(), anyOrNull()
        )
    }

@@ -273,10 +269,10 @@ class HeaderPrivacyIconsControllerTest : SysuiTestCase() {
        controller.onParentVisible()

        val captor = argumentCaptor<View.OnClickListener>()
        verify(privacyChip).setOnClickListener(capture(captor))
        verify(privacyChip).setOnClickListener(captor.capture())

        captor.value.onClick(privacyChip)
        verify(privacyDialogController, never()).showDialog(any(Context::class.java))
        captor.firstValue.onClick(privacyChip)
        verify(privacyDialogController, never()).showDialog(any<Context>())
    }

    @Test