From b5ea959544aa5133f1763ed23268ce45f11998b1 Mon Sep 17 00:00:00 2001 From: Thunderblade73 <85900443+Thunderblade73@users.noreply.github.com> Date: Thu, 25 Apr 2024 10:35:33 +0200 Subject: Backend: Unit Test RepoPatterns (#1410) --- .../at/hannibal2/skyhanni/test/RepoPatternTest.kt | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/test/java/at/hannibal2/skyhanni/test/RepoPatternTest.kt (limited to 'src/test/java/at/hannibal2/skyhanni') diff --git a/src/test/java/at/hannibal2/skyhanni/test/RepoPatternTest.kt b/src/test/java/at/hannibal2/skyhanni/test/RepoPatternTest.kt new file mode 100644 index 000000000..46c2fb619 --- /dev/null +++ b/src/test/java/at/hannibal2/skyhanni/test/RepoPatternTest.kt @@ -0,0 +1,51 @@ +package at.hannibal2.skyhanni.test + +import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern +import at.hannibal2.skyhanni.utils.repopatterns.RepoPatternDump +import at.hannibal2.skyhanni.utils.repopatterns.RepoPatternManager +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.assertThrows + +object RepoPatternTest { + + @Test + fun testRemoteLoad() { + val simpleLocalePattern = "I'm a test value" + + val simpleRepoPattern = RepoPattern.pattern("testonly.a", simpleLocalePattern) + val simplePattern by simpleRepoPattern + + val remoteValue = "I'm remote." + + val isLocalWorking = simplePattern.pattern() == simpleLocalePattern + + assert(isLocalWorking) + + RepoPatternManager.loadPatternsFromDump( + RepoPatternDump( + regexes = mapOf( + simpleRepoPattern.key to remoteValue + ) + ) + ) + + val isRemoteWorking = simplePattern.pattern() == remoteValue + + assert(isRemoteWorking) + + } + + @Test + fun testExclusivity() { + RepoPatternManager.inTestDuplicateUsage = false + + assertThrows { + val pattern1 by RepoPattern.pattern("testonly.b", "") + val pattern2 by RepoPattern.pattern("testonly.b", "") + pattern1 + pattern2 + } + + RepoPatternManager.inTestDuplicateUsage = true + } +} -- cgit