Skip to content

Commit

Permalink
Add more tests for ToDerSequence
Browse files Browse the repository at this point in the history
  • Loading branch information
chifflier committed Jan 16, 2025
1 parent 02c0609 commit 57dcade
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 0 deletions.
30 changes: 30 additions & 0 deletions tests/toder_sequence_lifetime.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
use asn1_rs::*;
use hex_literal::hex;

#[derive(Debug, PartialEq, DerSequence, ToDerSequence)]
#[debug_derive]
pub struct T1<'a> {
a: u32,
b: u16,
c: u16,
d: &'a str,
}

#[test]
fn toder_sequence_lifetime() {
let input = &hex!("300f0201 01020102 020103 0c0461626364");
let (rem, t1) = T1::from_der(input).expect("parsing failed");
assert!(rem.is_empty());
assert_eq!(
t1,
T1 {
a: 1,
b: 2,
c: 3,
d: "abcd"
}
);
// serialize back data
let output = t1.to_der_vec().expect("serialization failed");
assert_eq!(&input[..], output);
}
21 changes: 21 additions & 0 deletions tests/toder_sequence_simple.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
use asn1_rs::*;
use hex_literal::hex;

#[derive(Debug, PartialEq, DerSequence, ToDerSequence)]
#[debug_derive]
pub struct T1 {
a: u32,
b: u16,
c: u16,
}

#[test]
fn toder_sequence() {
let input = &hex!("30090201 01020102 020103");
let (rem, t1) = T1::from_der(input).expect("parsing failed");
assert!(rem.is_empty());
assert_eq!(t1, T1 { a: 1, b: 2, c: 3 });
// serialize back data
let output = t1.to_der_vec().expect("serialization failed");
assert_eq!(&input[..], output);
}

0 comments on commit 57dcade

Please sign in to comment.