Adds support for BUD-10 Blossom URIs
This commit is contained in:
+21
-9
@@ -4050,8 +4050,8 @@ class RichTextParserTest {
|
||||
)
|
||||
}
|
||||
|
||||
assertTrue(state.imagesForPager.isEmpty())
|
||||
assertTrue(state.imageList.isEmpty())
|
||||
assertTrue(state.mediaForPager.isEmpty())
|
||||
assertTrue(state.mediaList.isEmpty())
|
||||
assertTrue(state.customEmoji.isEmpty())
|
||||
assertEquals(651, state.paragraphs.size)
|
||||
}
|
||||
@@ -4064,8 +4064,8 @@ class RichTextParserTest {
|
||||
assertTrue(state.urlSet.withoutScheme.isEmpty())
|
||||
assertTrue(state.urlSet.withScheme.isEmpty())
|
||||
assertTrue(state.urlSet.emails.isEmpty())
|
||||
assertTrue(state.imagesForPager.isEmpty())
|
||||
assertTrue(state.imageList.isEmpty())
|
||||
assertTrue(state.mediaForPager.isEmpty())
|
||||
assertTrue(state.mediaList.isEmpty())
|
||||
assertTrue(state.customEmoji.isEmpty())
|
||||
assertEquals(
|
||||
"Hi, how are you doing?",
|
||||
@@ -4084,8 +4084,8 @@ class RichTextParserTest {
|
||||
assertTrue(state.urlSet.withoutScheme.isEmpty())
|
||||
assertTrue(state.urlSet.withScheme.isEmpty())
|
||||
assertTrue(state.urlSet.emails.isEmpty())
|
||||
assertTrue(state.imagesForPager.isEmpty())
|
||||
assertTrue(state.imageList.isEmpty())
|
||||
assertTrue(state.mediaForPager.isEmpty())
|
||||
assertTrue(state.mediaList.isEmpty())
|
||||
assertTrue(state.customEmoji.isEmpty())
|
||||
assertEquals(
|
||||
"\nHi,\nhow\n\n\n are you doing?\n",
|
||||
@@ -4107,17 +4107,29 @@ class RichTextParserTest {
|
||||
val state =
|
||||
RichTextParser()
|
||||
.parseText(text, EmptyTagList, null)
|
||||
|
||||
val urls = state.urlSet.withScheme.toList()
|
||||
val bech = state.urlSet.bech32s.toList()
|
||||
|
||||
assertEquals(
|
||||
"https://lnshort.it/live-stream-embeds/",
|
||||
state.urlSet.withScheme.firstOrNull(),
|
||||
urls[0],
|
||||
)
|
||||
assertEquals(
|
||||
"https://nostr.build/i/fd53fcf5ad950fbe45127e4bcee1b59e8301d41de6beee211f45e344db214e8a.jpg",
|
||||
state.imagesForPager.keys.firstOrNull(),
|
||||
urls[1],
|
||||
)
|
||||
assertEquals(
|
||||
"nostr:npub1048qg5p6kfnpth2l98kq3dffg097tutm4npsz2exygx25ge2k9xqf5x3nf",
|
||||
bech[0],
|
||||
)
|
||||
assertEquals(
|
||||
"https://nostr.build/i/fd53fcf5ad950fbe45127e4bcee1b59e8301d41de6beee211f45e344db214e8a.jpg",
|
||||
state.imageList.firstOrNull()?.url,
|
||||
state.mediaForPager.keys.firstOrNull(),
|
||||
)
|
||||
assertEquals(
|
||||
"https://nostr.build/i/fd53fcf5ad950fbe45127e4bcee1b59e8301d41de6beee211f45e344db214e8a.jpg",
|
||||
state.mediaList.firstOrNull()?.url,
|
||||
)
|
||||
assertTrue(state.customEmoji.isEmpty())
|
||||
|
||||
|
||||
+11
-5
@@ -20,6 +20,7 @@
|
||||
*/
|
||||
package com.vitorpamplona.amethyst.commons.richtext
|
||||
|
||||
import com.vitorpamplona.quartz.nipB7Blossom.BlossomUri
|
||||
import kotlin.test.Test
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
@@ -286,9 +287,14 @@ class UrlParserTest {
|
||||
)
|
||||
|
||||
@Test
|
||||
fun testBlossom() =
|
||||
test(
|
||||
"blossom:b1674191a88ec5cdd733e4240a81803105dc412d6c6708d53ab94fc248f4f553.pdf?xs=cdn.satellite.earth",
|
||||
Urls(withScheme = setOf("blossom:b1674191a88ec5cdd733e4240a81803105dc412d6c6708d53ab94fc248f4f553.pdf?xs=cdn.satellite.earth")),
|
||||
)
|
||||
fun testBlossom() {
|
||||
val blossom = "blossom:b1674191a88ec5cdd733e4240a81803105dc412d6c6708d53ab94fc248f4f553.pdf?xs=cdn.satellite.earth"
|
||||
test(blossom, Urls(blossomUris = mapOf(blossom to BlossomUri.parse(blossom)!!)))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testBlossomComplete() {
|
||||
val blossom = "blossom:a7b3c2d1e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1.png?xs=cdn.example.com&xs=media.nostr.build&as=781208004e09102d7da3b7345e64fd193cd1bc3fce8fdae6008d77f9cabcd036&as=b53185b9f27962ebdf76b8a9b0a84cd8b27f9f3d4abd59f715788a3bf9e7f75e&sz=2547831"
|
||||
test(blossom, Urls(blossomUris = mapOf(blossom to BlossomUri.parse(blossom)!!)))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user