| 139 | use super::*; |
| 140 | #[test] |
| 141 | fn test_codec1() { |
| 142 | let mut codec = BytesCodec::new(); |
| 143 | let mut buf = BytesMut::new(); |
| 144 | let mut bytes: Vec<u8> = Vec::new(); |
| 145 | bytes.resize(0x3F, 1); |
| 146 | assert!(codec.encode(bytes.into(), &mut buf).is_ok()); |
| 147 | let buf_saved = buf.clone(); |
| 148 | assert_eq!(buf.len(), 0x3F + 1); |
| 149 | if let Ok(Some(res)) = codec.decode(&mut buf) { |
| 150 | assert_eq!(res.len(), 0x3F); |
| 151 | assert_eq!(res[0], 1); |
| 152 | } else { |
| 153 | panic!(); |
| 154 | } |
| 155 | let mut codec2 = BytesCodec::new(); |
| 156 | let mut buf2 = BytesMut::new(); |
| 157 | if let Ok(None) = codec2.decode(&mut buf2) { |
| 158 | } else { |
| 159 | panic!(); |
| 160 | } |
| 161 | buf2.extend(&buf_saved[0..1]); |
| 162 | if let Ok(None) = codec2.decode(&mut buf2) { |
| 163 | } else { |
| 164 | panic!(); |
| 165 | } |
| 166 | buf2.extend(&buf_saved[1..]); |
| 167 | if let Ok(Some(res)) = codec2.decode(&mut buf2) { |
| 168 | assert_eq!(res.len(), 0x3F); |
| 169 | assert_eq!(res[0], 1); |
| 170 | } else { |
| 171 | panic!(); |
| 172 | } |
| 173 | } |
| 174 | |
| 175 | #[test] |
| 176 | fn test_codec2() { |