package net.pterodactylus.sone.web.pages
-import net.pterodactylus.sone.data.Sone
-import net.pterodactylus.sone.main.SonePlugin
-import net.pterodactylus.sone.test.mock
-import net.pterodactylus.sone.test.whenever
+import net.pterodactylus.sone.data.*
+import net.pterodactylus.sone.main.*
+import net.pterodactylus.sone.test.*
import net.pterodactylus.sone.web.page.*
-import net.pterodactylus.util.notify.Notification
-import net.pterodactylus.util.template.TemplateContext
+import net.pterodactylus.util.notify.*
+import net.pterodactylus.util.template.*
import net.pterodactylus.util.version.Version
-import org.hamcrest.Matcher
-import org.hamcrest.MatcherAssert.assertThat
-import org.hamcrest.Matchers.anyOf
-import org.hamcrest.Matchers.contains
-import org.hamcrest.Matchers.containsInAnyOrder
-import org.hamcrest.Matchers.equalTo
-import org.hamcrest.Matchers.nullValue
-import org.junit.Test
+import org.hamcrest.*
+import org.hamcrest.MatcherAssert.*
+import org.hamcrest.Matchers.*
+import org.junit.*
/**
* Unit test for [SoneTemplatePage].
*/
-class SoneTemplatePageTest : WebPageTest({ template, webInterface -> object : SoneTemplatePage("path.html", webInterface, template, requiresLogin = true) {} }) {
+class SoneTemplatePageTest : WebPageTest({ webInterface, loaders, templateRenderer -> object : SoneTemplatePage(webInterface, loaders, templateRenderer, requiresLogin = true) {} }) {
init {
request("index.html")
@Test
fun `page title is empty string if no page title key was given`() {
- SoneTemplatePage("path.html", webInterface, template, requiresLogin = false).let { page ->
- assertThat(page.getPageTitle(freenetRequest), equalTo(""))
+ SoneTemplatePage(webInterface, loaders, templateRenderer, requiresLogin = false).let { page ->
+ assertThat(page.getPageTitle(soneRequest), equalTo(""))
}
}
@Test
fun `page title is retrieved from l10n if page title key is given`() {
- SoneTemplatePage("path.html", webInterface, template, "page.title", false).let { page ->
- whenever(l10n.getString("page.title")).thenReturn("Page Title")
- assertThat(page.getPageTitle(freenetRequest), equalTo("Page Title"))
+ SoneTemplatePage(webInterface, loaders, templateRenderer, pageTitleKey = "page.title", requiresLogin = false).let { page ->
+ addTranslation("page.title", "Page Title")
+ assertThat(page.getPageTitle(soneRequest), equalTo("Page Title"))
}
}
@Test
fun `handleRequest method is called`() {
var called = false
- val page = object : SoneTemplatePage("path.html", webInterface, template, requiresLogin = true) {
+ val page = object : SoneTemplatePage(webInterface, loaders, templateRenderer, requiresLogin = true) {
override fun handleRequest(freenetRequest: FreenetRequest, templateContext: TemplateContext) {
called = true
}
@Test
fun `redirect does not happen if login is not required`() {
- val page = SoneTemplatePage("page.html", webInterface, template, requiresLogin = false)
+ val page = SoneTemplatePage(webInterface, loaders, templateRenderer, requiresLogin = false)
assertThat(page.getRedirectTarget(freenetRequest), nullValue())
}
@Test
fun `page is enabled if no full access is required and login is not required`() {
- SoneTemplatePage("path.html", webInterface, template, requiresLogin = false).let { page ->
+ SoneTemplatePage(webInterface, loaders, templateRenderer, requiresLogin = false).let { page ->
assertThat(page.isEnabled(toadletContext), equalTo(true))
}
}
@Test
fun `handle request with sone request is called`() {
var called = false
- val page = object : SoneTemplatePage("path.html", webInterface, template) {
- override fun handleRequest(soneRequest: SoneRequest, templateContext: TemplateContext) {
- called = true
- }
- }
+ val page = object : SoneTemplatePage(webInterface, loaders, templateRenderer) {
+ override fun handleRequest(soneRequest: SoneRequest, templateContext: TemplateContext) {
+ called = true
+ }
+ }
page.processTemplate(freenetRequest, templateContext)
assertThat(called, equalTo(true))
}