|
|
|
@ -162,6 +162,11 @@ pub fn is_valid_username(name: &str) -> bool {
|
|
|
|
|
VALID_USERNAME_REGEX.is_match(name)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Can't do a regex here, reverse lookarounds not supported
|
|
|
|
|
pub fn is_valid_preferred_username(preferred_username: &str) -> bool {
|
|
|
|
|
!preferred_username.starts_with("@") && preferred_username.len() >=3 && preferred_username.len() <= 20
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub fn is_valid_community_name(name: &str) -> bool {
|
|
|
|
|
VALID_COMMUNITY_NAME_REGEX.is_match(name)
|
|
|
|
|
}
|
|
|
|
@ -176,6 +181,7 @@ mod tests {
|
|
|
|
|
is_valid_community_name,
|
|
|
|
|
is_valid_post_title,
|
|
|
|
|
is_valid_username,
|
|
|
|
|
is_valid_preferred_username,
|
|
|
|
|
remove_slurs,
|
|
|
|
|
scrape_text_for_mentions,
|
|
|
|
|
slur_check,
|
|
|
|
@ -201,6 +207,12 @@ mod tests {
|
|
|
|
|
assert!(!is_valid_username(""));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
|
fn test_valid_preferred_username() {
|
|
|
|
|
assert!(is_valid_preferred_username("hello @there"));
|
|
|
|
|
assert!(!is_valid_preferred_username("@hello there"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
|
fn test_valid_community_name() {
|
|
|
|
|
assert!(is_valid_community_name("example"));
|
|
|
|
|