diff options
| author | Jonatan Rhodin <jonatan.rhodin@mullvad.net> | 2023-05-29 13:20:32 +0200 |
|---|---|---|
| committer | Jonatan Rhodin <jonatan.rhodin@mullvad.net> | 2023-06-09 10:31:21 +0200 |
| commit | f220345dc31a298e4734b985d785cfdd24f03bea (patch) | |
| tree | 5a61991627ade27df670c5932941a5cc50d57b65 /android/app/src/test | |
| parent | a298585757ad1c8e6c65cb405db9ce9a31dd0b33 (diff) | |
| download | mullvadvpn-f220345dc31a298e4734b985d785cfdd24f03bea.tar.xz mullvadvpn-f220345dc31a298e4734b985d785cfdd24f03bea.zip | |
Replace ApplicationImageView with compose implementation
Diffstat (limited to 'android/app/src/test')
| -rw-r--r-- | android/app/src/test/kotlin/net/mullvad/mullvadvpn/applist/ApplicationsIconManagerTest.kt | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/applist/ApplicationsIconManagerTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/applist/ApplicationsIconManagerTest.kt index 8db700f452..3e26a37c2c 100644 --- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/applist/ApplicationsIconManagerTest.kt +++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/applist/ApplicationsIconManagerTest.kt @@ -1,8 +1,10 @@ package net.mullvad.mullvadvpn.applist import android.content.pm.PackageManager +import android.graphics.Bitmap import android.graphics.drawable.Drawable import android.os.Looper +import androidx.core.graphics.drawable.toBitmap import io.mockk.every import io.mockk.mockk import io.mockk.mockkStatic @@ -22,6 +24,7 @@ class ApplicationsIconManagerTest { @Before fun setUp() { mockkStatic(Looper::class) + mockkStatic(DRAWABLE_EXTENSION_CLASS) every { Looper.getMainLooper() } returns mockedMainLooper } @@ -33,13 +36,16 @@ class ApplicationsIconManagerTest { @Test fun test_first_time_load_icon_from_PM() { val testPackageName = "test" - val mockedDrawable = mockk<Drawable>() + val mockedBitmap = mockk<Bitmap>() + val mockedDrawable = mockk<Drawable>().apply { every { toBitmap() } returns mockedBitmap } every { mockedPackageManager.getApplicationIcon(testPackageName) } returns mockedDrawable every { mockedMainLooper.isCurrentThread } returns false + every { mockedDrawable.intrinsicWidth } returns 0 + every { mockedDrawable.intrinsicHeight } returns 0 val result = testSubject.getAppIcon(testPackageName) - assertEquals(mockedDrawable, result) + assertEquals(mockedBitmap, result) verify { mockedMainLooper.isCurrentThread mockedPackageManager.getApplicationIcon(testPackageName) @@ -49,15 +55,18 @@ class ApplicationsIconManagerTest { @Test fun test_second_time_load_icon_from_cache() { val testPackageName = "test" - val mockedDrawable = mockk<Drawable>() + val mockedBitmap = mockk<Bitmap>() + val mockedDrawable = mockk<Drawable>().apply { every { toBitmap() } returns mockedBitmap } every { mockedPackageManager.getApplicationIcon(testPackageName) } returns mockedDrawable every { mockedMainLooper.isCurrentThread } returns false + every { mockedDrawable.intrinsicWidth } returns 0 + every { mockedDrawable.intrinsicHeight } returns 0 val result = testSubject.getAppIcon(testPackageName) val result2 = testSubject.getAppIcon(testPackageName) - assertEquals(mockedDrawable, result) - assertEquals(mockedDrawable, result2) + assertEquals(mockedBitmap, result) + assertEquals(mockedBitmap, result2) verify(exactly = 2) { mockedMainLooper.isCurrentThread } verify(exactly = 1) { mockedPackageManager.getApplicationIcon(testPackageName) } } @@ -65,16 +74,19 @@ class ApplicationsIconManagerTest { @Test fun test_second_time_load_icon_from_PM_after_clear() { val testPackageName = "test" - val mockedDrawable = mockk<Drawable>() + val mockedBitmap = mockk<Bitmap>() + val mockedDrawable = mockk<Drawable>().apply { every { toBitmap() } returns mockedBitmap } every { mockedPackageManager.getApplicationIcon(testPackageName) } returns mockedDrawable every { mockedMainLooper.isCurrentThread } returns false + every { mockedDrawable.intrinsicWidth } returns 0 + every { mockedDrawable.intrinsicHeight } returns 0 val result = testSubject.getAppIcon(testPackageName) testSubject.dispose() val result2 = testSubject.getAppIcon(testPackageName) - assertEquals(mockedDrawable, result) - assertEquals(mockedDrawable, result2) + assertEquals(mockedBitmap, result) + assertEquals(mockedBitmap, result2) verify(exactly = 2) { mockedMainLooper.isCurrentThread mockedPackageManager.getApplicationIcon(testPackageName) @@ -91,4 +103,8 @@ class ApplicationsIconManagerTest { } verify { mockedMainLooper.isCurrentThread } } + + companion object { + private const val DRAWABLE_EXTENSION_CLASS = "androidx.core.graphics.drawable.DrawableKt" + } } |
