hrx-parser 0.1.1

A hrx parser
Documentation
use std::fs;

use hrx_parser::parse;

#[test]
fn ok() {
    // insta::Settings
    insta::glob!(r#"ok/[^.]*.hrx"#, |path| {
        let filename = path.file_name().unwrap().to_string_lossy().to_string();
        let dir_path = path.parent().unwrap();
        insta::with_settings!({sort_maps => false, snapshot_path => dir_path, prepend_module_to_snapshot => false, snapshot_suffix => ""}, {
            let source = fs::read_to_string(path).unwrap();
            insta::assert_snapshot!(filename, format!("{:#?}", parse(&source).unwrap()));
        });
    });
}

#[test]
fn err() {
    // insta::Settings
    insta::glob!(r#"err/[^.]*.hrx"#, |path| {
        let filename = path.file_name().unwrap().to_string_lossy().to_string();
        let dir_path = path.parent().unwrap();
        insta::with_settings!({sort_maps => false, snapshot_path => dir_path, prepend_module_to_snapshot => false, snapshot_suffix => ""}, {
            let source = fs::read_to_string(path).unwrap();
            let archive = parse(&source);
            assert!(archive.is_err());
            insta::assert_snapshot!(filename, format!("{:#?}", archive));
        });
    });
}