Crates.io | mreplace |
lib.rs | mreplace |
version | 0.1.6 |
source | src |
created_at | 2023-10-27 04:52:01.395355 |
updated_at | 2024-06-13 10:35:53.983011 |
description | use daachorse::CharwiseDoubleArrayAhoCorasick for multiple string replace |
homepage | https://github.com/i18n-site/rust/tree/main/mreplace |
repository | https://github.com/i18n-site/rust.git |
max_upload_size | |
id | 1015560 |
size | 5,467 |
use daachorse::CharwiseDoubleArrayAhoCorasick for multiple string replace
use mreplace::Mreplace;
#[static_init::dynamic]
static 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);
}
}