X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Ffreenet%2FL10nFilterTest.kt;h=358d1060d3c1dfcf09db3ae3614a44a7cffa3522;hp=39196c1968add2db766fff81f453360bf809d3ed;hb=HEAD;hpb=51e20ad24f9b0eae0b08ed5dbe0c69299d17116e diff --git a/src/test/kotlin/net/pterodactylus/sone/freenet/L10nFilterTest.kt b/src/test/kotlin/net/pterodactylus/sone/freenet/L10nFilterTest.kt index 39196c1..358d106 100644 --- a/src/test/kotlin/net/pterodactylus/sone/freenet/L10nFilterTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/freenet/L10nFilterTest.kt @@ -1,67 +1,51 @@ package net.pterodactylus.sone.freenet -import freenet.l10n.BaseL10n -import freenet.l10n.BaseL10n.LANGUAGE.ENGLISH -import net.pterodactylus.sone.test.mock -import net.pterodactylus.sone.test.whenever -import net.pterodactylus.sone.web.WebInterface -import net.pterodactylus.util.template.TemplateContext -import org.hamcrest.MatcherAssert.assertThat -import org.hamcrest.Matchers.equalTo -import org.junit.Before -import org.junit.Test -import org.mockito.ArgumentMatchers.anyString +import org.hamcrest.MatcherAssert.* +import org.hamcrest.Matchers.* +import org.junit.* +import java.util.* +import kotlin.collections.* /** * Unit test for [L10nFilter]. */ class L10nFilterTest { - private val webInterface = mock() - private val filter = L10nFilter(webInterface) - private val templateContext = mock() - private val l10n = mock() private val translations = mutableMapOf() - - @Before - fun setupWebInterface() { - whenever(webInterface.l10n).thenReturn(l10n) - } - - @Before - fun setupL10n() { - whenever(l10n.selectedLanguage).thenReturn(ENGLISH) - whenever(l10n.getString(anyString())).then { translations[it.arguments[0]] } + private val translation = object : Translation { + override val currentLocale = Locale.ENGLISH + override fun translate(key: String): String = translations[key] ?: "" } + private val filter = L10nFilter(translation) @Test fun `translation without parameters returns translated string`() { translations["data"] = "translated data" - assertThat(filter.format(templateContext, "data", emptyMap()), equalTo("translated data")) + assertThat(filter.format(null, "data", emptyMap()), equalTo("translated data")) } @Test fun `translation with parameters returned translated string`() { translations["data"] = "translated {0,number} {1}" - assertThat(filter.format(templateContext, "data", mapOf("0" to 4.5, "1" to "data")), equalTo("translated 4.5 data")) + assertThat(filter.format(null, "data", mapOf("0" to 4.5, "1" to "data")), equalTo("translated 4.5 data")) } @Test fun `filter processes l10n text without parameters correctly`() { translations["data"] = "translated data" - assertThat(filter.format(templateContext, L10nText("data"), emptyMap()), equalTo("translated data")) + assertThat(filter.format(null, L10nText("data"), emptyMap()), equalTo("translated data")) } @Test fun `filter processes l10n text with parameters correctly`() { translations["data"] = "translated {0,number} {1}" - assertThat(filter.format(templateContext, L10nText("data", listOf(4.5, "data")), emptyMap()), equalTo("translated 4.5 data")) + assertThat(filter.format(null, L10nText("data", listOf(4.5, "data")), emptyMap()), equalTo("translated 4.5 data")) } @Test fun `filter does not replace values if there are no parameters`() { translations["data"] = "{link}" - assertThat(filter.format(templateContext, "data", emptyMap()), equalTo("{link}")); + assertThat(filter.format(null, "data", emptyMap()), equalTo("{link}")) } }