+ @Test
+ fun `insertion delay can not be set to less than 0 seconds`() {
+ verifyThatWrongValueForPreferenceIsDetected("insertion-delay", "-1")
+ }
+
+ @Test
+ fun `insertion delay can be set to 0 seconds`() {
+ verifyThatPreferencesCanBeSet("insertion-delay", "0", 0) { core.preferences.insertionDelay }
+ }
+
+ @Test
+ fun `setting insertion to an invalid value will reset it`() {
+ verifyThatPreferencesCanBeSet("insertion-delay", "foo", 60) { core.preferences.insertionDelay }
+ }
+
+ @Test
+ fun `characters per post can not be set to less than -1`() {
+ verifyThatWrongValueForPreferenceIsDetected("characters-per-post", "-2")
+ }
+
+ @Test
+ fun `characters per post can be set to -1`() {
+ verifyThatPreferencesCanBeSet("characters-per-post", "-1", -1) { core.preferences.charactersPerPost }
+ }
+
+ @Test
+ fun `characters per post can not be set to 0`() {
+ verifyThatWrongValueForPreferenceIsDetected("characters-per-post", "0")
+ }
+
+ @Test
+ fun `characters per post can not be set to 49`() {
+ verifyThatWrongValueForPreferenceIsDetected("characters-per-post", "49")
+ }
+
+ @Test
+ fun `characters per post can be set to 50`() {
+ verifyThatPreferencesCanBeSet("characters-per-post", "50", 50) { core.preferences.charactersPerPost }
+ }
+
+ @Test
+ fun `fcp full acess required option can be set to always`() {
+ verifyThatPreferencesCanBeSet("fcp-full-access-required", "2", FullAccessRequired.ALWAYS) { core.preferences.fcpFullAccessRequired }
+ }
+
+ @Test
+ fun `fcp full acess required option can be set to writing`() {
+ verifyThatPreferencesCanBeSet("fcp-full-access-required", "1", FullAccessRequired.WRITING) { core.preferences.fcpFullAccessRequired }
+ }
+
+ @Test
+ fun `fcp full acess required option can be set to no`() {
+ verifyThatPreferencesCanBeSet("fcp-full-access-required", "0", FullAccessRequired.NO) { core.preferences.fcpFullAccessRequired }
+ }
+
+ @Test
+ fun `fcp full acess required option is not changed if invalid value is set`() {
+ verifyThatPreferencesCanBeSet("fcp-full-access-required", "foo", FullAccessRequired.WRITING) { core.preferences.fcpFullAccessRequired }
+ }
+
+ @Test
+ fun `images per page can not be set to 0`() {
+ verifyThatWrongValueForPreferenceIsDetected("images-per-page", "0")
+ }
+
+ @Test
+ fun `images per page can be set to 1`() {
+ verifyThatPreferencesCanBeSet("images-per-page", "1", 1) { core.preferences.imagesPerPage }
+ }
+
+ @Test
+ fun `images per page is set to 9 if invalid value is requested`() {
+ verifyThatPreferencesCanBeSet("images-per-page", "foo", 9) { core.preferences.imagesPerPage }
+ }
+
+ @Test
+ fun `fcp interface can be set to true`() {
+ verifyThatPreferencesCanBeSet("fcp-interface-active", "checked", true) { core.preferences.isFcpInterfaceActive }
+ }
+
+ @Test
+ fun `fcp interface can be set to false`() {
+ verifyThatPreferencesCanBeSet("fcp-interface-active", null, false) { core.preferences.isFcpInterfaceActive }
+ }
+
+ @Test
+ fun `require full access can be set to true`() {
+ verifyThatPreferencesCanBeSet("require-full-access", "checked", true) { core.preferences.isRequireFullAccess }
+ }
+
+ @Test
+ fun `require full access can be set to false`() {
+ verifyThatPreferencesCanBeSet("require-full-access", null, false) { core.preferences.isRequireFullAccess }
+ }
+
+ @Test
+ fun `negative trust can not be set to -101`() {
+ verifyThatWrongValueForPreferenceIsDetected("negative-trust", "-101")
+ }
+
+ @Test
+ fun `negative trust can be set to -100`() {
+ verifyThatPreferencesCanBeSet("negative-trust", "-100", -100) { core.preferences.negativeTrust }
+ }
+
+ @Test
+ fun `negative trust can be set to 100`() {
+ verifyThatPreferencesCanBeSet("negative-trust", "100", 100) { core.preferences.negativeTrust }
+ }
+
+ @Test
+ fun `negative trust can not be set to 101`() {
+ verifyThatWrongValueForPreferenceIsDetected("negative-trust", "101")
+ }
+
+ @Test
+ fun `negative trust is set to default on invalid value`() {
+ verifyThatPreferencesCanBeSet("negative-trust", "invalid", -25) { core.preferences.negativeTrust }
+ }
+
+ @Test
+ fun `positive trust can not be set to -1`() {
+ verifyThatWrongValueForPreferenceIsDetected("positive-trust", "-1")
+ }
+
+ @Test
+ fun `positive trust can be set to 0`() {
+ verifyThatPreferencesCanBeSet("positive-trust", "0", 0) { core.preferences.positiveTrust }
+ }
+
+ @Test
+ fun `positive trust can be set to 100`() {
+ verifyThatPreferencesCanBeSet("positive-trust", "100", 100) { core.preferences.positiveTrust }
+ }
+
+ @Test
+ fun `positive trust can not be set to 101`() {
+ verifyThatWrongValueForPreferenceIsDetected("positive-trust", "101")
+ }
+
+ @Test
+ fun `positive trust is set to default on invalid value`() {
+ verifyThatPreferencesCanBeSet("positive-trust", "invalid", 75) { core.preferences.positiveTrust }
+ }
+
+ @Test
+ fun `post cut off length can not be set to -49`() {
+ verifyThatWrongValueForPreferenceIsDetected("post-cut-off-length", "-49")
+ }
+
+ @Test
+ fun `post cut off length can be set to 50`() {
+ verifyThatPreferencesCanBeSet("post-cut-off-length", "50", 50) { core.preferences.postCutOffLength }
+ }
+
+ @Test
+ fun `post cut off length is set to default on invalid value`() {
+ verifyThatPreferencesCanBeSet("post-cut-off-length", "invalid", 200) { core.preferences.postCutOffLength }
+ }
+
+ @Test
+ fun `posts per page can not be set to 0`() {
+ verifyThatWrongValueForPreferenceIsDetected("posts-per-page", "-49")
+ }
+
+ @Test
+ fun `posts per page can be set to 1`() {
+ verifyThatPreferencesCanBeSet("posts-per-page", "1", 1) { core.preferences.postsPerPage }
+ }
+
+ @Test
+ fun `posts per page is set to default on invalid value`() {
+ verifyThatPreferencesCanBeSet("posts-per-page", "invalid", 10) { core.preferences.postsPerPage }
+ }
+
+ @Test
+ fun `trust comment can be set`() {
+ verifyThatPreferencesCanBeSet("trust-comment", "trust", "trust") { core.preferences.trustComment }
+ }
+
+ @Test
+ fun `trust comment is set to default when set to empty value`() {
+ verifyThatPreferencesCanBeSet("trust-comment", "", "Set from Sone Web Interface") { core.preferences.trustComment }
+ }
+