diff options
Diffstat (limited to 'src/test/java/at/hannibal2/skyhanni')
-rw-r--r-- | src/test/java/at/hannibal2/skyhanni/test/RepoPatternTest.kt | 51 |
1 files changed, 51 insertions, 0 deletions
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<RuntimeException> { + val pattern1 by RepoPattern.pattern("testonly.b", "") + val pattern2 by RepoPattern.pattern("testonly.b", "") + pattern1 + pattern2 + } + + RepoPatternManager.inTestDuplicateUsage = true + } +} |