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

Commit 21715076 authored by Matthew Reynolds's avatar Matthew Reynolds Committed by Android (Google) Code Review
Browse files

Merge "Changed utils tests to support Robolectric" into main

parents f370cc79 4265fe64
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",
@@ -703,7 +715,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