From 70ae04e2fd5ffa01c6f000f74ec8ece826ab7b2b Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Wed, 26 Jun 2019 10:26:45 +0200 Subject: [PATCH 1/1] =?utf8?q?=F0=9F=9A=9A=20Move=20Kotlin=20tests=20to=20?= =?utf8?q?kotlin=20directory?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../java/net/pterodactylus/sone/test/Matchers.kt | 21 -- .../java/net/pterodactylus/sone/test/TestUtils.kt | 19 -- .../net/pterodactylus/sone/web/AllPagesTest.kt | 253 --------------------- .../kotlin/net/pterodactylus/sone/test/Matchers.kt | 21 ++ .../net/pterodactylus/sone/test/TestUtils.kt | 19 ++ .../net/pterodactylus/sone/web/AllPagesTest.kt | 253 +++++++++++++++++++++ 6 files changed, 293 insertions(+), 293 deletions(-) delete mode 100644 src/test/java/net/pterodactylus/sone/test/Matchers.kt delete mode 100644 src/test/java/net/pterodactylus/sone/test/TestUtils.kt delete mode 100644 src/test/java/net/pterodactylus/sone/web/AllPagesTest.kt create mode 100644 src/test/kotlin/net/pterodactylus/sone/test/Matchers.kt create mode 100644 src/test/kotlin/net/pterodactylus/sone/test/TestUtils.kt create mode 100644 src/test/kotlin/net/pterodactylus/sone/web/AllPagesTest.kt diff --git a/src/test/java/net/pterodactylus/sone/test/Matchers.kt b/src/test/java/net/pterodactylus/sone/test/Matchers.kt deleted file mode 100644 index c084d35..0000000 --- a/src/test/java/net/pterodactylus/sone/test/Matchers.kt +++ /dev/null @@ -1,21 +0,0 @@ -package net.pterodactylus.sone.test - -import net.pterodactylus.util.web.* -import org.hamcrest.* - -fun hasHeader(name: String, value: String) = object : TypeSafeDiagnosingMatcher
() { - override fun matchesSafely(item: Header, mismatchDescription: Description) = - compare(item.name, { it.equals(name, ignoreCase = true) }) { mismatchDescription.appendText("name is ").appendValue(it) } - ?: compare(item.hasValue(value), { it }) { mismatchDescription.appendText("does not have value ").appendValue(value) } - ?: true - - override fun describeTo(description: Description) { - description.appendText("name is ").appendValue(name) - .appendText(", value is ").appendValue(value) - } -} - -fun compare(value: T, comparison: (T) -> Boolean, onError: (T) -> Unit) = - false.takeUnless { comparison(value) } - ?.also { onError(value) } - diff --git a/src/test/java/net/pterodactylus/sone/test/TestUtils.kt b/src/test/java/net/pterodactylus/sone/test/TestUtils.kt deleted file mode 100644 index 9996925..0000000 --- a/src/test/java/net/pterodactylus/sone/test/TestUtils.kt +++ /dev/null @@ -1,19 +0,0 @@ -package net.pterodactylus.sone.test - -import java.lang.reflect.* - -private val modifiers = Field::class.java.getDeclaredField("modifiers").apply { - isAccessible = true -} - -fun setField(instance: Any, name: String, value: Any?) { - generateSequence>(instance.javaClass) { it.superclass } - .flatMap { it.declaredFields.asSequence() } - .filter { it.name == name } - .toList() - .forEach { field -> - field.isAccessible = true - modifiers.setInt(field, field.modifiers and Modifier.FINAL.inv()) - field.set(instance, value) - } -} diff --git a/src/test/java/net/pterodactylus/sone/web/AllPagesTest.kt b/src/test/java/net/pterodactylus/sone/web/AllPagesTest.kt deleted file mode 100644 index cf6ab15..0000000 --- a/src/test/java/net/pterodactylus/sone/web/AllPagesTest.kt +++ /dev/null @@ -1,253 +0,0 @@ -package net.pterodactylus.sone.web - -import com.google.inject.Guice.createInjector -import net.pterodactylus.sone.core.Core -import net.pterodactylus.sone.core.FreenetInterface -import net.pterodactylus.sone.main.PluginHomepage -import net.pterodactylus.sone.main.PluginVersion -import net.pterodactylus.sone.main.PluginYear -import net.pterodactylus.sone.test.* -import net.pterodactylus.sone.web.page.* -import net.pterodactylus.sone.web.pages.* -import net.pterodactylus.util.template.Template -import org.hamcrest.Matcher -import org.hamcrest.MatcherAssert.assertThat -import org.hamcrest.Matchers -import org.junit.Test - -/** - * Test for [AllPages]. - */ -class AllPagesTest { - - private val injector by lazy { - baseInjector.createChildInjector( - PluginVersion::class.isProvidedByMock(), - PluginYear::class.isProvidedByMock(), - PluginHomepage::class.isProvidedByMock() - )!! - } - private val allPages by lazy { injector.getInstance() } - - private inline fun instanceOf(): Matcher = Matchers.instanceOf(T::class.java) - - @Test - fun `about page can be injected`() { - assertThat(allPages.aboutPage, instanceOf()) - } - - @Test - fun `bookmark page can be injected`() { - assertThat(allPages.bookmarkPage, instanceOf()) - } - - @Test - fun `bookmarks page can be injected`() { - assertThat(allPages.bookmarksPage, instanceOf()) - } - - @Test - fun `create album page can be injected`() { - assertThat(allPages.createAlbumPage, instanceOf()) - } - - @Test - fun `create post page can be injected`() { - assertThat(allPages.createPostPage, instanceOf()) - } - - @Test - fun `create reply page can be injected`() { - assertThat(allPages.createReplyPage, instanceOf()) - } - - @Test - fun `create sone page can be injected`() { - assertThat(allPages.createSonePage, instanceOf()) - } - - @Test - fun `delete album page can be injected`() { - assertThat(allPages.deleteAlbumPage, instanceOf()) - } - - @Test - fun `delete image page can be injected`() { - assertThat(allPages.deleteImagePage, instanceOf()) - } - - @Test - fun `delete post page can be injected`() { - assertThat(allPages.deletePostPage, instanceOf()) - } - - @Test - fun `delete profile field page can be injected`() { - assertThat(allPages.deleteProfileFieldPage, instanceOf()) - } - - @Test - fun `delete reply page can be injected`() { - assertThat(allPages.deleteReplyPage, instanceOf()) - } - - @Test - fun `delete sone page can be injected`() { - assertThat(allPages.deleteSonePage, instanceOf()) - } - - @Test - fun `dismiss notification page can be injected`() { - assertThat(allPages.dismissNotificationPage, instanceOf()) - } - - @Test - fun `distrust page can be injected`() { - assertThat(allPages.distrustPage, instanceOf()) - } - - @Test - fun `edit album page can be injected`() { - assertThat(allPages.editAlbumPage, instanceOf()) - } - - @Test - fun `edit image page can be injected`() { - assertThat(allPages.editImagePage, instanceOf()) - } - - @Test - fun `edit profile field page can be injected`() { - assertThat(allPages.editProfileFieldPage, instanceOf()) - } - - @Test - fun `edit profile page can be injected`() { - assertThat(allPages.editProfilePage, instanceOf()) - } - - @Test - fun `follow sone page can be injected`() { - assertThat(allPages.followSonePage, instanceOf()) - } - - @Test - fun `get image page can be injected`() { - assertThat(allPages.getImagePage, instanceOf()) - } - - @Test - fun `image browser page can be injected`() { - assertThat(allPages.imageBrowserPage, instanceOf()) - } - - @Test - fun `index page can be injected`() { - assertThat(allPages.indexPage, instanceOf()) - } - - @Test - fun `known sones page can be injected`() { - assertThat(allPages.knownSonesPage, instanceOf()) - } - - @Test - fun `like page can be injected`() { - assertThat(allPages.likePage, instanceOf()) - } - - @Test - fun `lock sone page can be injected`() { - assertThat(allPages.lockSonePage, instanceOf()) - } - - @Test - fun `login page can be injected`() { - assertThat(allPages.loginPage, instanceOf()) - } - - @Test - fun `logout page can be injected`() { - assertThat(allPages.logoutPage, instanceOf()) - } - - @Test - fun `mark as known page can be injected`() { - assertThat(allPages.markAsKnownPage, instanceOf()) - } - - @Test - fun `new page can be injected`() { - assertThat(allPages.newPage, instanceOf()) - } - - @Test - fun `options page can be injected`() { - assertThat(allPages.optionsPage, instanceOf()) - } - - @Test - fun `rescue page can be injected`() { - assertThat(allPages.rescuePage, instanceOf()) - } - - @Test - fun `search page can be injected`() { - assertThat(allPages.searchPage, instanceOf()) - } - - @Test - fun `trust page can be injected`() { - assertThat(allPages.trustPage, instanceOf()) - } - - @Test - fun `unbookmark page can be injected`() { - assertThat(allPages.unbookmarkPage, instanceOf()) - } - - @Test - fun `unfollow sone page can be injected`() { - assertThat(allPages.unfollowSonePage, instanceOf()) - } - - @Test - fun `unlike page can be injected`() { - assertThat(allPages.unlikePage, instanceOf()) - } - - @Test - fun `unlock sone page can be injected`() { - assertThat(allPages.unlockSonePage, instanceOf()) - } - - @Test - fun `untrust page can be injected`() { - assertThat(allPages.untrustPage, instanceOf()) - } - - @Test - fun `upload image page can be injected`() { - assertThat(allPages.uploadImagePage, instanceOf()) - } - - @Test - fun `view post page can be injected`() { - assertThat(allPages.viewPostPage, instanceOf()) - } - - @Test - fun `view sone page can be injected`() { - assertThat(allPages.viewSonePage, instanceOf()) - } -} - -val baseInjector by lazy { - createInjector( - Core::class.isProvidedByMock(), - FreenetInterface::class.isProvidedByMock(), - Template::class.isProvidedByMock(), - WebInterface::class.isProvidedByDeepMock(), - TemplateRenderer::class.isProvidedByMock() - )!! -} diff --git a/src/test/kotlin/net/pterodactylus/sone/test/Matchers.kt b/src/test/kotlin/net/pterodactylus/sone/test/Matchers.kt new file mode 100644 index 0000000..c084d35 --- /dev/null +++ b/src/test/kotlin/net/pterodactylus/sone/test/Matchers.kt @@ -0,0 +1,21 @@ +package net.pterodactylus.sone.test + +import net.pterodactylus.util.web.* +import org.hamcrest.* + +fun hasHeader(name: String, value: String) = object : TypeSafeDiagnosingMatcher
() { + override fun matchesSafely(item: Header, mismatchDescription: Description) = + compare(item.name, { it.equals(name, ignoreCase = true) }) { mismatchDescription.appendText("name is ").appendValue(it) } + ?: compare(item.hasValue(value), { it }) { mismatchDescription.appendText("does not have value ").appendValue(value) } + ?: true + + override fun describeTo(description: Description) { + description.appendText("name is ").appendValue(name) + .appendText(", value is ").appendValue(value) + } +} + +fun compare(value: T, comparison: (T) -> Boolean, onError: (T) -> Unit) = + false.takeUnless { comparison(value) } + ?.also { onError(value) } + diff --git a/src/test/kotlin/net/pterodactylus/sone/test/TestUtils.kt b/src/test/kotlin/net/pterodactylus/sone/test/TestUtils.kt new file mode 100644 index 0000000..9996925 --- /dev/null +++ b/src/test/kotlin/net/pterodactylus/sone/test/TestUtils.kt @@ -0,0 +1,19 @@ +package net.pterodactylus.sone.test + +import java.lang.reflect.* + +private val modifiers = Field::class.java.getDeclaredField("modifiers").apply { + isAccessible = true +} + +fun setField(instance: Any, name: String, value: Any?) { + generateSequence>(instance.javaClass) { it.superclass } + .flatMap { it.declaredFields.asSequence() } + .filter { it.name == name } + .toList() + .forEach { field -> + field.isAccessible = true + modifiers.setInt(field, field.modifiers and Modifier.FINAL.inv()) + field.set(instance, value) + } +} diff --git a/src/test/kotlin/net/pterodactylus/sone/web/AllPagesTest.kt b/src/test/kotlin/net/pterodactylus/sone/web/AllPagesTest.kt new file mode 100644 index 0000000..cf6ab15 --- /dev/null +++ b/src/test/kotlin/net/pterodactylus/sone/web/AllPagesTest.kt @@ -0,0 +1,253 @@ +package net.pterodactylus.sone.web + +import com.google.inject.Guice.createInjector +import net.pterodactylus.sone.core.Core +import net.pterodactylus.sone.core.FreenetInterface +import net.pterodactylus.sone.main.PluginHomepage +import net.pterodactylus.sone.main.PluginVersion +import net.pterodactylus.sone.main.PluginYear +import net.pterodactylus.sone.test.* +import net.pterodactylus.sone.web.page.* +import net.pterodactylus.sone.web.pages.* +import net.pterodactylus.util.template.Template +import org.hamcrest.Matcher +import org.hamcrest.MatcherAssert.assertThat +import org.hamcrest.Matchers +import org.junit.Test + +/** + * Test for [AllPages]. + */ +class AllPagesTest { + + private val injector by lazy { + baseInjector.createChildInjector( + PluginVersion::class.isProvidedByMock(), + PluginYear::class.isProvidedByMock(), + PluginHomepage::class.isProvidedByMock() + )!! + } + private val allPages by lazy { injector.getInstance() } + + private inline fun instanceOf(): Matcher = Matchers.instanceOf(T::class.java) + + @Test + fun `about page can be injected`() { + assertThat(allPages.aboutPage, instanceOf()) + } + + @Test + fun `bookmark page can be injected`() { + assertThat(allPages.bookmarkPage, instanceOf()) + } + + @Test + fun `bookmarks page can be injected`() { + assertThat(allPages.bookmarksPage, instanceOf()) + } + + @Test + fun `create album page can be injected`() { + assertThat(allPages.createAlbumPage, instanceOf()) + } + + @Test + fun `create post page can be injected`() { + assertThat(allPages.createPostPage, instanceOf()) + } + + @Test + fun `create reply page can be injected`() { + assertThat(allPages.createReplyPage, instanceOf()) + } + + @Test + fun `create sone page can be injected`() { + assertThat(allPages.createSonePage, instanceOf()) + } + + @Test + fun `delete album page can be injected`() { + assertThat(allPages.deleteAlbumPage, instanceOf()) + } + + @Test + fun `delete image page can be injected`() { + assertThat(allPages.deleteImagePage, instanceOf()) + } + + @Test + fun `delete post page can be injected`() { + assertThat(allPages.deletePostPage, instanceOf()) + } + + @Test + fun `delete profile field page can be injected`() { + assertThat(allPages.deleteProfileFieldPage, instanceOf()) + } + + @Test + fun `delete reply page can be injected`() { + assertThat(allPages.deleteReplyPage, instanceOf()) + } + + @Test + fun `delete sone page can be injected`() { + assertThat(allPages.deleteSonePage, instanceOf()) + } + + @Test + fun `dismiss notification page can be injected`() { + assertThat(allPages.dismissNotificationPage, instanceOf()) + } + + @Test + fun `distrust page can be injected`() { + assertThat(allPages.distrustPage, instanceOf()) + } + + @Test + fun `edit album page can be injected`() { + assertThat(allPages.editAlbumPage, instanceOf()) + } + + @Test + fun `edit image page can be injected`() { + assertThat(allPages.editImagePage, instanceOf()) + } + + @Test + fun `edit profile field page can be injected`() { + assertThat(allPages.editProfileFieldPage, instanceOf()) + } + + @Test + fun `edit profile page can be injected`() { + assertThat(allPages.editProfilePage, instanceOf()) + } + + @Test + fun `follow sone page can be injected`() { + assertThat(allPages.followSonePage, instanceOf()) + } + + @Test + fun `get image page can be injected`() { + assertThat(allPages.getImagePage, instanceOf()) + } + + @Test + fun `image browser page can be injected`() { + assertThat(allPages.imageBrowserPage, instanceOf()) + } + + @Test + fun `index page can be injected`() { + assertThat(allPages.indexPage, instanceOf()) + } + + @Test + fun `known sones page can be injected`() { + assertThat(allPages.knownSonesPage, instanceOf()) + } + + @Test + fun `like page can be injected`() { + assertThat(allPages.likePage, instanceOf()) + } + + @Test + fun `lock sone page can be injected`() { + assertThat(allPages.lockSonePage, instanceOf()) + } + + @Test + fun `login page can be injected`() { + assertThat(allPages.loginPage, instanceOf()) + } + + @Test + fun `logout page can be injected`() { + assertThat(allPages.logoutPage, instanceOf()) + } + + @Test + fun `mark as known page can be injected`() { + assertThat(allPages.markAsKnownPage, instanceOf()) + } + + @Test + fun `new page can be injected`() { + assertThat(allPages.newPage, instanceOf()) + } + + @Test + fun `options page can be injected`() { + assertThat(allPages.optionsPage, instanceOf()) + } + + @Test + fun `rescue page can be injected`() { + assertThat(allPages.rescuePage, instanceOf()) + } + + @Test + fun `search page can be injected`() { + assertThat(allPages.searchPage, instanceOf()) + } + + @Test + fun `trust page can be injected`() { + assertThat(allPages.trustPage, instanceOf()) + } + + @Test + fun `unbookmark page can be injected`() { + assertThat(allPages.unbookmarkPage, instanceOf()) + } + + @Test + fun `unfollow sone page can be injected`() { + assertThat(allPages.unfollowSonePage, instanceOf()) + } + + @Test + fun `unlike page can be injected`() { + assertThat(allPages.unlikePage, instanceOf()) + } + + @Test + fun `unlock sone page can be injected`() { + assertThat(allPages.unlockSonePage, instanceOf()) + } + + @Test + fun `untrust page can be injected`() { + assertThat(allPages.untrustPage, instanceOf()) + } + + @Test + fun `upload image page can be injected`() { + assertThat(allPages.uploadImagePage, instanceOf()) + } + + @Test + fun `view post page can be injected`() { + assertThat(allPages.viewPostPage, instanceOf()) + } + + @Test + fun `view sone page can be injected`() { + assertThat(allPages.viewSonePage, instanceOf()) + } +} + +val baseInjector by lazy { + createInjector( + Core::class.isProvidedByMock(), + FreenetInterface::class.isProvidedByMock(), + Template::class.isProvidedByMock(), + WebInterface::class.isProvidedByDeepMock(), + TemplateRenderer::class.isProvidedByMock() + )!! +} -- 2.7.4