5 releases
0.1.1 | Nov 19, 2023 |
---|---|
0.1.0 | Nov 5, 2023 |
0.0.3 | Nov 2, 2023 |
0.0.2 | Nov 2, 2023 |
0.0.1 | Nov 2, 2023 |
#289 in #replace
289 downloads per month
Used in 3 crates
(2 directly)
7KB
122 lines
mreplace
use daachorse::CharwiseDoubleArrayAhoCorasick for multiple string replace
use lazy_static::lazy_static;
use mreplace::Mreplace;
lazy_static! {
static ref RENDER: Mreplace = Mreplace::new(["${host}", "${action}", "${code}"]).unwrap();
}
#[test]
fn test_replace() {
let txt = "${host} ${action} Code: ${code} .";
let args = ["3Ti.Site", "SignUp", "XV1z"];
let result = "3Ti.Site SignUp Code: XV1z .";
assert_eq!(RENDER.replace(txt, args), result);
}
#[cfg(feature = "macro")]
mod test_macro {
use mreplace::mreplace;
mreplace!(
RENDER2: host action code;
RENDER3: host action code
);
#[test]
fn test_replace() {
let txt = "${host} ${action} Code: ${code} .";
let args = ["3Ti.Site", "SignUp", "XV1z"];
let result = "3Ti.Site SignUp Code: XV1z .";
assert_eq!(RENDER2.replace(txt, args), result);
assert_eq!(RENDER3.replace(txt, args), result);
}
}
Dependencies
~2.5MB
~95K SLoC