in src/parser.rs [882:964]
fn test_lcov_parser() {
let mut f = File::open("./test/prova.info").expect("Failed to open lcov file");
let mut buf = Vec::new();
f.read_to_end(&mut buf).unwrap();
let results = parse_lcov(buf, false).unwrap();
assert_eq!(results.len(), 603);
let (ref source_name, ref result) = results[0];
assert_eq!(
source_name,
"resource://gre/components/MainProcessSingleton.js"
);
assert_eq!(
result.lines,
[
(7, 1),
(9, 1),
(10, 1),
(12, 2),
(13, 1),
(16, 1),
(17, 1),
(18, 2),
(19, 1),
(21, 1),
(22, 0),
(23, 0),
(24, 0),
(28, 1),
(29, 0),
(30, 0),
(32, 0),
(33, 0),
(34, 0),
(35, 0),
(37, 0),
(39, 0),
(41, 0),
(42, 0),
(44, 0),
(45, 0),
(46, 0),
(47, 0),
(49, 0),
(50, 0),
(51, 0),
(52, 0),
(53, 0),
(54, 0),
(55, 0),
(56, 0),
(59, 0),
(60, 0),
(61, 0),
(63, 0),
(65, 0),
(67, 1),
(68, 2),
(70, 1),
(74, 1),
(75, 1),
(76, 1),
(77, 1),
(78, 1),
(83, 1),
(84, 1),
(90, 1)
]
.iter()
.cloned()
.collect()
);
assert_eq!(result.branches, [].iter().cloned().collect());
assert!(result.functions.contains_key("MainProcessSingleton"));
let func = result.functions.get("MainProcessSingleton").unwrap();
assert_eq!(func.start, 15);
assert!(func.executed);
assert!(result.functions.contains_key("logConsoleMessage"));
let func = result.functions.get("logConsoleMessage").unwrap();
assert_eq!(func.start, 21);
assert!(!func.executed);
}