OSDN Git Service

Fix remaining unit tests
authorBraden Farmer <farmerbb@gmail.com>
Fri, 1 Oct 2021 05:18:17 +0000 (23:18 -0600)
committerBraden Farmer <farmerbb@gmail.com>
Fri, 1 Oct 2021 05:18:50 +0000 (23:18 -0600)
app/src/test/java/com/farmerbb/taskbar/ui/UIHostServiceTest.kt
app/src/test/java/com/farmerbb/taskbar/util/UTest.kt

index 973414e..5d67329 100644 (file)
@@ -39,7 +39,18 @@ class UIHostServiceTest {
     @Test
     fun testOnConfigurationChanged() {
         Assert.assertNull(uiController.onRecreateHost)
-        hostService.onConfigurationChanged(Configuration())
+
+        val newConfig = Configuration().apply {
+            smallestScreenWidthDp = 123
+            screenHeightDp = 456
+            screenWidthDp = 789
+        }
+
+        val config = uiController.context.resources.configuration.apply {
+            updateFrom(newConfig)
+        }
+
+        hostService.onConfigurationChanged(config)
         Assert.assertEquals(hostService, uiController.onRecreateHost)
     }
 
index 076a736..b767481 100644 (file)
@@ -411,20 +411,29 @@ class UTest {
     }
 
     @Test
-    fun testGetActivityOptionsWithPAndAboveVersion() {
-        testGetActivityOptions(0, 5, 1)
+    fun testGetActivityOptionsWithQAndAboveVersion() {
+        testGetActivityOptions(0, 5, 1, 1)
+    }
+
+    @Test
+    @Config(sdk = [28])
+    fun testGetActivityOptionsWithP() {
+        // The stack id isn't changed from the default on Chrome OS with Android P
+        val stackId = getActivityOptionsStackId(ActivityOptions.makeBasic())
+        testGetActivityOptions(0, 5, 1, stackId)
     }
 
     @Test
     @Config(sdk = [27])
     fun testGetActivityOptionsWithPBelowVersion() {
-        testGetActivityOptions(-1, 2, -1)
+        testGetActivityOptions(-1, 2, -1, -1)
     }
 
     private fun testGetActivityOptions(
         defaultStackId: Int,
         freeformStackId: Int,
-        stackIdWithoutBrokenApi: Int
+        stackIdWithoutBrokenApi: Int,
+        chromeOsStackId: Int
     ) {
         PowerMockito.spy(U::class.java)
         val hasBrokenSetLaunchBoundsApiAnswer = BooleanAnswer()
@@ -461,7 +470,7 @@ class UTest {
         isChromeOsAnswer.answer = false
         checkActivityOptionsStackIdForContextMenu(context, stackIdWithoutBrokenApi)
         isChromeOsAnswer.answer = true
-        checkActivityOptionsStackIdForContextMenu(context, -1)
+        checkActivityOptionsStackIdForContextMenu(context, chromeOsStackId)
     }
 
     private fun checkActivityOptionsStackIdForContextMenu(
@@ -686,6 +695,18 @@ class UTest {
     fun testIsOverridingFreeformHackForChromeOS() {
         PowerMockito.spy(U::class.java)
         PowerMockito.`when`(U.isChromeOs(context)).thenReturn(true)
+        Assert.assertFalse(U.isOverridingFreeformHack(context, true))
+        val prefs = U.getSharedPreferences(context)
+        prefs.edit().putBoolean(Constants.PREF_FREEFORM_HACK, true).apply()
+        Assert.assertTrue(U.isOverridingFreeformHack(context, true))
+        prefs.edit().remove(Constants.PREF_FREEFORM_HACK).apply()
+    }
+
+    @Test
+    @Config(sdk = [28])
+    fun testIsOverridingFreeformHackForChromeOSApi28() {
+        PowerMockito.spy(U::class.java)
+        PowerMockito.`when`(U.isChromeOs(context)).thenReturn(true)
         // Check preferences
         Assert.assertFalse(U.isOverridingFreeformHack(context, true))
         val prefs = U.getSharedPreferences(context)