1 use super::*; 2 3 use std::io::BufReader; 4 5 use util::Error; 6 7 #[test] 8 fn test_opus_unmarshal() -> Result<(), Error> { 9 let mut pck = OpusPacket::default(); 10 11 // Empty packet 12 let empty_bytes = vec![]; 13 let mut reader = BufReader::new(empty_bytes.as_slice()); 14 let result = pck.depacketize(&mut reader); 15 assert!(result.is_err(), "Result should be err in case of error"); 16 17 // Normal packet 18 let raw_bytes = vec![0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x90]; 19 let mut reader = BufReader::new(raw_bytes.as_slice()); 20 pck.depacketize(&mut reader)?; 21 assert_eq!(&raw_bytes, &pck.payload, "Payload must be same"); 22 23 Ok(()) 24 } 25 26 #[test] 27 fn test_opus_payload() -> Result<(), Error> { 28 let pck = OpusPayloader; 29 let empty = vec![]; 30 let payload = vec![0x90, 0x90, 0x90]; 31 32 // Positive MTU, empty payload 33 let mut reader = BufReader::new(empty.as_slice()); 34 let result = pck.payload(1, &mut reader)?; 35 assert!(result.is_empty(), "Generated payload should be empty"); 36 37 // Positive MTU, small payload 38 let mut reader = BufReader::new(payload.as_slice()); 39 let result = pck.payload(1, &mut reader)?; 40 assert_eq!(result.len(), 1, "Generated payload should be the 1"); 41 42 // Negative MTU, small payload 43 let mut reader = BufReader::new(payload.as_slice()); 44 let result = pck.payload(-1, &mut reader)?; 45 assert_eq!(result.len(), 1, "Generated payload should be the 1"); 46 47 // Positive MTU, small payload 48 let mut reader = BufReader::new(payload.as_slice()); 49 let result = pck.payload(2, &mut reader)?; 50 assert_eq!(result.len(), 1, "Generated payload should be the 1"); 51 52 Ok(()) 53 } 54