in src/path_rewriting.rs [1445:1561]
fn test_rewrite_paths_rewrite_path_using_mapping_and_remove_prefix() {
// Mapping with uppercase disk and prefix with uppercase disk.
let mut result_map: CovResultMap = FxHashMap::default();
result_map.insert(
"C:\\Users\\worker\\src\\workspace\\rewritten\\main.cpp".to_string(),
empty_result!(),
);
let results = rewrite_paths(
result_map,
Some(
json!({"C:/Users/worker/src/workspace/rewritten/main.cpp": "tests/class/main.cpp"}),
),
None,
Some(Path::new("C:\\Users\\worker\\src\\workspace")),
true,
&[""; 0],
&[""; 0],
None,
Default::default(),
);
let mut count = 0;
for (abs_path, rel_path, result) in results {
count += 1;
assert!(abs_path.is_absolute());
assert!(abs_path.ends_with("tests\\class\\main.cpp"));
assert_eq!(rel_path, PathBuf::from("tests\\class\\main.cpp"));
assert_eq!(result, empty_result!());
}
assert_eq!(count, 1);
// Mapping with lowercase disk and prefix with uppercase disk.
let mut result_map: CovResultMap = FxHashMap::default();
result_map.insert(
"C:\\Users\\worker\\src\\workspace\\rewritten\\main.cpp".to_string(),
empty_result!(),
);
let results = rewrite_paths(
result_map,
Some(
json!({"c:/Users/worker/src/workspace/rewritten/main.cpp": "tests/class/main.cpp"}),
),
None,
Some(Path::new("C:\\Users\\worker\\src\\workspace")),
true,
&[""; 0],
&[""; 0],
None,
Default::default(),
);
let mut count = 0;
for (abs_path, rel_path, result) in results {
count += 1;
assert!(abs_path.is_absolute());
assert!(abs_path.ends_with("tests\\class\\main.cpp"));
assert_eq!(rel_path, PathBuf::from("tests\\class\\main.cpp"));
assert_eq!(result, empty_result!());
}
assert_eq!(count, 1);
// Mapping with uppercase disk and prefix with lowercase disk.
let mut result_map: CovResultMap = FxHashMap::default();
result_map.insert(
"C:\\Users\\worker\\src\\workspace\\rewritten\\main.cpp".to_string(),
empty_result!(),
);
let results = rewrite_paths(
result_map,
Some(
json!({"C:/Users/worker/src/workspace/rewritten/main.cpp": "tests/class/main.cpp"}),
),
None,
Some(Path::new("c:\\Users\\worker\\src\\workspace")),
true,
&[""; 0],
&[""; 0],
None,
Default::default(),
);
let mut count = 0;
for (abs_path, rel_path, result) in results {
count += 1;
assert!(abs_path.is_absolute());
assert!(abs_path.ends_with("tests\\class\\main.cpp"));
assert_eq!(rel_path, PathBuf::from("tests\\class\\main.cpp"));
assert_eq!(result, empty_result!());
}
assert_eq!(count, 1);
// Mapping with lowercase disk and prefix with lowercase disk.
let mut result_map: CovResultMap = FxHashMap::default();
result_map.insert(
"C:\\Users\\worker\\src\\workspace\\rewritten\\main.cpp".to_string(),
empty_result!(),
);
let results = rewrite_paths(
result_map,
Some(
json!({"c:/Users/worker/src/workspace/rewritten/main.cpp": "tests/class/main.cpp"}),
),
None,
Some(Path::new("c:\\Users\\worker\\src\\workspace")),
true,
&[""; 0],
&[""; 0],
None,
Default::default(),
);
let mut count = 0;
for (abs_path, rel_path, result) in results {
count += 1;
assert!(abs_path.is_absolute());
assert!(abs_path.ends_with("tests\\class\\main.cpp"));
assert_eq!(rel_path, PathBuf::from("tests\\class\\main.cpp"));
assert_eq!(result, empty_result!());
}
assert_eq!(count, 1);
}