Add ability to specify user-defined functions for matcher

This commit is contained in:
Dima Kudosh
2016-02-28 21:35:03 +03:00
parent b2e0c729ff
commit a99af75280
5 changed files with 51 additions and 30 deletions
+18 -1
View File
@@ -102,9 +102,26 @@ fn test_differ_compare() {
assert_eq!(result, "- one\n? ^\n+ ore\n? ^\n- two\n- three\n? -\n+ tree\n+ emu\n");
}
fn is_junk_char(ch: &str) -> bool {
if ch == " " || ch == "\t" {
return true
}
false
}
#[test]
fn test_differ_compare_with_func() {
let first_text = vec!["one\n", "two\n", "three\n"];
let second_text = vec!["ore\n", "tree\n", "emu\n"];
let mut differ = Differ::new();
differ.char_junk = Some(is_junk_char);
let result = differ.compare(&first_text, &second_text).join("");
assert_eq!(result, "- one\n? ^\n+ ore\n? ^\n- two\n- three\n? -\n+ tree\n+ emu\n");
}
#[test]
fn test_differ_restore() {
let first_text = vec!["one\n", "two\n", "three\n"];
let first_text = vec!["one\n", " two\n", "three\n"];
let second_text = vec!["ore\n", "tree\n", "emu\n"];
let differ = Differ::new();
let diff = differ.compare(&first_text, &second_text);