1 use super::*; 2 3 use std::io::{BufReader, BufWriter}; 4 5 #[test] test_change_cipher_spec_round_trip() -> Result<()>6fn test_change_cipher_spec_round_trip() -> Result<()> { 7 let c = ChangeCipherSpec {}; 8 let mut raw = vec![]; 9 { 10 let mut writer = BufWriter::<&mut Vec<u8>>::new(raw.as_mut()); 11 c.marshal(&mut writer)?; 12 } 13 14 let mut reader = BufReader::new(raw.as_slice()); 15 let cnew = ChangeCipherSpec::unmarshal(&mut reader)?; 16 assert_eq!( 17 c, cnew, 18 "ChangeCipherSpec round trip: got {cnew:?}, want {c:?}" 19 ); 20 21 Ok(()) 22 } 23 24 #[test] test_change_cipher_spec_invalid() -> Result<()>25fn test_change_cipher_spec_invalid() -> Result<()> { 26 let data = vec![0x00]; 27 28 let mut reader = BufReader::new(data.as_slice()); 29 let result = ChangeCipherSpec::unmarshal(&mut reader); 30 31 match result { 32 Ok(_) => panic!("must be error"), 33 Err(err) => assert_eq!(err.to_string(), Error::ErrInvalidCipherSpec.to_string()), 34 }; 35 36 Ok(()) 37 } 38