2019-07-12 20:38:15 +02:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
2019-06-08 21:12:44 +02:00
|
|
|
|
|
|
|
package org.mozilla.fenix.utils
|
|
|
|
|
2020-04-01 23:00:32 +02:00
|
|
|
import org.mozilla.fenix.helpers.FenixRobolectricTestRunner
|
2019-06-08 21:12:44 +02:00
|
|
|
import mozilla.components.feature.sitepermissions.SitePermissionsRules
|
2020-02-25 16:36:19 +01:00
|
|
|
import mozilla.components.feature.sitepermissions.SitePermissionsRules.Action.ALLOWED
|
2019-06-08 21:12:44 +02:00
|
|
|
import mozilla.components.feature.sitepermissions.SitePermissionsRules.Action.ASK_TO_ALLOW
|
|
|
|
import mozilla.components.feature.sitepermissions.SitePermissionsRules.Action.BLOCKED
|
2020-02-25 16:36:19 +01:00
|
|
|
import mozilla.components.feature.sitepermissions.SitePermissionsRules.AutoplayAction
|
2019-06-08 21:12:44 +02:00
|
|
|
import mozilla.components.support.test.robolectric.testContext
|
|
|
|
import org.junit.Assert.assertEquals
|
|
|
|
import org.junit.Assert.assertFalse
|
|
|
|
import org.junit.Assert.assertTrue
|
|
|
|
import org.junit.Before
|
|
|
|
import org.junit.Test
|
|
|
|
import org.junit.runner.RunWith
|
|
|
|
import org.mozilla.fenix.ext.clearAndCommit
|
2019-09-10 19:11:58 +02:00
|
|
|
import org.mozilla.fenix.ext.settings
|
2019-08-21 17:38:14 +02:00
|
|
|
import org.mozilla.fenix.settings.PhoneFeature
|
2019-10-02 21:11:21 +02:00
|
|
|
import org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataOnQuitType
|
2019-06-08 21:12:44 +02:00
|
|
|
|
2020-04-01 23:00:32 +02:00
|
|
|
@RunWith(FenixRobolectricTestRunner::class)
|
2019-06-08 21:12:44 +02:00
|
|
|
class SettingsTest {
|
|
|
|
|
|
|
|
lateinit var settings: Settings
|
|
|
|
|
|
|
|
@Before
|
|
|
|
fun setUp() {
|
2019-09-24 19:33:46 +02:00
|
|
|
settings = testContext.settings().apply(Settings::clear)
|
2019-06-08 21:12:44 +02:00
|
|
|
}
|
|
|
|
|
2019-09-18 18:47:30 +02:00
|
|
|
@Test
|
2019-10-02 21:11:21 +02:00
|
|
|
fun launchLinksInPrivateTab() {
|
2019-09-18 18:47:30 +02:00
|
|
|
// When just created
|
|
|
|
// Then
|
2019-10-03 21:43:33 +02:00
|
|
|
assertFalse(settings.openLinksInAPrivateTab)
|
2019-09-18 18:47:30 +02:00
|
|
|
|
|
|
|
// When
|
2019-10-03 21:43:33 +02:00
|
|
|
settings.openLinksInAPrivateTab = true
|
2019-09-18 18:47:30 +02:00
|
|
|
|
|
|
|
// Then
|
2019-10-03 21:43:33 +02:00
|
|
|
assertTrue(settings.openLinksInAPrivateTab)
|
2019-09-18 18:47:30 +02:00
|
|
|
}
|
|
|
|
|
2019-09-10 22:29:21 +02:00
|
|
|
@Test
|
|
|
|
fun clearDataOnQuit() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
|
|
|
assertFalse(settings.shouldDeleteBrowsingDataOnQuit)
|
|
|
|
|
|
|
|
// When
|
|
|
|
settings.shouldDeleteBrowsingDataOnQuit = true
|
|
|
|
|
|
|
|
// Then
|
|
|
|
assertTrue(settings.shouldDeleteBrowsingDataOnQuit)
|
|
|
|
|
|
|
|
// When
|
|
|
|
settings.shouldDeleteBrowsingDataOnQuit = false
|
|
|
|
|
|
|
|
// Then
|
|
|
|
assertFalse(settings.shouldDeleteBrowsingDataOnQuit)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun clearAnyDataOnQuit() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
|
|
|
assertFalse(settings.shouldDeleteAnyDataOnQuit())
|
|
|
|
|
|
|
|
// When
|
2019-09-14 21:35:17 +02:00
|
|
|
settings.setDeleteDataOnQuit(DeleteBrowsingDataOnQuitType.TABS, true)
|
2019-09-10 22:29:21 +02:00
|
|
|
|
|
|
|
// Then
|
|
|
|
assertTrue(settings.shouldDeleteAnyDataOnQuit())
|
|
|
|
|
|
|
|
// When
|
2019-09-14 21:35:17 +02:00
|
|
|
settings.setDeleteDataOnQuit(DeleteBrowsingDataOnQuitType.PERMISSIONS, true)
|
2019-09-10 22:29:21 +02:00
|
|
|
|
|
|
|
// Then
|
|
|
|
assertTrue(settings.shouldDeleteAnyDataOnQuit())
|
|
|
|
|
|
|
|
// When
|
2019-09-14 21:35:17 +02:00
|
|
|
settings.setDeleteDataOnQuit(DeleteBrowsingDataOnQuitType.TABS, false)
|
|
|
|
settings.setDeleteDataOnQuit(DeleteBrowsingDataOnQuitType.PERMISSIONS, false)
|
2019-09-10 22:29:21 +02:00
|
|
|
|
|
|
|
// Then
|
|
|
|
assertFalse(settings.shouldDeleteAnyDataOnQuit())
|
|
|
|
}
|
|
|
|
|
2019-06-08 21:12:44 +02:00
|
|
|
@Test
|
|
|
|
fun defaultSearchEngineName() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
|
|
|
assertEquals("", settings.defaultSearchEngineName)
|
|
|
|
|
|
|
|
// When
|
2019-08-20 19:47:55 +02:00
|
|
|
settings.defaultSearchEngineName = "Mozilla"
|
2019-06-08 21:12:44 +02:00
|
|
|
|
|
|
|
// Then
|
|
|
|
assertEquals("Mozilla", settings.defaultSearchEngineName)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun isCrashReportingEnabled_enabledInBuild() {
|
|
|
|
// When
|
|
|
|
clearExistingInstance()
|
2019-09-10 19:11:58 +02:00
|
|
|
val settings = testContext.settings(true)
|
2019-06-08 21:12:44 +02:00
|
|
|
.apply(Settings::clear)
|
|
|
|
|
|
|
|
// Then
|
|
|
|
assertTrue(settings.isCrashReportingEnabled)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun isCrashReportingEnabled_disabledInBuild() {
|
|
|
|
// When
|
|
|
|
clearExistingInstance()
|
2019-09-10 19:11:58 +02:00
|
|
|
val settings = testContext.settings(false)
|
2019-06-08 21:12:44 +02:00
|
|
|
.apply(Settings::clear)
|
|
|
|
|
|
|
|
// Then
|
|
|
|
assertFalse(settings.isCrashReportingEnabled)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun isRemoteDebuggingEnabled() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
|
|
|
assertFalse(settings.isRemoteDebuggingEnabled)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun isTelemetryEnabled() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
|
|
|
assertTrue(settings.isTelemetryEnabled)
|
|
|
|
}
|
|
|
|
|
2019-10-30 01:14:12 +01:00
|
|
|
@Test
|
|
|
|
fun showLoginsDialogWarningSync() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
|
|
|
assertEquals(0, settings.loginsSecureWarningSyncCount)
|
|
|
|
|
|
|
|
// When
|
|
|
|
settings.incrementShowLoginsSecureWarningSyncCount()
|
|
|
|
|
|
|
|
// Then
|
|
|
|
assertEquals(1, settings.loginsSecureWarningSyncCount)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun shouldShowLoginsDialogWarningSync() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
|
|
|
assertTrue(settings.shouldShowSecurityPinWarningSync)
|
|
|
|
|
|
|
|
// When
|
|
|
|
settings.incrementShowLoginsSecureWarningSyncCount()
|
|
|
|
|
|
|
|
// Then
|
|
|
|
assertFalse(settings.shouldShowSecurityPinWarningSync)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun showLoginsDialogWarning() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
|
|
|
assertEquals(0, settings.loginsSecureWarningCount)
|
|
|
|
|
|
|
|
// When
|
|
|
|
settings.incrementShowLoginsSecureWarningCount()
|
|
|
|
|
|
|
|
// Then
|
|
|
|
assertEquals(1, settings.loginsSecureWarningCount)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun shouldShowLoginsDialogWarning() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
|
|
|
assertTrue(settings.shouldShowSecurityPinWarning)
|
|
|
|
|
|
|
|
// When
|
|
|
|
settings.incrementShowLoginsSecureWarningCount()
|
|
|
|
|
|
|
|
// Then
|
|
|
|
assertFalse(settings.shouldShowSecurityPinWarning)
|
|
|
|
}
|
|
|
|
|
2019-06-08 21:12:44 +02:00
|
|
|
@Test
|
|
|
|
fun shouldUseLightTheme() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
|
|
|
assertFalse(settings.shouldUseLightTheme)
|
|
|
|
|
|
|
|
// When
|
2019-08-20 19:47:55 +02:00
|
|
|
settings.shouldUseLightTheme = true
|
2019-06-08 21:12:44 +02:00
|
|
|
|
|
|
|
// Then
|
|
|
|
assertTrue(settings.shouldUseLightTheme)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun shouldUseAutoSize() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
|
|
|
assertTrue(settings.shouldUseAutoSize)
|
|
|
|
|
|
|
|
// When
|
2019-08-20 19:47:55 +02:00
|
|
|
settings.shouldUseAutoSize = false
|
2019-06-08 21:12:44 +02:00
|
|
|
|
|
|
|
// Then
|
|
|
|
assertFalse(settings.shouldUseAutoSize)
|
|
|
|
}
|
|
|
|
|
2020-06-06 03:06:30 +02:00
|
|
|
@Test
|
|
|
|
fun shouldAutofill() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
|
|
|
assertTrue(settings.shouldAutofillLogins)
|
|
|
|
|
|
|
|
// When
|
|
|
|
settings.shouldAutofillLogins = false
|
|
|
|
|
|
|
|
// Then
|
|
|
|
assertFalse(settings.shouldAutofillLogins)
|
|
|
|
}
|
|
|
|
|
2019-06-08 21:12:44 +02:00
|
|
|
@Test
|
|
|
|
fun fontSizeFactor() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
|
|
|
assertEquals(1f, settings.fontSizeFactor)
|
|
|
|
|
|
|
|
// When
|
2019-08-20 19:47:55 +02:00
|
|
|
settings.fontSizeFactor = 2f
|
2019-06-08 21:12:44 +02:00
|
|
|
|
|
|
|
// Then
|
|
|
|
assertEquals(2f, settings.fontSizeFactor)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
2019-09-05 23:45:44 +02:00
|
|
|
fun shouldShowClipboardSuggestion() {
|
2019-06-08 21:12:44 +02:00
|
|
|
// When just created
|
|
|
|
// Then
|
2019-09-05 23:45:44 +02:00
|
|
|
assertTrue(settings.shouldShowClipboardSuggestions)
|
|
|
|
}
|
|
|
|
|
2019-10-03 17:53:16 +02:00
|
|
|
@Test
|
|
|
|
fun shouldShowSearchShortcuts() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
|
|
|
assertTrue(settings.shouldShowSearchShortcuts)
|
|
|
|
}
|
|
|
|
|
2019-09-05 23:45:44 +02:00
|
|
|
@Test
|
|
|
|
fun shouldShowHistorySuggestions() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
|
|
|
assertTrue(settings.shouldShowHistorySuggestions)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun shouldShowBookmarkSuggestions() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
|
|
|
assertTrue(settings.shouldShowBookmarkSuggestions)
|
2019-06-08 21:12:44 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun shouldUseDarkTheme() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
|
|
|
assertFalse(settings.shouldUseDarkTheme)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun shouldFollowDeviceTheme() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
|
|
|
assertFalse(settings.shouldFollowDeviceTheme)
|
|
|
|
|
|
|
|
// When
|
2019-08-20 19:47:55 +02:00
|
|
|
settings.shouldFollowDeviceTheme = true
|
2019-06-08 21:12:44 +02:00
|
|
|
|
|
|
|
// Then
|
|
|
|
assertTrue(settings.shouldFollowDeviceTheme)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun shouldUseTrackingProtection() {
|
|
|
|
// When
|
|
|
|
// Then
|
|
|
|
assertTrue(settings.shouldUseTrackingProtection)
|
|
|
|
|
|
|
|
// When
|
2019-08-20 19:47:55 +02:00
|
|
|
settings.shouldUseTrackingProtection = false
|
2019-06-08 21:12:44 +02:00
|
|
|
|
|
|
|
// Then
|
|
|
|
assertFalse(settings.shouldUseTrackingProtection)
|
|
|
|
}
|
|
|
|
|
2020-03-02 17:34:57 +01:00
|
|
|
@Test
|
|
|
|
fun shouldSetReaderModeOpened() {
|
|
|
|
// When
|
|
|
|
// Then
|
|
|
|
assertFalse(settings.readerModeOpened)
|
|
|
|
|
|
|
|
// When
|
|
|
|
settings.readerModeOpened = true
|
|
|
|
|
|
|
|
// Then
|
|
|
|
assertTrue(settings.readerModeOpened)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun shouldSetOpenInAppOpened() {
|
|
|
|
// When
|
|
|
|
// Then
|
|
|
|
assertFalse(settings.openInAppOpened)
|
|
|
|
|
|
|
|
// When
|
|
|
|
settings.openInAppOpened = true
|
|
|
|
|
|
|
|
// Then
|
|
|
|
assertTrue(settings.openInAppOpened)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun shouldSetInstallPwaOpened() {
|
|
|
|
// When
|
|
|
|
// Then
|
|
|
|
assertFalse(settings.installPwaOpened)
|
|
|
|
|
|
|
|
// When
|
|
|
|
settings.installPwaOpened = true
|
|
|
|
|
|
|
|
// Then
|
|
|
|
assertTrue(settings.installPwaOpened)
|
|
|
|
}
|
|
|
|
|
2019-09-12 00:06:07 +02:00
|
|
|
@Test
|
|
|
|
fun shouldUseTrackingProtectionStrict() {
|
|
|
|
// When
|
|
|
|
// Then
|
2020-05-29 01:28:21 +02:00
|
|
|
assertFalse(settings.useStrictTrackingProtection)
|
2019-09-12 00:06:07 +02:00
|
|
|
}
|
|
|
|
|
2019-06-08 21:12:44 +02:00
|
|
|
@Test
|
|
|
|
fun shouldUseAutoBatteryTheme() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
|
|
|
assertFalse(settings.shouldUseAutoBatteryTheme)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun showSearchSuggestions() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
2019-09-05 23:45:44 +02:00
|
|
|
assertTrue(settings.shouldShowSearchSuggestions)
|
2019-06-08 21:12:44 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun sitePermissionsPhoneFeatureCameraAction() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
2019-10-30 01:14:12 +01:00
|
|
|
assertEquals(
|
|
|
|
ASK_TO_ALLOW,
|
|
|
|
settings.getSitePermissionsPhoneFeatureAction(PhoneFeature.CAMERA)
|
|
|
|
)
|
2019-06-08 21:12:44 +02:00
|
|
|
|
|
|
|
// When
|
2019-08-21 17:38:14 +02:00
|
|
|
settings.setSitePermissionsPhoneFeatureAction(PhoneFeature.CAMERA, BLOCKED)
|
2019-06-08 21:12:44 +02:00
|
|
|
|
|
|
|
// Then
|
2019-08-21 17:38:14 +02:00
|
|
|
assertEquals(BLOCKED, settings.getSitePermissionsPhoneFeatureAction(PhoneFeature.CAMERA))
|
2019-06-08 21:12:44 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun sitePermissionsPhoneFeatureMicrophoneAction() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
2019-10-30 01:14:12 +01:00
|
|
|
assertEquals(
|
|
|
|
ASK_TO_ALLOW,
|
|
|
|
settings.getSitePermissionsPhoneFeatureAction(PhoneFeature.MICROPHONE)
|
|
|
|
)
|
2019-06-08 21:12:44 +02:00
|
|
|
|
|
|
|
// When
|
2019-08-21 17:38:14 +02:00
|
|
|
settings.setSitePermissionsPhoneFeatureAction(PhoneFeature.MICROPHONE, BLOCKED)
|
2019-06-08 21:12:44 +02:00
|
|
|
|
|
|
|
// Then
|
2019-10-30 01:14:12 +01:00
|
|
|
assertEquals(
|
|
|
|
BLOCKED,
|
|
|
|
settings.getSitePermissionsPhoneFeatureAction(PhoneFeature.MICROPHONE)
|
|
|
|
)
|
2019-06-08 21:12:44 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun sitePermissionsPhoneFeatureNotificationAction() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
2019-10-30 01:14:12 +01:00
|
|
|
assertEquals(
|
|
|
|
ASK_TO_ALLOW,
|
|
|
|
settings.getSitePermissionsPhoneFeatureAction(PhoneFeature.NOTIFICATION)
|
|
|
|
)
|
2019-06-08 21:12:44 +02:00
|
|
|
|
|
|
|
// When
|
2019-08-21 17:38:14 +02:00
|
|
|
settings.setSitePermissionsPhoneFeatureAction(PhoneFeature.NOTIFICATION, BLOCKED)
|
2019-06-08 21:12:44 +02:00
|
|
|
|
|
|
|
// Then
|
2019-10-30 01:14:12 +01:00
|
|
|
assertEquals(
|
|
|
|
BLOCKED,
|
|
|
|
settings.getSitePermissionsPhoneFeatureAction(PhoneFeature.NOTIFICATION)
|
|
|
|
)
|
2019-06-08 21:12:44 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun sitePermissionsPhoneFeatureLocation() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
2019-10-30 01:14:12 +01:00
|
|
|
assertEquals(
|
|
|
|
ASK_TO_ALLOW,
|
|
|
|
settings.getSitePermissionsPhoneFeatureAction(PhoneFeature.LOCATION)
|
|
|
|
)
|
2019-06-08 21:12:44 +02:00
|
|
|
|
|
|
|
// When
|
2019-08-21 17:38:14 +02:00
|
|
|
settings.setSitePermissionsPhoneFeatureAction(PhoneFeature.LOCATION, BLOCKED)
|
2019-06-08 21:12:44 +02:00
|
|
|
|
|
|
|
// Then
|
2019-08-21 17:38:14 +02:00
|
|
|
assertEquals(BLOCKED, settings.getSitePermissionsPhoneFeatureAction(PhoneFeature.LOCATION))
|
2019-06-08 21:12:44 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun getSitePermissionsCustomSettingsRules_default() {
|
|
|
|
// When just created
|
|
|
|
// Then
|
|
|
|
assertEquals(
|
2020-02-25 16:36:19 +01:00
|
|
|
defaultPermissions(),
|
2019-06-08 21:12:44 +02:00
|
|
|
settings.getSitePermissionsCustomSettingsRules()
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun getSitePermissionsCustomSettingsRules_camera() {
|
|
|
|
// When
|
2019-08-21 17:38:14 +02:00
|
|
|
settings.setSitePermissionsPhoneFeatureAction(PhoneFeature.CAMERA, BLOCKED)
|
2019-06-08 21:12:44 +02:00
|
|
|
|
|
|
|
// Then
|
|
|
|
assertEquals(
|
2020-02-25 16:36:19 +01:00
|
|
|
defaultPermissions().copy(camera = BLOCKED),
|
2019-06-08 21:12:44 +02:00
|
|
|
settings.getSitePermissionsCustomSettingsRules()
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun getSitePermissionsCustomSettingsRules_notification() {
|
|
|
|
// When
|
2019-08-21 17:38:14 +02:00
|
|
|
settings.setSitePermissionsPhoneFeatureAction(PhoneFeature.NOTIFICATION, BLOCKED)
|
2019-06-08 21:12:44 +02:00
|
|
|
|
|
|
|
// Then
|
|
|
|
assertEquals(
|
2020-02-25 16:36:19 +01:00
|
|
|
defaultPermissions().copy(notification = BLOCKED),
|
2019-06-08 21:12:44 +02:00
|
|
|
settings.getSitePermissionsCustomSettingsRules()
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun getSitePermissionsCustomSettingsRules_location() {
|
|
|
|
// When
|
2019-08-21 17:38:14 +02:00
|
|
|
settings.setSitePermissionsPhoneFeatureAction(PhoneFeature.LOCATION, BLOCKED)
|
2019-06-08 21:12:44 +02:00
|
|
|
|
|
|
|
// Then
|
|
|
|
assertEquals(
|
2020-02-25 16:36:19 +01:00
|
|
|
defaultPermissions().copy(location = BLOCKED),
|
2019-06-08 21:12:44 +02:00
|
|
|
settings.getSitePermissionsCustomSettingsRules()
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun getSitePermissionsCustomSettingsRules_microphone() {
|
|
|
|
// When
|
2019-08-21 17:38:14 +02:00
|
|
|
settings.setSitePermissionsPhoneFeatureAction(PhoneFeature.MICROPHONE, BLOCKED)
|
2019-06-08 21:12:44 +02:00
|
|
|
|
|
|
|
// Then
|
|
|
|
assertEquals(
|
2020-02-25 16:36:19 +01:00
|
|
|
defaultPermissions().copy(microphone = BLOCKED),
|
|
|
|
settings.getSitePermissionsCustomSettingsRules()
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun getSitePermissionsCustomSettingsRules_autoplayAudible() {
|
|
|
|
settings.setSitePermissionsPhoneFeatureAction(PhoneFeature.AUTOPLAY_AUDIBLE, ALLOWED)
|
|
|
|
|
|
|
|
assertEquals(
|
|
|
|
defaultPermissions().copy(autoplayAudible = ALLOWED),
|
|
|
|
settings.getSitePermissionsCustomSettingsRules()
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
fun getSitePermissionsCustomSettingsRules_autoplayInaudible() {
|
|
|
|
settings.setSitePermissionsPhoneFeatureAction(PhoneFeature.AUTOPLAY_INAUDIBLE, ALLOWED)
|
|
|
|
|
|
|
|
assertEquals(
|
2020-03-20 20:10:42 +01:00
|
|
|
defaultPermissions().copy(autoplayInaudible = ALLOWED),
|
2019-06-08 21:12:44 +02:00
|
|
|
settings.getSitePermissionsCustomSettingsRules()
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private fun clearExistingInstance() {
|
|
|
|
Settings.instance = null
|
|
|
|
}
|
|
|
|
|
|
|
|
private fun Settings.clear() {
|
|
|
|
preferences.clearAndCommit()
|
|
|
|
}
|
|
|
|
|
2020-02-25 16:36:19 +01:00
|
|
|
private fun defaultPermissions() = SitePermissionsRules(
|
2019-06-08 21:12:44 +02:00
|
|
|
camera = ASK_TO_ALLOW,
|
|
|
|
location = ASK_TO_ALLOW,
|
|
|
|
microphone = ASK_TO_ALLOW,
|
2020-02-25 16:36:19 +01:00
|
|
|
notification = ASK_TO_ALLOW,
|
|
|
|
autoplayAudible = AutoplayAction.BLOCKED,
|
2020-03-20 20:10:42 +01:00
|
|
|
autoplayInaudible = AutoplayAction.BLOCKED
|
2019-07-12 20:38:15 +02:00
|
|
|
)
|