1use super::*;
2use vstd::prelude::*;
3
4verus! {
5
6asn1! {
8 seq of Name(ASN1(RDN)): ASN1<RDN>;
9}
10
11}
12
13#[cfg(test)]
14mod test {
15 use super::*;
16
17 verus! {
18 #[test]
20 fn is_combinator() {
21 let _ = ASN1(Name).parse(&[]);
22 }
23 }
24
25 #[test]
26 fn sanity() {
27 assert!(ASN1(Name)
28 .parse(&[
29 0x30, 0x81, 0xA4, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
30 0x50, 0x41, 0x31, 0x0F, 0x30, 0x0D, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0C, 0x06, 0x50,
31 0x61, 0x6E, 0x61, 0x6D, 0x61, 0x31, 0x14, 0x30, 0x12, 0x06, 0x03, 0x55, 0x04, 0x07,
32 0x0C, 0x0B, 0x50, 0x61, 0x6E, 0x61, 0x6D, 0x61, 0x20, 0x43, 0x69, 0x74, 0x79, 0x31,
33 0x24, 0x30, 0x22, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x0C, 0x1B, 0x54, 0x72, 0x75, 0x73,
34 0x74, 0x43, 0x6F, 0x72, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x73, 0x20, 0x53,
35 0x2E, 0x20, 0x64, 0x65, 0x20, 0x52, 0x2E, 0x4C, 0x2E, 0x31, 0x27, 0x30, 0x25, 0x06,
36 0x03, 0x55, 0x04, 0x0B, 0x0C, 0x1E, 0x54, 0x72, 0x75, 0x73, 0x74, 0x43, 0x6F, 0x72,
37 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41,
38 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69, 0x74, 0x79, 0x31, 0x1F, 0x30, 0x1D, 0x06, 0x03,
39 0x55, 0x04, 0x03, 0x0C, 0x16, 0x54, 0x72, 0x75, 0x73, 0x74, 0x43, 0x6F, 0x72, 0x20,
40 0x52, 0x6F, 0x6F, 0x74, 0x43, 0x65, 0x72, 0x74, 0x20, 0x43, 0x41, 0x2D, 0x32,
41 ])
42 .is_ok());
43 }
44}