🐛 Fix breaking parser on invalid SSK/USKs
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / text / SoneTextParserTest.kt
index 3367faf..bd14858 100644 (file)
@@ -18,6 +18,7 @@
 package net.pterodactylus.sone.text
 
 import com.google.inject.Guice.*
+import freenet.keys.FreenetURI
 import net.pterodactylus.sone.data.*
 import net.pterodactylus.sone.data.impl.*
 import net.pterodactylus.sone.database.*
@@ -251,6 +252,14 @@ class SoneTextParserTest {
        }
 
        @Test
+       fun `broken usk links is parsed as plain text`() {
+               val context = SoneTextParserContext(IdOnlySone("qM1nmgU-YUnIttmEhqjTl7ifAF3Z6o~5EPwQW03uEQU"))
+               val parts = soneTextParser.parse("USK@/someCrazyName.R1/0", context)
+               FreenetURI("USK@/someCrazyName.R1/0")
+               assertThat("Part Text", convertText(parts), equalTo("USK@/someCrazyName.R1/0"))
+       }
+
+       @Test
        fun `test basic ksk links`() {
                val parts: Iterable<Part> = soneTextParser.parse("KSK@gpl.txt", null)
                assertThat("Part Text", convertText(parts, FreenetLinkPart::class.java), equalTo("[KSK@gpl.txt|KSK@gpl.txt|gpl.txt]"))