summaryrefslogtreecommitdiffhomepage
path: root/android/app/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'android/app/src/test')
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/applist/ApplicationsIconManagerTest.kt110
1 files changed, 0 insertions, 110 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
deleted file mode 100644
index 3296243c56..0000000000
--- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/applist/ApplicationsIconManagerTest.kt
+++ /dev/null
@@ -1,110 +0,0 @@
-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
-import io.mockk.unmockkAll
-import io.mockk.verify
-import kotlin.test.assertEquals
-import kotlin.test.assertFails
-import org.junit.jupiter.api.AfterEach
-import org.junit.jupiter.api.BeforeEach
-import org.junit.jupiter.api.Test
-
-class ApplicationsIconManagerTest {
- private val mockedPackageManager = mockk<PackageManager>()
- private val mockedMainLooper = mockk<Looper>()
- private val testSubject = ApplicationsIconManager(mockedPackageManager)
-
- @BeforeEach
- fun setUp() {
- mockkStatic(Looper::class)
- mockkStatic(DRAWABLE_EXTENSION_CLASS)
- every { Looper.getMainLooper() } returns mockedMainLooper
- }
-
- @AfterEach
- fun tearDown() {
- unmockkAll()
- }
-
- @Test
- fun test_first_time_load_icon_from_PM() {
- val testPackageName = "test"
- 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(mockedBitmap, result)
- verify {
- mockedMainLooper.isCurrentThread
- mockedPackageManager.getApplicationIcon(testPackageName)
- }
- }
-
- @Test
- fun test_second_time_load_icon_from_cache() {
- val testPackageName = "test"
- 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(mockedBitmap, result)
- assertEquals(mockedBitmap, result2)
- verify(exactly = 2) { mockedMainLooper.isCurrentThread }
- verify(exactly = 1) { mockedPackageManager.getApplicationIcon(testPackageName) }
- }
-
- @Test
- fun test_second_time_load_icon_from_PM_after_clear() {
- val testPackageName = "test"
- 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(mockedBitmap, result)
- assertEquals(mockedBitmap, result2)
- verify(exactly = 2) {
- mockedMainLooper.isCurrentThread
- mockedPackageManager.getApplicationIcon(testPackageName)
- }
- }
-
- @Test
- fun test_throw_exception_when_invoke_from_MainThread() {
- val testPackageName = "test"
- every { mockedMainLooper.isCurrentThread } returns true
-
- assertFails("Should not be called from MainThread") {
- testSubject.getAppIcon(testPackageName)
- }
- verify { mockedMainLooper.isCurrentThread }
- }
-
- companion object {
- private const val DRAWABLE_EXTENSION_CLASS = "androidx.core.graphics.drawable.DrawableKt"
- }
-}