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

Commit 4265fe64 authored by Matthew Reynolds's avatar Matthew Reynolds
Browse files

Changed utils tests to support Robolectric

Flag: NA
Bug: 337673947
Test: tested manually with atest
Change-Id: Ie7a376fd018d279bcbe55a45c590bbb2ec34f515
parent bb8198e8
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -78,11 +78,23 @@ filegroup {
    visibility: ["//visibility:private"],
}

filegroup {
    name: "SystemUI-tests-broken-robofiles-run",
    srcs: [
        "tests/src/**/systemui/util/LifecycleFragmentTest.java",
        "tests/src/**/systemui/util/TestableAlertDialogTest.kt",
        "tests/src/**/systemui/util/kotlin/PairwiseFlowTest",
        "tests/src/**/systemui/util/sensors/AsyncManagerTest.java",
        "tests/src/**/systemui/util/sensors/ThresholdSensorImplTest.java",
        "tests/src/**/systemui/util/wakelock/KeepAwakeAnimationListenerTest.java",
    ],
}

// We are running robolectric tests in the tests directory as well as
// multivalent tests.  If you add a test, and it doesn't run in robolectric,
// it should be added to this exclusion list. go/multivalent-tests
filegroup {
    name: "SystemUI-tests-broken-robofiles",
    name: "SystemUI-tests-broken-robofiles-compile",
    srcs: [
        "tests/src/**/*DeviceOnlyTest.java",
        "tests/src/**/*DeviceOnlyTest.kt",
@@ -700,7 +712,8 @@ android_robolectric_test {
        ":SystemUI-tests-robofiles",
    ],
    exclude_srcs: [
        ":SystemUI-tests-broken-robofiles",
        ":SystemUI-tests-broken-robofiles-compile",
        ":SystemUI-tests-broken-robofiles-run",
    ],
    static_libs: [
        "RoboTestLibraries",
+7 −8
Original line number Diff line number Diff line
package com.android.systemui.util

import android.graphics.Rect
import android.testing.AndroidTestingRunner
import android.testing.TestableLooper
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.wm.shell.common.FloatingContentCoordinator
@@ -14,7 +14,7 @@ import org.junit.Test
import org.junit.runner.RunWith

@TestableLooper.RunWithLooper
@RunWith(AndroidTestingRunner::class)
@RunWith(AndroidJUnit4::class)
@SmallTest
class FloatingContentCoordinatorTest : SysuiTestCase() {

@@ -198,12 +198,11 @@ class FloatingContentCoordinatorTest : SysuiTestCase() {
    }

    /**
     * Helper class that uses [floatingCoordinator.findAreaForContentVertically] to move a
     * Rect when needed.
     * Helper class that uses [floatingCoordinator.findAreaForContentVertically] to move a Rect when
     * needed.
     */
    inner class FloatingRect(
        private val underlyingRect: Rect
    ) : FloatingContentCoordinator.FloatingContent {
    inner class FloatingRect(private val underlyingRect: Rect) :
        FloatingContentCoordinator.FloatingContent {
        override fun moveToBounds(bounds: Rect) {
            underlyingRect.set(bounds)
        }
+12 −17
Original line number Diff line number Diff line
@@ -19,12 +19,13 @@ package com.android.systemui.util
import android.content.BroadcastReceiver
import android.content.IntentFilter
import android.os.UserHandle
import android.testing.AndroidTestingRunner
import android.testing.TestableLooper
import androidx.lifecycle.Observer
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.broadcast.BroadcastDispatcher
import java.util.concurrent.Executor
import org.junit.After
import org.junit.Assert.assertTrue
import org.junit.Before
@@ -38,10 +39,9 @@ import org.mockito.Mockito.anyInt
import org.mockito.Mockito.verify
import org.mockito.Mockito.verifyNoMoreInteractions
import org.mockito.MockitoAnnotations
import java.util.concurrent.Executor

@SmallTest
@RunWith(AndroidTestingRunner::class)
@RunWith(AndroidJUnit4::class)
@TestableLooper.RunWithLooper(setAsMainLooper = true)
class RingerModeLiveDataTest : SysuiTestCase() {

@@ -52,16 +52,11 @@ class RingerModeLiveDataTest : SysuiTestCase() {
        private val INTENT = "INTENT"
    }

    @Mock
    private lateinit var broadcastDispatcher: BroadcastDispatcher
    @Mock
    private lateinit var valueSupplier: () -> Int
    @Mock
    private lateinit var observer: Observer<Int>
    @Captor
    private lateinit var broadcastReceiverCaptor: ArgumentCaptor<BroadcastReceiver>
    @Captor
    private lateinit var intentFilterCaptor: ArgumentCaptor<IntentFilter>
    @Mock private lateinit var broadcastDispatcher: BroadcastDispatcher
    @Mock private lateinit var valueSupplier: () -> Int
    @Mock private lateinit var observer: Observer<Int>
    @Captor private lateinit var broadcastReceiverCaptor: ArgumentCaptor<BroadcastReceiver>
    @Captor private lateinit var intentFilterCaptor: ArgumentCaptor<IntentFilter>

    // Run everything immediately
    private val executor = Executor { it.run() }
@@ -94,8 +89,8 @@ class RingerModeLiveDataTest : SysuiTestCase() {
    @Test
    fun testOnActive_intentFilterHasIntent() {
        liveData.observeForever(observer)
        verify(broadcastDispatcher).registerReceiver(any(), capture(intentFilterCaptor), any(),
                any(), anyInt(), any())
        verify(broadcastDispatcher)
            .registerReceiver(any(), capture(intentFilterCaptor), any(), any(), anyInt(), any())
        assertTrue(intentFilterCaptor.value.hasAction(INTENT))
    }

+14 −22
Original line number Diff line number Diff line
@@ -19,10 +19,10 @@ package com.android.systemui.util
import android.app.WallpaperInfo
import android.app.WallpaperManager
import android.os.IBinder
import android.testing.AndroidTestingRunner
import android.testing.TestableLooper.RunWithLooper
import android.view.View
import android.view.ViewRootImpl
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.util.mockito.eq
@@ -32,36 +32,30 @@ import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.Mockito.`when`
import org.mockito.Mockito.any
import org.mockito.Mockito.anyFloat
import org.mockito.Mockito.clearInvocations
import org.mockito.Mockito.doThrow
import org.mockito.Mockito.times
import org.mockito.Mockito.verify
import org.mockito.Mockito.mock
import org.mockito.Mockito.never
import org.mockito.Mockito.times
import org.mockito.Mockito.verify
import org.mockito.Mockito.`when` as whenever
import org.mockito.Mockito.`when`
import org.mockito.junit.MockitoJUnit

@RunWith(AndroidTestingRunner::class)
@RunWith(AndroidJUnit4::class)
@RunWithLooper
@SmallTest
class WallpaperControllerTest : SysuiTestCase() {

    @Mock
    private lateinit var wallpaperManager: WallpaperManager
    @Mock
    private lateinit var root: View
    @Mock
    private lateinit var viewRootImpl: ViewRootImpl
    @Mock
    private lateinit var windowToken: IBinder
    @Mock private lateinit var wallpaperManager: WallpaperManager
    @Mock private lateinit var root: View
    @Mock private lateinit var viewRootImpl: ViewRootImpl
    @Mock private lateinit var windowToken: IBinder
    private val wallpaperRepository = FakeWallpaperRepository()

    @JvmField
    @Rule
    val mockitoRule = MockitoJUnit.rule()
    @JvmField @Rule val mockitoRule = MockitoJUnit.rule()

    private lateinit var wallaperController: WallpaperController

@@ -92,9 +86,7 @@ class WallpaperControllerTest : SysuiTestCase() {

    @Test
    fun setUnfoldTransitionZoom_defaultUnfoldTransitionIsDisabled_doesNotUpdateWallpaperZoom() {
        wallpaperRepository.wallpaperInfo.value = createWallpaperInfo(
            useDefaultTransition = false
        )
        wallpaperRepository.wallpaperInfo.value = createWallpaperInfo(useDefaultTransition = false)

        wallaperController.setUnfoldTransitionZoom(0.5f)

@@ -130,7 +122,8 @@ class WallpaperControllerTest : SysuiTestCase() {

    @Test
    fun setNotificationZoom_exceptionWhenUpdatingZoom_doesNotFail() {
        doThrow(IllegalArgumentException("test exception")).`when`(wallpaperManager)
        doThrow(IllegalArgumentException("test exception"))
            .`when`(wallpaperManager)
            .setWallpaperZoomOut(any(), anyFloat())

        wallaperController.setNotificationShadeZoom(0.5f)
@@ -140,8 +133,7 @@ class WallpaperControllerTest : SysuiTestCase() {

    private fun createWallpaperInfo(useDefaultTransition: Boolean = true): WallpaperInfo {
        val info = mock(WallpaperInfo::class.java)
        whenever(info.shouldUseDefaultUnfoldTransition())
            .thenReturn(useDefaultTransition)
        whenever(info.shouldUseDefaultUnfoldTransition()).thenReturn(useDefaultTransition)
        return info
    }
}
+4 −1
Original line number Diff line number Diff line
@@ -16,13 +16,16 @@

package com.android.systemui.util.animation

import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import java.lang.IllegalArgumentException
import org.junit.runner.RunWith
import org.junit.Test

@SmallTest
@RunWith(AndroidJUnit4::class)
class AnimationUtilTest : SysuiTestCase() {
    @Test
    fun getMsForFrames_5frames_returns83() {
Loading