🔥 Replace BaseL10n with Translation
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / web / WebInterfaceModuleTest.kt
index fc8964a..4d8fc83 100644 (file)
@@ -1,6 +1,8 @@
 package net.pterodactylus.sone.web
 
 import com.google.inject.Guice.*
+import freenet.client.*
+import freenet.clients.http.*
 import freenet.l10n.*
 import freenet.support.api.*
 import net.pterodactylus.sone.core.*
@@ -12,23 +14,32 @@ import net.pterodactylus.sone.main.*
 import net.pterodactylus.sone.template.*
 import net.pterodactylus.sone.test.*
 import net.pterodactylus.sone.text.*
+import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
+import net.pterodactylus.util.web.*
 import org.hamcrest.MatcherAssert.*
 import org.hamcrest.Matchers.*
 import org.junit.*
+import java.util.*
+import kotlin.test.Test
 
 class WebInterfaceModuleTest {
 
        private val webInterfaceModule = WebInterfaceModule()
-       private val l10n = mock<BaseL10n>()
        private val loaders = mock<Loaders>()
+       private val translation = object : Translation {
+               override val currentLocale = Locale.ENGLISH
+               override fun translate(key: String) = if (key == "View.Sone.Text.UnknownDate") "unknown" else key
+       }
        private val additionalModules = arrayOf(
                        Core::class.isProvidedByMock(),
                        SoneProvider::class.isProvidedByMock(),
-                       BaseL10n::class.isProvidedBy(l10n),
+                       Translation::class.isProvidedBy(translation),
                        SoneTextParser::class.isProvidedByMock(),
                        ElementLoader::class.isProvidedByMock(),
-                       Loaders::class.isProvidedBy(loaders)
+                       Loaders::class.isProvidedBy(loaders),
+                       HighLevelSimpleClient::class.isProvidedByMock(),
+                       SessionManager::class.isProvidedByMock()
        )
        private val injector = createInjector(webInterfaceModule, *additionalModules)!!
        private val templateContext by lazy { injector.getInstance<TemplateContextFactory>().createTemplateContext()!! }
@@ -184,7 +195,6 @@ class WebInterfaceModuleTest {
 
        @Test
        fun `unknown date filter uses correct l10n key`() {
-               whenever(l10n.getString("View.Sone.Text.UnknownDate")).thenReturn("unknown")
                assertThat(getFilter("unknown")!!.format(null, 0L, emptyMap()), equalTo<Any>("unknown"))
        }
 
@@ -194,6 +204,11 @@ class WebInterfaceModuleTest {
        }
 
        @Test
+       fun `template context contains duration format filter`() {
+               verifyFilter<DurationFormatFilter>("duration")
+       }
+
+       @Test
        fun `template context contains collection sort filter`() {
                verifyFilter<CollectionSortFilter>("sort")
        }
@@ -257,4 +272,10 @@ class WebInterfaceModuleTest {
                assertThat(templateContext.getTemplate("testTemplate"), sameInstance(template))
        }
 
+       @Test
+       fun `page toadlet factory is created with correct prefix`() {
+               val page = mock<Page<FreenetRequest>>()
+           assertThat(injector.getInstance<PageToadletFactory>().createPageToadlet(page).path(), startsWith("/Sone/"))
+       }
+
 }