fn test_rewrite_paths_filter_lines_and_branches()

in src/path_rewriting.rs [1712:1751]


    fn test_rewrite_paths_filter_lines_and_branches() {
        let mut result_map: CovResultMap = FxHashMap::default();
        result_map.insert("test/java/skip.java".to_string(), skipping_result!());
        let results = rewrite_paths(
            result_map,
            None,
            Some(&canonicalize_path("test").unwrap()),
            None,
            true,
            &[""; 0],
            &[""; 0],
            None,
            crate::FileFilter::new(
                Some(regex::Regex::new("excluded line").unwrap()),
                Some(regex::Regex::new("skip line start").unwrap()),
                Some(regex::Regex::new("skip line end").unwrap()),
                Some(regex::Regex::new("excluded branch").unwrap()),
                Some(regex::Regex::new("skip branch start").unwrap()),
                Some(regex::Regex::new("skip branch end").unwrap()),
            ),
        );
        let mut count = 0;
        for (_, _, result) in results {
            count += 1;
            for inc in [1, 2, 3, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16].iter() {
                assert!(result.lines.contains_key(inc));
            }
            for inc in [4, 6, 7, 17, 18, 19, 20].iter() {
                assert!(!result.lines.contains_key(inc));
            }

            for inc in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 16, 17].iter() {
                assert!(result.branches.contains_key(inc));
            }
            for inc in [11, 13, 14, 18, 19, 20].iter() {
                assert!(!result.branches.contains_key(inc));
            }
        }
        assert_eq!(count, 1);
    }