X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpage%2FPageToadletFactoryTest.kt;h=43b3c152255a80d31e0d86d089c9f9f0e15c4d6a;hp=93047cbdfc7b397940d6a64b996d94e32df252e4;hb=ed11470b0b9a84a356ead1dade4e33f414aeb838;hpb=e7afeda8d0658bd4c392803cf444f5810fe18471 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..43b3c15 100644 --- a/src/test/kotlin/net/pterodactylus/sone/web/page/PageToadletFactoryTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/web/page/PageToadletFactoryTest.kt @@ -1,13 +1,12 @@ 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 net.pterodactylus.sone.test.* +import net.pterodactylus.util.web.* +import org.hamcrest.MatcherAssert.* +import org.hamcrest.Matchers.* +import org.junit.* private val highLevelSimpleClient = mock() private const val pathPrefix = "/some/prefix/" @@ -39,4 +38,36 @@ 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), + 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 + }