- Adds nembed

- Redesigns NIP-19 returns to allow nembeds and give more nuance to the UI.
This commit is contained in:
Vitor Pamplona
2024-02-27 15:39:15 -05:00
parent 87fabd54de
commit f78a252c8f
23 changed files with 710 additions and 517 deletions
@@ -26,6 +26,7 @@ import com.vitorpamplona.amethyst.ui.actions.Dao
import com.vitorpamplona.amethyst.ui.actions.NewMessageTagger
import com.vitorpamplona.quartz.encoders.Nip19Bech32
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Test
/**
@@ -54,10 +55,10 @@ class NewMessageTaggerKeyParseTest {
val result =
NewMessageTagger(message = "", dao = dao)
.parseDirtyWordForKey("note1z5e2m0smx6d7e2d0zaq8d3rnd7httm6j0uf8tf90yqqjrs842czshwtkmn")
assertEquals(Nip19Bech32.Type.NOTE, result?.key?.type)
assertTrue(result?.key?.entity is Nip19Bech32.Note)
assertEquals(
"1532adbe1b369beca9af174076c4736faeb5ef527f1275a4af200121c0f55605",
result?.key?.hex,
(result?.key?.entity as? Nip19Bech32.Note)?.hex,
)
assertEquals("", result?.restOfWord)
}
@@ -67,10 +68,10 @@ class NewMessageTaggerKeyParseTest {
val result =
NewMessageTagger(message = "", dao = dao)
.parseDirtyWordForKey("npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z")
assertEquals(Nip19Bech32.Type.USER, result?.key?.type)
assertTrue(result?.key?.entity is Nip19Bech32.NPub)
assertEquals(
"460c25e682fda7832b52d1f22d3d22b3176d972f60dcdc3212ed8c92ef85065c",
result?.key?.hex,
(result?.key?.entity as? Nip19Bech32.NPub)?.hex,
)
assertEquals("", result?.restOfWord)
}
@@ -80,10 +81,10 @@ class NewMessageTaggerKeyParseTest {
val result =
NewMessageTagger(message = "", dao = dao)
.parseDirtyWordForKey("note1z5e2m0smx6d7e2d0zaq8d3rnd7httm6j0uf8tf90yqqjrs842czshwtkmn,")
assertEquals(Nip19Bech32.Type.NOTE, result?.key?.type)
assertTrue(result?.key?.entity is Nip19Bech32.Note)
assertEquals(
"1532adbe1b369beca9af174076c4736faeb5ef527f1275a4af200121c0f55605",
result?.key?.hex,
(result?.key?.entity as? Nip19Bech32.Note)?.hex,
)
assertEquals(",", result?.restOfWord)
}
@@ -93,10 +94,10 @@ class NewMessageTaggerKeyParseTest {
val result =
NewMessageTagger(message = "", dao = dao)
.parseDirtyWordForKey("npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z,")
assertEquals(Nip19Bech32.Type.USER, result?.key?.type)
assertTrue(result?.key?.entity is Nip19Bech32.NPub)
assertEquals(
"460c25e682fda7832b52d1f22d3d22b3176d972f60dcdc3212ed8c92ef85065c",
result?.key?.hex,
(result?.key?.entity as? Nip19Bech32.NPub)?.hex,
)
assertEquals(",", result?.restOfWord)
}
@@ -106,10 +107,10 @@ class NewMessageTaggerKeyParseTest {
val result =
NewMessageTagger(message = "", dao = dao)
.parseDirtyWordForKey("@note1z5e2m0smx6d7e2d0zaq8d3rnd7httm6j0uf8tf90yqqjrs842czshwtkmn,")
assertEquals(Nip19Bech32.Type.NOTE, result?.key?.type)
assertTrue(result?.key?.entity is Nip19Bech32.Note)
assertEquals(
"1532adbe1b369beca9af174076c4736faeb5ef527f1275a4af200121c0f55605",
result?.key?.hex,
(result?.key?.entity as? Nip19Bech32.Note)?.hex,
)
assertEquals(",", result?.restOfWord)
}
@@ -119,10 +120,10 @@ class NewMessageTaggerKeyParseTest {
val result =
NewMessageTagger(message = "", dao = dao)
.parseDirtyWordForKey("@npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z,")
assertEquals(Nip19Bech32.Type.USER, result?.key?.type)
assertTrue(result?.key?.entity is Nip19Bech32.NPub)
assertEquals(
"460c25e682fda7832b52d1f22d3d22b3176d972f60dcdc3212ed8c92ef85065c",
result?.key?.hex,
(result?.key?.entity as? Nip19Bech32.NPub)?.hex,
)
assertEquals(",", result?.restOfWord)
}
@@ -134,10 +135,10 @@ class NewMessageTaggerKeyParseTest {
.parseDirtyWordForKey(
"nostr:note1z5e2m0smx6d7e2d0zaq8d3rnd7httm6j0uf8tf90yqqjrs842czshwtkmn,",
)
assertEquals(Nip19Bech32.Type.NOTE, result?.key?.type)
assertTrue(result?.key?.entity is Nip19Bech32.Note)
assertEquals(
"1532adbe1b369beca9af174076c4736faeb5ef527f1275a4af200121c0f55605",
result?.key?.hex,
(result?.key?.entity as? Nip19Bech32.Note)?.hex,
)
assertEquals(",", result?.restOfWord)
}
@@ -149,10 +150,10 @@ class NewMessageTaggerKeyParseTest {
.parseDirtyWordForKey(
"nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z,",
)
assertEquals(Nip19Bech32.Type.USER, result?.key?.type)
assertTrue(result?.key?.entity is Nip19Bech32.NPub)
assertEquals(
"460c25e682fda7832b52d1f22d3d22b3176d972f60dcdc3212ed8c92ef85065c",
result?.key?.hex,
(result?.key?.entity as? Nip19Bech32.NPub)?.hex,
)
assertEquals(",", result?.restOfWord)
}
@@ -164,10 +165,10 @@ class NewMessageTaggerKeyParseTest {
.parseDirtyWordForKey(
"Nostr:note1z5e2m0smx6d7e2d0zaq8d3rnd7httm6j0uf8tf90yqqjrs842czshwtkmn,",
)
assertEquals(Nip19Bech32.Type.NOTE, result?.key?.type)
assertTrue(result?.key?.entity is Nip19Bech32.Note)
assertEquals(
"1532adbe1b369beca9af174076c4736faeb5ef527f1275a4af200121c0f55605",
result?.key?.hex,
(result?.key?.entity as? Nip19Bech32.Note)?.hex,
)
assertEquals(",", result?.restOfWord)
}
@@ -179,10 +180,10 @@ class NewMessageTaggerKeyParseTest {
.parseDirtyWordForKey(
"nOstr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z,",
)
assertEquals(Nip19Bech32.Type.USER, result?.key?.type)
assertTrue(result?.key?.entity is Nip19Bech32.NPub)
assertEquals(
"460c25e682fda7832b52d1f22d3d22b3176d972f60dcdc3212ed8c92ef85065c",
result?.key?.hex,
(result?.key?.entity as? Nip19Bech32.NPub)?.hex,
)
assertEquals(",", result?.restOfWord)
}