📄 Update copyright lines with correct filenames
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / text / SoneTextParserTest.kt
index 9ea97d9..b20225a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Sone - SoneTextParserTest.java - Copyright Â© 2011–2019 David Roden
+ * Sone - SoneTextParserTest.kt - Copyright Â© 2011–2019 David Roden
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -24,7 +24,7 @@ import net.pterodactylus.sone.database.*
 import net.pterodactylus.sone.test.*
 import org.hamcrest.MatcherAssert.*
 import org.hamcrest.Matchers.*
-import org.junit.*
+import kotlin.test.*
 
 /**
  * JUnit test case for [SoneTextParser].
@@ -244,6 +244,13 @@ class SoneTextParserTest {
        }
 
        @Test
+       fun `usk links with backlinks is parsed correctly`() {
+               val context = SoneTextParserContext(IdOnlySone("qM1nmgU-YUnIttmEhqjTl7ifAF3Z6o~5EPwQW03uEQU"))
+               val parts = soneTextParser.parse("USK@qM1nmgU-YUnIttmEhqjTl7ifAF3Z6o~5EPwQW03uEQU,aztSUkT-VT1dWvfSUt9YpfyW~Flmf5yXpBnIE~v8sAg,AAMC--8/test/0/../../../USK@nwa8lHa271k2QvJ8aa0Ov7IHAV-DFOCFgmDt3X6BpCI,DuQSUZiI~agF8c-6tjsFFGuZ8eICrzWCILB60nT8KKo,AQACAAE/sone/78/", context)
+               assertThat("Part Text", convertText(parts), equalTo("[USK@qM1nmgU-YUnIttmEhqjTl7ifAF3Z6o~5EPwQW03uEQU,aztSUkT-VT1dWvfSUt9YpfyW~Flmf5yXpBnIE~v8sAg,AAMC--8/test/0|trusted|USK@qM1nmgU-YUnIttmEhqjTl7ifAF3Z6o~5EPwQW03uEQU,aztSUkT-VT1dWvfSUt9YpfyW~Flmf5yXpBnIE~v8sAg,AAMC--8/test/0|test]"))
+       }
+
+       @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]"))
@@ -262,6 +269,12 @@ class SoneTextParserTest {
        }
 
        @Test
+       fun `ksk links with backlinks are parsed correctly`() {
+               val parts = soneTextParser.parse("KSK@gallery/../Sone/imageBrowser.html?album=30c930ee-97cd-11e9-bd44-f3e595768b77", null)
+               assertThat("Part Text", convertText(parts, FreenetLinkPart::class.java), equalTo("[KSK@gallery|KSK@gallery|gallery]"))
+       }
+
+       @Test
        fun `test empty lines and sone links`() {
                val soneTextParser = SoneTextParser(TestSoneProvider(), null)