For #12980 - Clear icons when deleting browsing data

pull/35/head
Mugurell 4 years ago committed by Mihai Adrian Carare
parent aa7283def9
commit acdef76b71

@ -26,6 +26,7 @@ fun deleteAndQuit(activity: Activity, coroutineScope: CoroutineScope, snackbar:
activity.components.useCases.tabsUseCases.removeAllTabs,
activity.components.core.historyStorage,
activity.components.core.permissionStorage,
activity.components.core.icons,
activity.components.core.engine,
coroutineContext
)

@ -6,6 +6,7 @@ package org.mozilla.fenix.settings.deletebrowsingdata
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import mozilla.components.browser.icons.BrowserIcons
import mozilla.components.concept.engine.Engine
import mozilla.components.concept.storage.HistoryStorage
import mozilla.components.feature.tabs.TabsUseCases
@ -24,6 +25,7 @@ class DefaultDeleteBrowsingDataController(
private val removeAllTabs: TabsUseCases.RemoveAllTabsUseCase,
private val historyStorage: HistoryStorage,
private val permissionStorage: PermissionStorage,
private val iconsStorage: BrowserIcons,
private val engine: Engine,
private val coroutineContext: CoroutineContext = Dispatchers.Main
) : DeleteBrowsingDataController {
@ -38,6 +40,7 @@ class DefaultDeleteBrowsingDataController(
withContext(coroutineContext) {
engine.clearData(Engine.BrowsingData.select(Engine.BrowsingData.DOM_STORAGES))
historyStorage.deleteEverything()
iconsStorage.clear()
}
}

@ -45,6 +45,7 @@ class DeleteBrowsingDataFragment : Fragment(R.layout.fragment_delete_browsing_da
requireContext().components.useCases.tabsUseCases.removeAllTabs,
requireContext().components.core.historyStorage,
requireContext().components.core.permissionStorage,
requireContext().components.core.icons,
requireContext().components.core.engine
)
settings = requireContext().settings()

@ -4,13 +4,15 @@
package org.mozilla.fenix.settings.deletebrowsingdata
import io.mockk.coVerify
import io.mockk.mockk
import io.mockk.spyk
import io.mockk.verify
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.GlobalScope.coroutineContext
import kotlinx.coroutines.launch
import kotlinx.coroutines.test.TestCoroutineDispatcher
import kotlinx.coroutines.test.runBlockingTest
import mozilla.components.browser.icons.BrowserIcons
import mozilla.components.concept.engine.Engine
import mozilla.components.concept.storage.HistoryStorage
import mozilla.components.feature.tabs.TabsUseCases
@ -29,6 +31,7 @@ class DefaultDeleteBrowsingDataControllerTest {
private var removeAllTabs: TabsUseCases.RemoveAllTabsUseCase = mockk(relaxed = true)
private var historyStorage: HistoryStorage = mockk(relaxed = true)
private var permissionStorage: PermissionStorage = mockk(relaxed = true)
private var iconsStorage: BrowserIcons = mockk(relaxed = true)
private val engine: Engine = mockk(relaxed = true)
private lateinit var controller: DefaultDeleteBrowsingDataController
@ -38,6 +41,7 @@ class DefaultDeleteBrowsingDataControllerTest {
removeAllTabs = removeAllTabs,
historyStorage = historyStorage,
permissionStorage = permissionStorage,
iconsStorage = iconsStorage,
engine = engine,
coroutineContext = coroutineContext
)
@ -55,12 +59,14 @@ class DefaultDeleteBrowsingDataControllerTest {
@Test
fun deleteBrowsingData() = runBlockingTest {
controller = spyk(controller)
controller.deleteBrowsingData()
verify {
coVerify {
engine.clearData(Engine.BrowsingData.select(Engine.BrowsingData.DOM_STORAGES))
historyStorage.deleteEverything()
iconsStorage.clear()
}
verify { launch { historyStorage.deleteEverything() } }
}
@Test

@ -6,6 +6,7 @@
package org.mozilla.fenix.settings.deletebrowsingdata
import io.mockk.coVerify
import io.mockk.every
import io.mockk.mockk
import io.mockk.verify
@ -13,6 +14,7 @@ import io.mockk.verifyOrder
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestCoroutineDispatcher
import kotlinx.coroutines.test.runBlockingTest
import mozilla.components.browser.icons.BrowserIcons
import mozilla.components.browser.storage.sync.PlacesHistoryStorage
import mozilla.components.concept.engine.Engine
import mozilla.components.feature.tabs.TabsUseCases
@ -41,6 +43,7 @@ class DeleteAndQuitTest {
private val tabUseCases: TabsUseCases = mockk(relaxed = true)
private val historyStorage: PlacesHistoryStorage = mockk(relaxed = true)
private val permissionStorage: PermissionStorage = mockk(relaxed = true)
private val iconsStorage: BrowserIcons = mockk()
private val engine: Engine = mockk(relaxed = true)
private val removeAllTabsUseCases: TabsUseCases.RemoveAllTabsUseCase = mockk(relaxed = true)
private val snackbar = mockk<FenixSnackbar>(relaxed = true)
@ -53,6 +56,7 @@ class DeleteAndQuitTest {
every { tabUseCases.removeAllTabs } returns removeAllTabsUseCases
every { activity.components.core.engine } returns engine
every { activity.components.settings } returns settings
every { activity.components.core.icons } returns iconsStorage
}
@Test
@ -69,8 +73,6 @@ class DeleteAndQuitTest {
}
verify(exactly = 0) {
historyStorage
engine.clearData(
Engine.BrowsingData.select(
Engine.BrowsingData.COOKIES
@ -81,6 +83,11 @@ class DeleteAndQuitTest {
engine.clearData(Engine.BrowsingData.allCaches())
}
coVerify(exactly = 0) {
historyStorage.deleteEverything()
iconsStorage.clear()
}
}
@Ignore("Intermittently failing; will be fixed with #5406.")
@ -115,9 +122,12 @@ class DeleteAndQuitTest {
engine.clearData(Engine.BrowsingData.select(Engine.BrowsingData.DOM_STORAGES))
historyStorage
activity.finish()
}
coVerify {
historyStorage.deleteEverything()
iconsStorage.clear()
}
}
}

Loading…
Cancel
Save