@@ -71,6 +71,85 @@ class damusTests: XCTestCase {
|
||||
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 {
|
||||
let id = "6fec2ee6cfff779fe8560976b3d9df782b74577f0caefa7a77c0ed4c3749b5de"
|
||||
let parsed = parse_post_blocks(content: "this is a nostr:e:\(id) event mention")
|
||||
|
||||
Reference in New Issue
Block a user