mirror of
git://jb55.com/damus
synced 2024-09-18 19:23:49 +00:00
project: rename parse_mentions to parse_note_content
This is more accurate
This commit is contained in:
parent
da78a217a3
commit
0c95071de7
@ -163,7 +163,7 @@ struct Blocks {
|
|||||||
let blocks: [Block]
|
let blocks: [Block]
|
||||||
}
|
}
|
||||||
|
|
||||||
func parse_mentions(content: String, tags: [[String]]) -> Blocks {
|
func parse_note_content(content: String, tags: [[String]]) -> Blocks {
|
||||||
var out: [Block] = []
|
var out: [Block] = []
|
||||||
|
|
||||||
var bs = note_blocks()
|
var bs = note_blocks()
|
||||||
|
@ -111,6 +111,6 @@ func parse_post_bech32_mention(_ p: Parser) -> ReferencedId? {
|
|||||||
|
|
||||||
/// Return a list of tags
|
/// Return a list of tags
|
||||||
func parse_post_blocks(content: String) -> [Block] {
|
func parse_post_blocks(content: String) -> [Block] {
|
||||||
return parse_mentions(content: content, tags: []).blocks
|
return parse_note_content(content: content, tags: []).blocks
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,7 +102,7 @@ class NostrEvent: Codable, Identifiable, CustomStringConvertible, Equatable, Has
|
|||||||
}
|
}
|
||||||
|
|
||||||
func get_blocks(content: String) -> Blocks {
|
func get_blocks(content: String) -> Blocks {
|
||||||
return parse_mentions(content: content, tags: self.tags)
|
return parse_note_content(content: content, tags: self.tags)
|
||||||
}
|
}
|
||||||
|
|
||||||
private lazy var inner_event: NostrEvent? = {
|
private lazy var inner_event: NostrEvent? = {
|
||||||
|
@ -39,7 +39,7 @@ struct AboutView: View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.onAppear {
|
.onAppear {
|
||||||
let blocks = parse_mentions(content: about, tags: [])
|
let blocks = parse_note_content(content: about, tags: [])
|
||||||
about_string = render_blocks(blocks: blocks, profiles: state.profiles).content.attributed
|
about_string = render_blocks(blocks: blocks, profiles: state.profiles).content.attributed
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ final class HashtagTests: XCTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func testParseHashtag() {
|
func testParseHashtag() {
|
||||||
let parsed = parse_mentions(content: "some hashtag #bitcoin derp", tags: []).blocks
|
let parsed = parse_note_content(content: "some hashtag #bitcoin derp", tags: []).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed.count, 3)
|
XCTAssertEqual(parsed.count, 3)
|
||||||
@ -29,7 +29,7 @@ final class HashtagTests: XCTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func testHashtagWithComma() {
|
func testHashtagWithComma() {
|
||||||
let parsed = parse_mentions(content: "some hashtag #bitcoin, cool", tags: []).blocks
|
let parsed = parse_note_content(content: "some hashtag #bitcoin, cool", tags: []).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed.count, 3)
|
XCTAssertEqual(parsed.count, 3)
|
||||||
@ -40,7 +40,7 @@ final class HashtagTests: XCTestCase {
|
|||||||
|
|
||||||
func testHashtagWithEmoji() {
|
func testHashtagWithEmoji() {
|
||||||
let content = "some hashtag #bitcoin☕️ cool"
|
let content = "some hashtag #bitcoin☕️ cool"
|
||||||
let parsed = parse_mentions(content: content, tags: []).blocks
|
let parsed = parse_note_content(content: content, tags: []).blocks
|
||||||
let post_blocks = parse_post_blocks(content: content)
|
let post_blocks = parse_post_blocks(content: content)
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
@ -57,7 +57,7 @@ final class HashtagTests: XCTestCase {
|
|||||||
|
|
||||||
func testPowHashtag() {
|
func testPowHashtag() {
|
||||||
let content = "pow! #ぽわ〜"
|
let content = "pow! #ぽわ〜"
|
||||||
let parsed = parse_mentions(content: content, tags: []).blocks
|
let parsed = parse_note_content(content: content, tags: []).blocks
|
||||||
let post_blocks = parse_post_blocks(content: content)
|
let post_blocks = parse_post_blocks(content: content)
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
@ -71,7 +71,7 @@ final class HashtagTests: XCTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func testHashtagWithAccents() {
|
func testHashtagWithAccents() {
|
||||||
let parsed = parse_mentions(content: "hello from #türkiye", tags: []).blocks
|
let parsed = parse_note_content(content: "hello from #türkiye", tags: []).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed.count, 2)
|
XCTAssertEqual(parsed.count, 2)
|
||||||
@ -80,7 +80,7 @@ final class HashtagTests: XCTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func testHashtagWithNonLatinCharacters() {
|
func testHashtagWithNonLatinCharacters() {
|
||||||
let parsed = parse_mentions(content: "this is a #시험 hope it works", tags: []).blocks
|
let parsed = parse_note_content(content: "this is a #시험 hope it works", tags: []).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed.count, 3)
|
XCTAssertEqual(parsed.count, 3)
|
||||||
@ -90,7 +90,7 @@ final class HashtagTests: XCTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func testParseHashtagEnd() {
|
func testParseHashtagEnd() {
|
||||||
let parsed = parse_mentions(content: "some hashtag #bitcoin", tags: []).blocks
|
let parsed = parse_note_content(content: "some hashtag #bitcoin", tags: []).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed.count, 2)
|
XCTAssertEqual(parsed.count, 2)
|
||||||
|
@ -20,7 +20,7 @@ final class InvoiceTests: XCTestCase {
|
|||||||
|
|
||||||
func testParseAnyAmountInvoice() throws {
|
func testParseAnyAmountInvoice() throws {
|
||||||
let invstr = "LNBC1P3MR5UJSP5G7SA48YD4JWTTPCHWMY4QYN4UWZQCJQ8NMWKD6QE3HCRVYTDLH9SPP57YM9TSA9NN4M4XU59XMJCXKR7YDV29DDP6LVQUT46ZW6CU3KE9GQDQ9V9H8JXQ8P3MYLZJCQPJRZJQF60PZDVNGGQWQDNERZSQN35L8CVQ3QG2Z5NSZYD0D3Q0JW2TL6VUZA7FYQQWKGQQYQQQQLGQQQQXJQQ9Q9QXPQYSGQ39EM4QJMQFKZGJXZVGL7QJMYNSWA8PGDTAGXXRG5Z92M7VLCGKQK2L2THDF8LM0AUKAURH7FVAWDLRNMVF38W4EYJDNVN9V4Z9CRS5CQCV465C"
|
let invstr = "LNBC1P3MR5UJSP5G7SA48YD4JWTTPCHWMY4QYN4UWZQCJQ8NMWKD6QE3HCRVYTDLH9SPP57YM9TSA9NN4M4XU59XMJCXKR7YDV29DDP6LVQUT46ZW6CU3KE9GQDQ9V9H8JXQ8P3MYLZJCQPJRZJQF60PZDVNGGQWQDNERZSQN35L8CVQ3QG2Z5NSZYD0D3Q0JW2TL6VUZA7FYQQWKGQQYQQQQLGQQQQXJQQ9Q9QXPQYSGQ39EM4QJMQFKZGJXZVGL7QJMYNSWA8PGDTAGXXRG5Z92M7VLCGKQK2L2THDF8LM0AUKAURH7FVAWDLRNMVF38W4EYJDNVN9V4Z9CRS5CQCV465C"
|
||||||
let parsed = parse_mentions(content: invstr, tags: []).blocks
|
let parsed = parse_note_content(content: invstr, tags: []).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed.count, 1)
|
XCTAssertEqual(parsed.count, 1)
|
||||||
@ -38,7 +38,7 @@ final class InvoiceTests: XCTestCase {
|
|||||||
let invstr = """
|
let invstr = """
|
||||||
LNBC1P3MR5UJSP5G7SA48YD4JWTTPCHWMY4QYN4UWZQCJQ8NMWKD6QE3HCRVYTDLH9SPP57YM9TSA9NN4M4XU59XMJCXKR7YDV29DDP6LVQUT46ZW6CU3KE9GQDQ9V9H8JXQ8P3MYLZJCQPJRZJQF60PZDVNGGQWQDNERZSQN35L8CVQ3QG2Z5NSZYD0D3Q0JW2TL6VUZA7FYQQWKGQQYQQQQLGQQQQXJQQ9Q9QXPQYSGQ39EM4QJMQFKZGJXZVGL7QJMYNSWA8PGDTAGXXRG5Z92M7VLCGKQK2L2THDF8LM0AUKAURH7FVAWDLRNMVF38W4EYJDNVN9V4Z9CRS5CQCV465C hi there
|
LNBC1P3MR5UJSP5G7SA48YD4JWTTPCHWMY4QYN4UWZQCJQ8NMWKD6QE3HCRVYTDLH9SPP57YM9TSA9NN4M4XU59XMJCXKR7YDV29DDP6LVQUT46ZW6CU3KE9GQDQ9V9H8JXQ8P3MYLZJCQPJRZJQF60PZDVNGGQWQDNERZSQN35L8CVQ3QG2Z5NSZYD0D3Q0JW2TL6VUZA7FYQQWKGQQYQQQQLGQQQQXJQQ9Q9QXPQYSGQ39EM4QJMQFKZGJXZVGL7QJMYNSWA8PGDTAGXXRG5Z92M7VLCGKQK2L2THDF8LM0AUKAURH7FVAWDLRNMVF38W4EYJDNVN9V4Z9CRS5CQCV465C hi there
|
||||||
"""
|
"""
|
||||||
let parsed = parse_mentions(content: invstr, tags: []).blocks
|
let parsed = parse_note_content(content: invstr, tags: []).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed.count, 2)
|
XCTAssertEqual(parsed.count, 2)
|
||||||
@ -54,7 +54,7 @@ LNBC1P3MR5UJSP5G7SA48YD4JWTTPCHWMY4QYN4UWZQCJQ8NMWKD6QE3HCRVYTDLH9SPP57YM9TSA9NN
|
|||||||
|
|
||||||
func testParseInvoiceUpper() throws {
|
func testParseInvoiceUpper() throws {
|
||||||
let invstr = "LNBC100N1P357SL0SP5T9N56WDZTUN39LGDQLR30XQWKSG3K69Q4Q2RKR52APLUJW0ESN0QPP5MRQGLJK62Z20Q4NVGR6LZCYN6FHYLZCCWDVU4K77APG3ZMRKUJJQDPZW35XJUEQD9EJQCFQV3JHXCMJD9C8G6T0DCXQYJW5QCQPJRZJQT56H4GVP5YX36U2UZQA6QWCSK3E2DUUNFXPPZJ9VHYPC3WFE2WSWZ607UQQ3XQQQSQQQQQQQQQQQLQQYG9QYYSGQAGX5H20AEULJ3GDWX3KXS8U9F4MCAKDKWUAKASAMM9562FFYR9EN8YG20LG0YGNR9ZPWP68524KMDA0T5XP2WYTEX35PU8HAPYJAJXQPSQL29R"
|
let invstr = "LNBC100N1P357SL0SP5T9N56WDZTUN39LGDQLR30XQWKSG3K69Q4Q2RKR52APLUJW0ESN0QPP5MRQGLJK62Z20Q4NVGR6LZCYN6FHYLZCCWDVU4K77APG3ZMRKUJJQDPZW35XJUEQD9EJQCFQV3JHXCMJD9C8G6T0DCXQYJW5QCQPJRZJQT56H4GVP5YX36U2UZQA6QWCSK3E2DUUNFXPPZJ9VHYPC3WFE2WSWZ607UQQ3XQQQSQQQQQQQQQQQLQQYG9QYYSGQAGX5H20AEULJ3GDWX3KXS8U9F4MCAKDKWUAKASAMM9562FFYR9EN8YG20LG0YGNR9ZPWP68524KMDA0T5XP2WYTEX35PU8HAPYJAJXQPSQL29R"
|
||||||
let parsed = parse_mentions(content: invstr, tags: []).blocks
|
let parsed = parse_note_content(content: invstr, tags: []).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed.count, 1)
|
XCTAssertEqual(parsed.count, 1)
|
||||||
@ -70,7 +70,7 @@ LNBC1P3MR5UJSP5G7SA48YD4JWTTPCHWMY4QYN4UWZQCJQ8NMWKD6QE3HCRVYTDLH9SPP57YM9TSA9NN
|
|||||||
|
|
||||||
func testParseInvoiceWithPrefix() throws {
|
func testParseInvoiceWithPrefix() throws {
|
||||||
let invstr = "lightning:lnbc100n1p357sl0sp5t9n56wdztun39lgdqlr30xqwksg3k69q4q2rkr52aplujw0esn0qpp5mrqgljk62z20q4nvgr6lzcyn6fhylzccwdvu4k77apg3zmrkujjqdpzw35xjueqd9ejqcfqv3jhxcmjd9c8g6t0dcxqyjw5qcqpjrzjqt56h4gvp5yx36u2uzqa6qwcsk3e2duunfxppzj9vhypc3wfe2wswz607uqq3xqqqsqqqqqqqqqqqlqqyg9qyysgqagx5h20aeulj3gdwx3kxs8u9f4mcakdkwuakasamm9562ffyr9en8yg20lg0ygnr9zpwp68524kmda0t5xp2wytex35pu8hapyjajxqpsql29r"
|
let invstr = "lightning:lnbc100n1p357sl0sp5t9n56wdztun39lgdqlr30xqwksg3k69q4q2rkr52aplujw0esn0qpp5mrqgljk62z20q4nvgr6lzcyn6fhylzccwdvu4k77apg3zmrkujjqdpzw35xjueqd9ejqcfqv3jhxcmjd9c8g6t0dcxqyjw5qcqpjrzjqt56h4gvp5yx36u2uzqa6qwcsk3e2duunfxppzj9vhypc3wfe2wswz607uqq3xqqqsqqqqqqqqqqqlqqyg9qyysgqagx5h20aeulj3gdwx3kxs8u9f4mcakdkwuakasamm9562ffyr9en8yg20lg0ygnr9zpwp68524kmda0t5xp2wytex35pu8hapyjajxqpsql29r"
|
||||||
let parsed = parse_mentions(content: invstr, tags: []).blocks
|
let parsed = parse_note_content(content: invstr, tags: []).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed.count, 1)
|
XCTAssertEqual(parsed.count, 1)
|
||||||
@ -79,7 +79,7 @@ LNBC1P3MR5UJSP5G7SA48YD4JWTTPCHWMY4QYN4UWZQCJQ8NMWKD6QE3HCRVYTDLH9SPP57YM9TSA9NN
|
|||||||
|
|
||||||
func testParseInvoiceWithPrefixCapitalized() throws {
|
func testParseInvoiceWithPrefixCapitalized() throws {
|
||||||
let invstr = "LIGHTNING:LNBC100N1P357SL0SP5T9N56WDZTUN39LGDQLR30XQWKSG3K69Q4Q2RKR52APLUJW0ESN0QPP5MRQGLJK62Z20Q4NVGR6LZCYN6FHYLZCCWDVU4K77APG3ZMRKUJJQDPZW35XJUEQD9EJQCFQV3JHXCMJD9C8G6T0DCXQYJW5QCQPJRZJQT56H4GVP5YX36U2UZQA6QWCSK3E2DUUNFXPPZJ9VHYPC3WFE2WSWZ607UQQ3XQQQSQQQQQQQQQQQLQQYG9QYYSGQAGX5H20AEULJ3GDWX3KXS8U9F4MCAKDKWUAKASAMM9562FFYR9EN8YG20LG0YGNR9ZPWP68524KMDA0T5XP2WYTEX35PU8HAPYJAJXQPSQL29R"
|
let invstr = "LIGHTNING:LNBC100N1P357SL0SP5T9N56WDZTUN39LGDQLR30XQWKSG3K69Q4Q2RKR52APLUJW0ESN0QPP5MRQGLJK62Z20Q4NVGR6LZCYN6FHYLZCCWDVU4K77APG3ZMRKUJJQDPZW35XJUEQD9EJQCFQV3JHXCMJD9C8G6T0DCXQYJW5QCQPJRZJQT56H4GVP5YX36U2UZQA6QWCSK3E2DUUNFXPPZJ9VHYPC3WFE2WSWZ607UQQ3XQQQSQQQQQQQQQQQLQQYG9QYYSGQAGX5H20AEULJ3GDWX3KXS8U9F4MCAKDKWUAKASAMM9562FFYR9EN8YG20LG0YGNR9ZPWP68524KMDA0T5XP2WYTEX35PU8HAPYJAJXQPSQL29R"
|
||||||
let parsed = parse_mentions(content: invstr, tags: []).blocks
|
let parsed = parse_note_content(content: invstr, tags: []).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed.count, 1)
|
XCTAssertEqual(parsed.count, 1)
|
||||||
@ -88,7 +88,7 @@ LNBC1P3MR5UJSP5G7SA48YD4JWTTPCHWMY4QYN4UWZQCJQ8NMWKD6QE3HCRVYTDLH9SPP57YM9TSA9NN
|
|||||||
|
|
||||||
func testParseInvoice() throws {
|
func testParseInvoice() throws {
|
||||||
let invstr = "lnbc100n1p357sl0sp5t9n56wdztun39lgdqlr30xqwksg3k69q4q2rkr52aplujw0esn0qpp5mrqgljk62z20q4nvgr6lzcyn6fhylzccwdvu4k77apg3zmrkujjqdpzw35xjueqd9ejqcfqv3jhxcmjd9c8g6t0dcxqyjw5qcqpjrzjqt56h4gvp5yx36u2uzqa6qwcsk3e2duunfxppzj9vhypc3wfe2wswz607uqq3xqqqsqqqqqqqqqqqlqqyg9qyysgqagx5h20aeulj3gdwx3kxs8u9f4mcakdkwuakasamm9562ffyr9en8yg20lg0ygnr9zpwp68524kmda0t5xp2wytex35pu8hapyjajxqpsql29r"
|
let invstr = "lnbc100n1p357sl0sp5t9n56wdztun39lgdqlr30xqwksg3k69q4q2rkr52aplujw0esn0qpp5mrqgljk62z20q4nvgr6lzcyn6fhylzccwdvu4k77apg3zmrkujjqdpzw35xjueqd9ejqcfqv3jhxcmjd9c8g6t0dcxqyjw5qcqpjrzjqt56h4gvp5yx36u2uzqa6qwcsk3e2duunfxppzj9vhypc3wfe2wswz607uqq3xqqqsqqqqqqqqqqqlqqyg9qyysgqagx5h20aeulj3gdwx3kxs8u9f4mcakdkwuakasamm9562ffyr9en8yg20lg0ygnr9zpwp68524kmda0t5xp2wytex35pu8hapyjajxqpsql29r"
|
||||||
let parsed = parse_mentions(content: invstr, tags: []).blocks
|
let parsed = parse_note_content(content: invstr, tags: []).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed.count, 1)
|
XCTAssertEqual(parsed.count, 1)
|
||||||
|
@ -19,7 +19,7 @@ final class NIP19Tests: XCTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func test_parse_nprofile() throws {
|
func test_parse_nprofile() throws {
|
||||||
let res = parse_mentions(content: "nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gpp4mhxue69uhhytnc9e3k7mgpz4mhxue69uhkg6nzv9ejuumpv34kytnrdaksjlyr9p", tags: []).blocks
|
let res = parse_note_content(content: "nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gpp4mhxue69uhhytnc9e3k7mgpz4mhxue69uhkg6nzv9ejuumpv34kytnrdaksjlyr9p", tags: []).blocks
|
||||||
XCTAssertEqual(res.count, 1)
|
XCTAssertEqual(res.count, 1)
|
||||||
let expected_ref = ReferencedId(ref_id: "3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d", relay_id: "wss://r.x.com", key: "p")
|
let expected_ref = ReferencedId(ref_id: "3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d", relay_id: "wss://r.x.com", key: "p")
|
||||||
let expected_mention = Mention(index: nil, type: .pubkey, ref: expected_ref)
|
let expected_mention = Mention(index: nil, type: .pubkey, ref: expected_ref)
|
||||||
@ -27,7 +27,7 @@ final class NIP19Tests: XCTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func test_parse_npub() throws {
|
func test_parse_npub() throws {
|
||||||
let res = parse_mentions(content: "nostr:npub10elfcs4fr0l0r8af98jlmgdh9c8tcxjvz9qkw038js35mp4dma8qzvjptg ", tags: []).blocks
|
let res = parse_note_content(content: "nostr:npub10elfcs4fr0l0r8af98jlmgdh9c8tcxjvz9qkw038js35mp4dma8qzvjptg ", tags: []).blocks
|
||||||
XCTAssertEqual(res.count, 2)
|
XCTAssertEqual(res.count, 2)
|
||||||
let expected_ref = ReferencedId(ref_id: "7e7e9c42a91bfef19fa929e5fda1b72e0ebc1a4c1141673e2794234d86addf4e", relay_id: nil, key: "p")
|
let expected_ref = ReferencedId(ref_id: "7e7e9c42a91bfef19fa929e5fda1b72e0ebc1a4c1141673e2794234d86addf4e", relay_id: nil, key: "p")
|
||||||
let expected_mention = Mention(index: nil, type: .pubkey, ref: expected_ref)
|
let expected_mention = Mention(index: nil, type: .pubkey, ref: expected_ref)
|
||||||
@ -35,7 +35,7 @@ final class NIP19Tests: XCTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func test_parse_note() throws {
|
func test_parse_note() throws {
|
||||||
let res = parse_mentions(content: " nostr:note1s4p70596lv50x0zftuses32t6ck8x6wgd4edwacyetfxwns2jtysux7vep", tags: []).blocks
|
let res = parse_note_content(content: " nostr:note1s4p70596lv50x0zftuses32t6ck8x6wgd4edwacyetfxwns2jtysux7vep", tags: []).blocks
|
||||||
XCTAssertEqual(res.count, 2)
|
XCTAssertEqual(res.count, 2)
|
||||||
let expected_ref = ReferencedId(ref_id: "8543e7d0bafb28f33c495f2198454bd62c7369c86d72d77704cad2674e0a92c9", relay_id: nil, key: "e")
|
let expected_ref = ReferencedId(ref_id: "8543e7d0bafb28f33c495f2198454bd62c7369c86d72d77704cad2674e0a92c9", relay_id: nil, key: "e")
|
||||||
let expected_mention = Mention(index: nil, type: .event, ref: expected_ref)
|
let expected_mention = Mention(index: nil, type: .event, ref: expected_ref)
|
||||||
@ -43,7 +43,7 @@ final class NIP19Tests: XCTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func test_mention_with_adjacent() throws {
|
func test_mention_with_adjacent() throws {
|
||||||
let res = parse_mentions(content: " nostr:note1s4p70596lv50x0zftuses32t6ck8x6wgd4edwacyetfxwns2jtysux7vep?", tags: []).blocks
|
let res = parse_note_content(content: " nostr:note1s4p70596lv50x0zftuses32t6ck8x6wgd4edwacyetfxwns2jtysux7vep?", tags: []).blocks
|
||||||
XCTAssertEqual(res.count, 3)
|
XCTAssertEqual(res.count, 3)
|
||||||
let expected_ref = ReferencedId(ref_id: "8543e7d0bafb28f33c495f2198454bd62c7369c86d72d77704cad2674e0a92c9", relay_id: nil, key: "e")
|
let expected_ref = ReferencedId(ref_id: "8543e7d0bafb28f33c495f2198454bd62c7369c86d72d77704cad2674e0a92c9", relay_id: nil, key: "e")
|
||||||
let expected_mention = Mention(index: nil, type: .event, ref: expected_ref)
|
let expected_mention = Mention(index: nil, type: .event, ref: expected_ref)
|
||||||
|
@ -21,7 +21,7 @@ class ReplyTests: XCTestCase {
|
|||||||
func testMentionIsntReply() throws {
|
func testMentionIsntReply() throws {
|
||||||
let content = "this is #[0] a mention"
|
let content = "this is #[0] a mention"
|
||||||
let tags = [["e", "event_id"]]
|
let tags = [["e", "event_id"]]
|
||||||
let blocks = parse_mentions(content: content, tags: tags).blocks
|
let blocks = parse_note_content(content: content, tags: tags).blocks
|
||||||
let event_refs = interpret_event_refs(blocks: blocks, tags: tags)
|
let event_refs = interpret_event_refs(blocks: blocks, tags: tags)
|
||||||
|
|
||||||
XCTAssertEqual(event_refs.count, 1)
|
XCTAssertEqual(event_refs.count, 1)
|
||||||
@ -94,7 +94,7 @@ class ReplyTests: XCTestCase {
|
|||||||
func testRootReplyWithMention() throws {
|
func testRootReplyWithMention() throws {
|
||||||
let content = "this is #[1] a mention"
|
let content = "this is #[1] a mention"
|
||||||
let tags = [["e", "thread_id"], ["e", "mentioned_id"]]
|
let tags = [["e", "thread_id"], ["e", "mentioned_id"]]
|
||||||
let blocks = parse_mentions(content: content, tags: tags).blocks
|
let blocks = parse_note_content(content: content, tags: tags).blocks
|
||||||
let event_refs = interpret_event_refs(blocks: blocks, tags: tags)
|
let event_refs = interpret_event_refs(blocks: blocks, tags: tags)
|
||||||
|
|
||||||
XCTAssertEqual(event_refs.count, 2)
|
XCTAssertEqual(event_refs.count, 2)
|
||||||
@ -112,7 +112,7 @@ class ReplyTests: XCTestCase {
|
|||||||
func testEmptyMention() throws {
|
func testEmptyMention() throws {
|
||||||
let content = "this is some & content"
|
let content = "this is some & content"
|
||||||
let tags: [[String]] = []
|
let tags: [[String]] = []
|
||||||
let blocks = parse_mentions(content: content, tags: tags).blocks
|
let blocks = parse_note_content(content: content, tags: tags).blocks
|
||||||
let post_blocks = parse_post_blocks(content: content)
|
let post_blocks = parse_post_blocks(content: content)
|
||||||
let post_tags = make_post_tags(post_blocks: post_blocks, tags: tags, silent_mentions: false)
|
let post_tags = make_post_tags(post_blocks: post_blocks, tags: tags, silent_mentions: false)
|
||||||
let event_refs = interpret_event_refs(blocks: blocks, tags: tags)
|
let event_refs = interpret_event_refs(blocks: blocks, tags: tags)
|
||||||
@ -126,7 +126,7 @@ class ReplyTests: XCTestCase {
|
|||||||
func testManyMentions() throws {
|
func testManyMentions() throws {
|
||||||
let content = "#[10]"
|
let content = "#[10]"
|
||||||
let tags: [[String]] = [[],[],[],[],[],[],[],[],[],[],["p", "3e999f94e2cb34ef44a64b351141ac4e51b5121b2d31aed4a6c84602a1144692"]]
|
let tags: [[String]] = [[],[],[],[],[],[],[],[],[],[],["p", "3e999f94e2cb34ef44a64b351141ac4e51b5121b2d31aed4a6c84602a1144692"]]
|
||||||
let blocks = parse_mentions(content: content, tags: tags).blocks
|
let blocks = parse_note_content(content: content, tags: tags).blocks
|
||||||
let mentions = blocks.filter { $0.is_mention != nil }
|
let mentions = blocks.filter { $0.is_mention != nil }
|
||||||
XCTAssertEqual(mentions.count, 1)
|
XCTAssertEqual(mentions.count, 1)
|
||||||
}
|
}
|
||||||
@ -149,7 +149,7 @@ class ReplyTests: XCTestCase {
|
|||||||
let expected_render = "nostr:\(pk)\nnostr:\(pk)"
|
let expected_render = "nostr:\(pk)\nnostr:\(pk)"
|
||||||
XCTAssertEqual(post_note.content, expected_render)
|
XCTAssertEqual(post_note.content, expected_render)
|
||||||
|
|
||||||
let blocks = parse_mentions(content: post_note.content, tags: []).blocks
|
let blocks = parse_note_content(content: post_note.content, tags: []).blocks
|
||||||
let rendered = render_blocks(blocks: blocks)
|
let rendered = render_blocks(blocks: blocks)
|
||||||
|
|
||||||
XCTAssertEqual(rendered, expected_render)
|
XCTAssertEqual(rendered, expected_render)
|
||||||
@ -163,7 +163,7 @@ class ReplyTests: XCTestCase {
|
|||||||
func testThreadedReply() throws {
|
func testThreadedReply() throws {
|
||||||
let content = "this is some content"
|
let content = "this is some content"
|
||||||
let tags = [["e", "thread_id"], ["e", "reply_id"]]
|
let tags = [["e", "thread_id"], ["e", "reply_id"]]
|
||||||
let blocks = parse_mentions(content: content, tags: tags).blocks
|
let blocks = parse_note_content(content: content, tags: tags).blocks
|
||||||
let event_refs = interpret_event_refs(blocks: blocks, tags: tags)
|
let event_refs = interpret_event_refs(blocks: blocks, tags: tags)
|
||||||
|
|
||||||
XCTAssertEqual(event_refs.count, 2)
|
XCTAssertEqual(event_refs.count, 2)
|
||||||
@ -179,7 +179,7 @@ class ReplyTests: XCTestCase {
|
|||||||
func testRootReply() throws {
|
func testRootReply() throws {
|
||||||
let content = "this is a reply"
|
let content = "this is a reply"
|
||||||
let tags = [["e", "thread_id"]]
|
let tags = [["e", "thread_id"]]
|
||||||
let blocks = parse_mentions(content: content, tags: tags).blocks
|
let blocks = parse_note_content(content: content, tags: tags).blocks
|
||||||
let event_refs = interpret_event_refs(blocks: blocks, tags: tags)
|
let event_refs = interpret_event_refs(blocks: blocks, tags: tags)
|
||||||
|
|
||||||
XCTAssertEqual(event_refs.count, 1)
|
XCTAssertEqual(event_refs.count, 1)
|
||||||
@ -193,14 +193,14 @@ class ReplyTests: XCTestCase {
|
|||||||
|
|
||||||
func testNoReply() throws {
|
func testNoReply() throws {
|
||||||
let content = "this is a #[0] reply"
|
let content = "this is a #[0] reply"
|
||||||
let blocks = parse_mentions(content: content, tags: []).blocks
|
let blocks = parse_note_content(content: content, tags: []).blocks
|
||||||
let event_refs = interpret_event_refs(blocks: blocks, tags: [])
|
let event_refs = interpret_event_refs(blocks: blocks, tags: [])
|
||||||
|
|
||||||
XCTAssertEqual(event_refs.count, 0)
|
XCTAssertEqual(event_refs.count, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
func testParseMention() throws {
|
func testParseMention() throws {
|
||||||
let parsed = parse_mentions(content: "this is #[0] a mention", tags: [["e", "event_id"]]).blocks
|
let parsed = parse_note_content(content: "this is #[0] a mention", tags: [["e", "event_id"]]).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed.count, 3)
|
XCTAssertEqual(parsed.count, 3)
|
||||||
@ -375,7 +375,7 @@ class ReplyTests: XCTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func testParseInvalidMention() throws {
|
func testParseInvalidMention() throws {
|
||||||
let parsed = parse_mentions(content: "this is #[0] a mention", tags: []).blocks
|
let parsed = parse_note_content(content: "this is #[0] a mention", tags: []).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed.count, 3)
|
XCTAssertEqual(parsed.count, 3)
|
||||||
|
@ -71,7 +71,7 @@ class damusTests: XCTestCase {
|
|||||||
[my website](https://jb55.com)
|
[my website](https://jb55.com)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
let parsed = parse_mentions(content: md, tags: []).blocks
|
let parsed = parse_note_content(content: md, tags: []).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed.count, 3)
|
XCTAssertEqual(parsed.count, 3)
|
||||||
@ -81,7 +81,7 @@ class damusTests: XCTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func testParseUrlUpper() {
|
func testParseUrlUpper() {
|
||||||
let parsed = parse_mentions(content: "a HTTPS://jb55.COM b", tags: []).blocks
|
let parsed = parse_note_content(content: "a HTTPS://jb55.COM b", tags: []).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed.count, 3)
|
XCTAssertEqual(parsed.count, 3)
|
||||||
@ -116,7 +116,7 @@ class damusTests: XCTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func testParseUrl() {
|
func testParseUrl() {
|
||||||
let parsed = parse_mentions(content: "a https://jb55.com b", tags: []).blocks
|
let parsed = parse_note_content(content: "a https://jb55.com b", tags: []).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed.count, 3)
|
XCTAssertEqual(parsed.count, 3)
|
||||||
@ -124,7 +124,7 @@ class damusTests: XCTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func testParseUrlEnd() {
|
func testParseUrlEnd() {
|
||||||
let parsed = parse_mentions(content: "a https://jb55.com", tags: []).blocks
|
let parsed = parse_note_content(content: "a https://jb55.com", tags: []).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed.count, 2)
|
XCTAssertEqual(parsed.count, 2)
|
||||||
@ -133,7 +133,7 @@ class damusTests: XCTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func testParseUrlStart() {
|
func testParseUrlStart() {
|
||||||
let parsed = parse_mentions(content: "https://jb55.com br", tags: []).blocks
|
let parsed = parse_note_content(content: "https://jb55.com br", tags: []).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed.count, 2)
|
XCTAssertEqual(parsed.count, 2)
|
||||||
@ -143,7 +143,7 @@ class damusTests: XCTestCase {
|
|||||||
|
|
||||||
func testNoParseUrlWithOnlyWhitespace() {
|
func testNoParseUrlWithOnlyWhitespace() {
|
||||||
let testString = "https:// "
|
let testString = "https:// "
|
||||||
let parsed = parse_mentions(content: testString, tags: []).blocks
|
let parsed = parse_note_content(content: testString, tags: []).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed[0].is_text, testString)
|
XCTAssertEqual(parsed[0].is_text, testString)
|
||||||
@ -151,14 +151,14 @@ class damusTests: XCTestCase {
|
|||||||
|
|
||||||
func testNoParseUrlTrailingCharacters() {
|
func testNoParseUrlTrailingCharacters() {
|
||||||
let testString = "https://foo.bar, "
|
let testString = "https://foo.bar, "
|
||||||
let parsed = parse_mentions(content: testString, tags: []).blocks
|
let parsed = parse_note_content(content: testString, tags: []).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed[0].is_url?.absoluteString, "https://foo.bar")
|
XCTAssertEqual(parsed[0].is_url?.absoluteString, "https://foo.bar")
|
||||||
}
|
}
|
||||||
|
|
||||||
func testParseMentionBlank() {
|
func testParseMentionBlank() {
|
||||||
let parsed = parse_mentions(content: "", tags: [["e", "event_id"]]).blocks
|
let parsed = parse_note_content(content: "", tags: [["e", "event_id"]]).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed.count, 0)
|
XCTAssertEqual(parsed.count, 0)
|
||||||
@ -179,7 +179,7 @@ class damusTests: XCTestCase {
|
|||||||
|
|
||||||
}
|
}
|
||||||
func testParseMentionOnlyText() {
|
func testParseMentionOnlyText() {
|
||||||
let parsed = parse_mentions(content: "there is no mention here", tags: [["e", "event_id"]]).blocks
|
let parsed = parse_note_content(content: "there is no mention here", tags: [["e", "event_id"]]).blocks
|
||||||
|
|
||||||
XCTAssertNotNil(parsed)
|
XCTAssertNotNil(parsed)
|
||||||
XCTAssertEqual(parsed.count, 1)
|
XCTAssertEqual(parsed.count, 1)
|
||||||
|
Loading…
Reference in New Issue
Block a user