import com.google.common.eventbus.EventBus
import freenet.clients.http.ToadletContext
+import freenet.l10n.BaseL10n
import freenet.support.SimpleReadOnlyArrayBucket
import freenet.support.api.HTTPRequest
import net.pterodactylus.sone.core.Core
import net.pterodactylus.sone.web.WebInterface
import net.pterodactylus.sone.web.page.FreenetRequest
import net.pterodactylus.util.notify.Notification
+import net.pterodactylus.util.template.TemplateContextFactory
import net.pterodactylus.util.web.Method.GET
import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.equalTo
pageSupplier: (WebInterface) -> JsonPage = { _ -> mock<JsonPage>() }) {
protected val webInterface = mock<WebInterface>()
+ protected val l10n = mock<BaseL10n>()
protected val core = mock<Core>()
protected val eventBus = mock<EventBus>()
protected val preferences = Preferences(eventBus)
private val notifications = mutableMapOf<String, Notification>()
private val albums = mutableMapOf<String, Album>()
private val images = mutableMapOf<String, Image>()
+ private val translations = mutableMapOf<String, String>()
@Before
fun setupWebInterface() {
+ whenever(webInterface.templateContextFactory).thenReturn(TemplateContextFactory())
whenever(webInterface.getCurrentSone(eq(toadletContext), anyBoolean())).thenReturn(currentSone)
whenever(webInterface.getCurrentSoneCreatingSession(toadletContext)).thenReturn(currentSone)
whenever(webInterface.getCurrentSoneWithoutCreatingSession(toadletContext)).thenReturn(currentSone)
whenever(webInterface.getNotification(anyString())).then { notifications[it[0]].asOptional() }
whenever(webInterface.getNewPosts(currentSone)).thenAnswer { newPosts.values }
whenever(webInterface.getNewReplies(currentSone)).thenAnswer { newReplies.values }
+ whenever(webInterface.l10n).thenReturn(l10n)
+ }
+
+ @Before
+ fun setupTranslations() {
+ whenever(l10n.getString(anyString())).then { translations[it[0]] }
}
@Before
images[imageId ?: image.id] = image
}
+ protected fun addTranslation(key: String, value: String) {
+ translations[key] = value
+ }
+
@Test
fun `page returns correct path`() {
assertThat(page.path, equalTo(expectedPath))