@@ -71,6 +71,85 @@ class damusTests: XCTestCase {
|
|||||||
XCTAssertEqual(txt, content)
|
XCTAssertEqual(txt, content)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func testFunnyUriReference() throws {
|
||||||
|
let id = "6fec2ee6cfff779fe8560976b3d9df782b74577f0caefa7a77c0ed4c3749b5de"
|
||||||
|
let content = "this is a nostr:&\(id):\(id) event mention"
|
||||||
|
let parsed = parse_post_blocks(content: content)
|
||||||
|
|
||||||
|
XCTAssertNotNil(parsed)
|
||||||
|
XCTAssertEqual(parsed.count, 3)
|
||||||
|
XCTAssertTrue(parsed[0].is_text)
|
||||||
|
XCTAssertTrue(parsed[1].is_ref)
|
||||||
|
XCTAssertTrue(parsed[2].is_text)
|
||||||
|
|
||||||
|
guard case .ref(let ref) = parsed[1] else {
|
||||||
|
XCTAssertTrue(false)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
XCTAssertEqual(ref.ref_id, id)
|
||||||
|
XCTAssertEqual(ref.key, "e")
|
||||||
|
XCTAssertNil(ref.relay_id)
|
||||||
|
|
||||||
|
guard case .text(let t1) = parsed[0] else {
|
||||||
|
XCTAssertTrue(false)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
XCTAssertEqual(t1, "this is a nostr:")
|
||||||
|
|
||||||
|
guard case .text(let t2) = parsed[2] else {
|
||||||
|
XCTAssertTrue(false)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
XCTAssertEqual(t2, ":\(id) event mention")
|
||||||
|
}
|
||||||
|
|
||||||
|
func testInvalidUriReference() throws {
|
||||||
|
let id = "6fec2ee6cfff779fe8560976b3d9df782b74577f0caefa7a77c0ed4c3749b5de"
|
||||||
|
let content = "this is a nostr:z:\(id) event mention"
|
||||||
|
let parsed = parse_post_blocks(content: content)
|
||||||
|
|
||||||
|
XCTAssertNotNil(parsed)
|
||||||
|
XCTAssertEqual(parsed.count, 1)
|
||||||
|
|
||||||
|
guard case .text(let txt) = parsed[0] else {
|
||||||
|
XCTAssertTrue(false)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
XCTAssertEqual(txt, content)
|
||||||
|
}
|
||||||
|
|
||||||
|
func testParsePostUriPubkeyReference() throws {
|
||||||
|
let id = "6fec2ee6cfff779fe8560976b3d9df782b74577f0caefa7a77c0ed4c3749b5de"
|
||||||
|
let parsed = parse_post_blocks(content: "this is a nostr:p:\(id) event mention")
|
||||||
|
|
||||||
|
XCTAssertNotNil(parsed)
|
||||||
|
XCTAssertEqual(parsed.count, 3)
|
||||||
|
XCTAssertTrue(parsed[0].is_text)
|
||||||
|
XCTAssertTrue(parsed[1].is_ref)
|
||||||
|
XCTAssertTrue(parsed[2].is_text)
|
||||||
|
|
||||||
|
guard case .ref(let ref) = parsed[1] else {
|
||||||
|
XCTAssertTrue(false)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
XCTAssertEqual(ref.ref_id, id)
|
||||||
|
XCTAssertEqual(ref.key, "p")
|
||||||
|
XCTAssertNil(ref.relay_id)
|
||||||
|
|
||||||
|
guard case .text(let t1) = parsed[0] else {
|
||||||
|
XCTAssertTrue(false)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
XCTAssertEqual(t1, "this is a ")
|
||||||
|
|
||||||
|
guard case .text(let t2) = parsed[2] else {
|
||||||
|
XCTAssertTrue(false)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
XCTAssertEqual(t2, " event mention")
|
||||||
|
}
|
||||||
|
|
||||||
func testParsePostUriReference() throws {
|
func testParsePostUriReference() throws {
|
||||||
let id = "6fec2ee6cfff779fe8560976b3d9df782b74577f0caefa7a77c0ed4c3749b5de"
|
let id = "6fec2ee6cfff779fe8560976b3d9df782b74577f0caefa7a77c0ed4c3749b5de"
|
||||||
let parsed = parse_post_blocks(content: "this is a nostr:e:\(id) event mention")
|
let parsed = parse_post_blocks(content: "this is a nostr:e:\(id) event mention")
|
||||||
|
|||||||
Reference in New Issue
Block a user