1 use super::*; 2 3 use std::io::{BufReader, BufWriter}; 4 5 #[test] 6 fn 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 {:?}, want {:?}", 19 cnew, c 20 ); 21 22 Ok(()) 23 } 24 25 #[test] 26 fn test_change_cipher_spec_invalid() -> Result<()> { 27 let data = vec![0x00]; 28 29 let mut reader = BufReader::new(data.as_slice()); 30 let result = ChangeCipherSpec::unmarshal(&mut reader); 31 32 match result { 33 Ok(_) => panic!("must be error"), 34 Err(err) => assert_eq!(err.to_string(), Error::ErrInvalidCipherSpec.to_string()), 35 }; 36 37 Ok(()) 38 } 39