Skip to content

Commit be4197a

Browse files
committed
simplify IsConstructed test
1 parent e6f3665 commit be4197a

File tree

1 file changed

+5
-51
lines changed

1 file changed

+5
-51
lines changed

der/tests/derive.rs

Lines changed: 5 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -752,63 +752,17 @@ mod decode_value {
752752

753753
/// Custom derive test cases for the `DecodeValue` + `EncodeValue` macro combo.
754754
mod decode_encode_value {
755-
use der::{
756-
DecodeValue, EncodeValue, Header, IsConstructed, Length, SliceReader, SliceWriter, Tag,
757-
TagNumber,
758-
};
755+
use der::{DecodeValue, EncodeValue, IsConstructed};
759756

760757
/// Example of a structure, that does not have a tag and is not a sequence
758+
/// but can be encoded as `[0] IMPLICIT`
761759
#[derive(DecodeValue, EncodeValue, Default, Eq, PartialEq, Debug)]
762-
#[asn1(tag_mode = "IMPLICIT")]
763-
struct DecodeEncodeCheck<'a> {
764-
#[asn1(type = "OCTET STRING", context_specific = "5")]
765-
field: &'a [u8],
760+
struct DecodeEncodeCheck {
761+
field: bool,
766762
}
767-
impl IsConstructed for DecodeEncodeCheck<'_> {
763+
impl IsConstructed for DecodeEncodeCheck {
768764
const CONSTRUCTED: bool = true;
769765
}
770-
771-
// TODO(dishmaker): fix test after IMPLICIT/EXPLICIT trait split
772-
// #[derive(Sequence, Default, Eq, PartialEq, Debug)]
773-
// #[asn1(tag_mode = "IMPLICIT")]
774-
// struct ImplicitWrapper<'a> {
775-
// #[asn1(context_specific = "0")]
776-
// implicit_decode_encode: DecodeEncodeCheck<'a>,
777-
// }
778-
779-
#[test]
780-
fn sequence_decode_encode_custom_implicit() {
781-
// TODO(dishmaker): fix test after IMPLICIT/EXPLICIT trait split
782-
// let obj = ImplicitWrapper {
783-
// implicit_decode_encode: DecodeEncodeCheck {
784-
// field: &[0x33, 0x44],
785-
// },
786-
// };
787-
788-
// let der_encoded = obj.to_der().unwrap();
789-
790-
// assert_eq!(der_encoded, hex!("80 04 85 02 33 44"));
791-
// let obj_decoded = ImplicitWrapper::from_der(&der_encoded);
792-
// assert_eq!(obj, obj_decoded);
793-
794-
let header = Header {
795-
tag: Tag::ContextSpecific {
796-
constructed: true,
797-
number: TagNumber(0),
798-
},
799-
length: Length::new(6u16),
800-
};
801-
let obj = DecodeEncodeCheck {
802-
field: &[0x33, 0x44],
803-
};
804-
805-
let mut buf = [0u8; 100];
806-
let mut writer = SliceWriter::new(&mut buf);
807-
obj.encode_value(&mut writer).unwrap();
808-
809-
let mut reader = SliceReader::new(&buf).unwrap();
810-
let _ = DecodeEncodeCheck::decode_value(&mut reader, header);
811-
}
812766
}
813767

814768
/// Custom derive test cases for the `BitString` macro.

0 commit comments

Comments
 (0)