dasn1_pest/
lib.rs

1use pest_derive::Parser;
2
3#[derive(Parser)]
4#[grammar = "asn1.pest"]
5pub struct Asn1Parser;
6
7#[cfg(test)]
8mod tests {
9    use pest::Parser;
10
11    use super::*;
12
13    #[test]
14    fn basic_definition() {
15        let input = include_str!("../../dasn1-notation/tests/basic.asn1");
16
17        Asn1Parser::parse(Rule::ModuleDefinition, input).unwrap_or_else(|e| panic!("{}", e));
18    }
19
20    #[test]
21    fn pkcs12() {
22        let input = include_str!("../../dasn1-notation/asn1/pkcs12.asn1");
23
24        Asn1Parser::parse(Rule::ModuleDefinition, input).unwrap_or_else(|e| panic!("{}", e));
25    }
26
27    #[test]
28    fn pkcs12_header() {
29        let input = include_str!("../../dasn1-notation/asn1/pkcs12.asn1");
30
31        Asn1Parser::parse(Rule::ModuleHeaderOnly, input).unwrap_or_else(|e| panic!("{}", e));
32    }
33}