use eregex::escape;
#[test]
fn escape_metachars() {
assert_eq!(escape("."), r"\.");
assert_eq!(escape("a*b+c?"), r"a\*b\+c\?");
assert_eq!(escape("(a)"), r"\(a\)");
assert_eq!(escape("[a]"), r"\[a\]");
assert_eq!(escape("a|b"), r"a\|b");
assert_eq!(escape(r"a\b"), r"a\\b");
}
#[test]
fn escape_special_only() {
use eregex::escape_special_only;
assert_eq!(escape_special_only("a.b!"), r"a\.b!");
assert_eq!(escape_special_only("a b"), r"a\ b");
assert_eq!(escape_special_only("x*y!"), r"x\*y!");
}
#[test]
fn escape_literal_spaces() {
use eregex::escape_literal_spaces;
assert_eq!(escape_literal_spaces("a b.c"), "a b\\.c");
assert_ne!(escape("a b"), escape_literal_spaces("a b"));
}
#[test]
fn escape_empty() {
assert_eq!(escape(""), "");
}
#[test]
fn escape_unicode_safe() {
assert_eq!(escape("café"), "caf\\é".to_string().replace("\\é", "é"));
let _ = escape("😀"); }