Don't Parse URL with Only Whitespace

This commit is contained in:
Joel Klabo
2023-01-20 20:49:58 -08:00
committed by William Casarin
parent d9e22ce7bf
commit 13ea42a2e2
2 changed files with 11 additions and 1 deletions

View File

@@ -31,14 +31,16 @@ static void make_cursor(struct cursor *c, const u8 *content, size_t len)
static int consume_until_whitespace(struct cursor *cur, int or_end) {
char c;
bool consumedAtLeastOne = false;
while (cur->p < cur->end) {
c = *cur->p;
if (is_whitespace(c))
if (is_whitespace(c) && consumedAtLeastOne)
return 1;
cur->p++;
consumedAtLeastOne = true;
}
return or_end;

View File

@@ -105,6 +105,14 @@ class damusTests: XCTestCase {
XCTAssertEqual(parsed[1].is_text, " br")
}
func testNoParseUrlWithOnlyWhitespace() {
let testString = "https:// "
let parsed = parse_mentions(content: testString, tags: [])
XCTAssertNotNil(parsed)
XCTAssertEqual(parsed[0].is_text, testString)
}
func testParseMentionBlank() {
let parsed = parse_mentions(content: "", tags: [["e", "event_id"]])