1
0
mirror of git://jb55.com/damus synced 2024-10-01 17:30:44 +00:00

Fix Issue #1820 Hashtags including U+5009 to U+500D are not correctly parsed

Closes: https://github.com/damus-io/damus/pull/1830
Reviewed-by: William Casarin <jb55@jb55.com>
Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
kunigaku 2023-12-20 23:25:27 +09:00 committed by William Casarin
parent 26bd50c948
commit f6044a9eea
2 changed files with 13 additions and 2 deletions

View File

@ -485,11 +485,11 @@ static inline int parse_str(struct cursor *cur, const char *str) {
return 1;
}
static inline int is_whitespace(char c) {
static inline int is_whitespace(int c) {
return c == ' ' || c == '\t' || c == '\n' || c == '\v' || c == '\f' || c == '\r';
}
static inline int is_underscore(char c) {
static inline int is_underscore(int c) {
return c == '_';
}

View File

@ -545,4 +545,15 @@ final class HashtagTests: XCTestCase {
XCTAssertEqual(parsed[2].asText, " is allowed in hashtags")
}
// Japanese: bai () (U+500D) (allowed in hashtags)
func testHashtagWithBaiKanji() {
let parsed = parse_note_content(content: .content("pow! #10倍界王拳 is allowed in hashtags",nil)).blocks
XCTAssertNotNil(parsed)
XCTAssertEqual(parsed.count, 3)
XCTAssertEqual(parsed[0].asText, "pow! ")
XCTAssertEqual(parsed[1].asHashtag, "10倍界王拳")
XCTAssertEqual(parsed[2].asText, " is allowed in hashtags")
}
}