Add per-app event logging overrides
This commit is contained in:
@@ -4,14 +4,18 @@ import org.junit.Assert.assertEquals
|
||||
import org.junit.Test
|
||||
|
||||
class AppListOrderingTest {
|
||||
private fun app(label: String, seen: Boolean = false, selected: Boolean = false) = ListedApp(label, "pkg.$label", seen, selected)
|
||||
private fun app(
|
||||
label: String,
|
||||
seen: Boolean = false,
|
||||
selected: Boolean = false,
|
||||
hasEventOverride: Boolean = false,
|
||||
) = ListedApp(label, "pkg.$label", seen, selected, hasEventOverride)
|
||||
|
||||
@Test fun `seen apps are titled and repeated before the full list when requested`() {
|
||||
val items = AppListOrdering.items(
|
||||
listOf(app("Zulu"), app("Beta", seen = true), app("Alpha", seen = true)),
|
||||
onlySeen = false,
|
||||
seenAppsFirst = true,
|
||||
mode = AppRuleMode.BLACKLIST,
|
||||
)
|
||||
assertEquals(listOf("[Seen apps]", "Alpha", "Beta", "|", "[All apps]", "Alpha", "Beta", "Zulu"), items.labels())
|
||||
}
|
||||
@@ -21,9 +25,8 @@ class AppListOrderingTest {
|
||||
listOf(app("Seen", seen = true), app("Chosen", selected = true), app("Hidden")),
|
||||
onlySeen = true,
|
||||
seenAppsFirst = true,
|
||||
mode = AppRuleMode.WHITELIST,
|
||||
)
|
||||
assertEquals(listOf("[Seen apps]", "Seen", "|", "[Whitelisted apps]", "Chosen"), items.labels())
|
||||
assertEquals(listOf("[Seen apps]", "Seen", "|", "[Edited apps]", "Chosen"), items.labels())
|
||||
}
|
||||
|
||||
@Test fun `only seen and checked without grouping is one alphabetical list`() {
|
||||
@@ -31,17 +34,24 @@ class AppListOrderingTest {
|
||||
listOf(app("Zulu", seen = true), app("Beta", selected = true), app("Hidden")),
|
||||
onlySeen = true,
|
||||
seenAppsFirst = false,
|
||||
mode = AppRuleMode.BLACKLIST,
|
||||
)
|
||||
assertEquals(listOf("Beta", "Zulu"), items.labels())
|
||||
}
|
||||
|
||||
@Test fun `unseen app with an event override is included as edited`() {
|
||||
val items = AppListOrdering.items(
|
||||
listOf(app("Seen", seen = true), app("Configured", hasEventOverride = true), app("Hidden")),
|
||||
onlySeen = true,
|
||||
seenAppsFirst = true,
|
||||
)
|
||||
assertEquals(listOf("[Seen apps]", "Seen", "|", "[Edited apps]", "Configured"), items.labels())
|
||||
}
|
||||
|
||||
@Test fun `only seen apps omit section titles without unseen checked apps`() {
|
||||
val items = AppListOrdering.items(
|
||||
listOf(app("Zulu", seen = true), app("Alpha", seen = true), app("Hidden")),
|
||||
onlySeen = true,
|
||||
seenAppsFirst = true,
|
||||
mode = AppRuleMode.BLACKLIST,
|
||||
)
|
||||
assertEquals(listOf("Alpha", "Zulu"), items.labels())
|
||||
}
|
||||
@@ -51,7 +61,6 @@ class AppListOrderingTest {
|
||||
listOf(app("Zulu", seen = true), app("Alpha"), app("Beta", selected = true)),
|
||||
onlySeen = false,
|
||||
seenAppsFirst = false,
|
||||
mode = AppRuleMode.BLACKLIST,
|
||||
)
|
||||
assertEquals(listOf("Alpha", "Beta", "Zulu"), items.labels())
|
||||
}
|
||||
|
||||
+9
@@ -12,4 +12,13 @@ class NotificationListenerPolicyTest {
|
||||
@Test fun `listener stays off when every logging type is disabled`() {
|
||||
assertFalse(NotificationListenerPolicy.shouldRun(LoggingType.entries.map { LoggingRule(enabled = false) }))
|
||||
}
|
||||
|
||||
@Test fun `listener runs for an enabled per-app event override`() {
|
||||
assertTrue(
|
||||
NotificationListenerPolicy.shouldRun(
|
||||
LoggingType.entries.map { LoggingRule(enabled = false) },
|
||||
hasEnabledEventOverride = true,
|
||||
),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user