X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Ffreenet%2FL10nFilterTest.kt;h=66b1ab17dd2fe07548ab175924286368f791a085;hp=f070df2e2268689477189d1550d747abf68f66bc;hb=c9b4749797931ab804673640f4a15511900f150a;hpb=2972af51b28df3f46cea33e9ed3fe22dd1d5461d diff --git a/src/test/kotlin/net/pterodactylus/sone/freenet/L10nFilterTest.kt b/src/test/kotlin/net/pterodactylus/sone/freenet/L10nFilterTest.kt index f070df2..66b1ab1 100644 --- a/src/test/kotlin/net/pterodactylus/sone/freenet/L10nFilterTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/freenet/L10nFilterTest.kt @@ -4,7 +4,6 @@ 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 @@ -17,18 +16,12 @@ import org.mockito.ArgumentMatchers.anyString */ class L10nFilterTest { - private val webInterface = mock() - private val filter = L10nFilter(webInterface) - private val templateContext = mock() private val l10n = mock() + private val filter = L10nFilter(l10n) + private val templateContext = 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]] } @@ -46,4 +39,22 @@ class L10nFilterTest { assertThat(filter.format(templateContext, "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")) + } + + @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")) + } + + @Test + fun `filter does not replace values if there are no parameters`() { + translations["data"] = "{link}" + assertThat(filter.format(templateContext, "data", emptyMap()), equalTo("{link}")) + } + }