X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpages%2FErrorPagesTest.kt;fp=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpages%2FErrorPagesTest.kt;h=6f8bfa12314c441064f0e54dd248d965660d9aa7;hb=459a10b6fecbb12ca2359b34a85d4e884224f794;hp=0000000000000000000000000000000000000000;hpb=bce70170ce5ddaa142e67fcc67985215e1eadac2;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/web/pages/ErrorPagesTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/pages/ErrorPagesTest.kt new file mode 100644 index 0000000..6f8bfa1 --- /dev/null +++ b/src/test/kotlin/net/pterodactylus/sone/web/pages/ErrorPagesTest.kt @@ -0,0 +1,103 @@ +package net.pterodactylus.sone.web.pages + +import net.pterodactylus.sone.main.* +import net.pterodactylus.sone.web.* +import net.pterodactylus.sone.web.page.* +import org.hamcrest.MatcherAssert.* +import org.hamcrest.Matchers.* +import org.junit.* + +class ErrorPagesTest { + + private val webPageTest = WebPageTest() + + private fun testPage(page: (WebInterface, Loaders, TemplateRenderer) -> FreenetTemplatePage, test: (FreenetTemplatePage) -> Unit) = + with(webPageTest) { + test(page(webInterface, loaders, templateRenderer)) + } + + @Test + fun `invalid page returns correct path`() { + testPage(::InvalidPage) { page -> + assertThat(page.path, equalTo("invalid.html")) + } + } + + @Test + fun `invalid page returns correct title`() { + testPage(::InvalidPage) { page -> + assertThat(page.getPageTitle(webPageTest.freenetRequest), equalTo("Page.Invalid.Title")) + } + } + + @Test + fun `invalid page is annotated with correct template path`() { + testPage(::InvalidPage) { page -> + assertThat(page.templatePath, equalTo("/templates/invalid.html")) + } + } + + @Test + fun `no permission page returns correct path`() { + testPage(::NoPermissionPage) { page -> + assertThat(page.path, equalTo("noPermission.html")) + } + } + + @Test + fun `no permission page returns correct title`() { + testPage(::NoPermissionPage) { page -> + assertThat(page.getPageTitle(webPageTest.freenetRequest), equalTo("Page.NoPermission.Title")) + } + } + + @Test + fun `no permission page is annotated with correct template path`() { + testPage(::NoPermissionPage) { page -> + assertThat(page.templatePath, equalTo("/templates/noPermission.html")) + } + } + + @Test + fun `empty image title page returns correct path`() { + testPage(::EmptyImageTitlePage) { page -> + assertThat(page.path, equalTo("emptyImageTitle.html")) + } + } + + @Test + fun `empty image title page returns correct page title`() { + testPage(::EmptyImageTitlePage) { page -> + assertThat(page.getPageTitle(webPageTest.freenetRequest), equalTo("Page.EmptyImageTitle.Title")) + } + } + + @Test + fun `empty image title page is annotated with correct template path`() { + testPage(::EmptyImageTitlePage) { page -> + assertThat(page.templatePath, equalTo("/templates/emptyImageTitle.html")) + } + } + + @Test + fun `empty album title page returns correct path`() { + testPage(::EmptyAlbumTitlePage) { page -> + assertThat(page.path, equalTo("emptyAlbumTitle.html")) + } + } + + @Test + fun `empty album title page returns correct page title`() { + testPage(::EmptyAlbumTitlePage) { page -> + assertThat(page.getPageTitle(webPageTest.freenetRequest), equalTo("Page.EmptyAlbumTitle.Title")) + } + } + + @Test + fun `empty album title page is annotated with correct template path`() { + testPage(::EmptyAlbumTitlePage) { page -> + assertThat(page.templatePath, equalTo("/templates/emptyAlbumTitle.html")) + } + } + +}