X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpage%2FPageToadletFactoryTest.kt;h=7ac8c01603784d38e0d954f4c4e6c54eeadcf987;hb=5201720801a4053f8f324b71fb3e9c36f6cd911e;hp=93047cbdfc7b397940d6a64b996d94e32df252e4;hpb=e7afeda8d0658bd4c392803cf444f5810fe18471;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/web/page/PageToadletFactoryTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/page/PageToadletFactoryTest.kt index 93047cb..7ac8c01 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/page/PageToadletFactoryTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/page/PageToadletFactoryTest.kt @@ -1,20 +1,22 @@ package net.pterodactylus.sone.web.page -import freenet.client.HighLevelSimpleClient -import net.pterodactylus.sone.test.mock -import net.pterodactylus.sone.test.whenever -import net.pterodactylus.util.web.Page -import org.hamcrest.MatcherAssert.assertThat -import org.hamcrest.Matchers.equalTo -import org.hamcrest.Matchers.nullValue -import org.junit.Test +import com.google.inject.* +import freenet.client.* +import freenet.clients.http.* +import net.pterodactylus.sone.test.* +import net.pterodactylus.sone.web.* +import net.pterodactylus.util.web.* +import org.hamcrest.MatcherAssert.* +import org.hamcrest.Matchers.* +import org.junit.* private val highLevelSimpleClient = mock() +private val sessionManager = mock() private const val pathPrefix = "/some/prefix/" class PageToadletFactoryTest { - private val pageToadletFactory = PageToadletFactory(highLevelSimpleClient, pathPrefix) + private val pageToadletFactory = PageToadletFactory(highLevelSimpleClient, sessionManager, pathPrefix) @Test fun `page toadlet without menu name is created without menu name`() { @@ -39,4 +41,37 @@ class PageToadletFactoryTest { assertThat(pageToadlet.path(), equalTo("/some/prefix/path")) } + @Test + fun `menu name is added from annotation when no menu name is given`() { + val page = TestPageWithMenuName() + val pageToadlet = pageToadletFactory.createPageToadlet(page) + assertThat(pageToadlet.menuName, equalTo("testName")) + } + + @Test + fun `menu name from annotation is ignored when menu name is given`() { + val page = TestPageWithMenuName() + val pageToadlet = pageToadletFactory.createPageToadlet(page, "foo") + assertThat(pageToadlet.menuName, equalTo("foo")) + } + + @Test + fun `page toadlet factory can be created by guice`() { + val injector = Guice.createInjector( + HighLevelSimpleClient::class.isProvidedBy(highLevelSimpleClient), + SessionManager::class.isProvidedBy(sessionManager), + String::class.withNameIsProvidedBy("/Sone/", "toadletPathPrefix") + ) + assertThat(injector.getInstance(), notNullValue()) + } + +} + +@MenuName("testName") +private class TestPageWithMenuName : Page { + + override fun getPath() = "" + override fun isPrefixPage() = false + override fun handleRequest(request: FreenetRequest, response: Response) = response + }