use nrbf::{RemotingMessage, Value}; #[test] fn binary_array_jagged_offset() { #[rustfmt::skip] let input = [ 0, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 7, 0x01, 0x00, 0x00, 0x00, 4, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 208, 7, 0, 0, 7, 8, 9, 0x02, 0x00, 0x00, 0x00, 9, 0x03, 0x00, 0x00, 0x00, 9, 0x04, 0x00, 0x00, 0x00, 15, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 8, 0x01, 0x00, 0x00, 0x00, 15, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 8, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 15, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 8, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 11, ]; let output = RemotingMessage::Value(Value::Array(vec![ Value::Array(vec![Value::Int32(1)]), Value::Array(vec![Value::Int32(2), Value::Int32(3)]), Value::Array(vec![Value::Int32(4), Value::Int32(5), Value::Int32(6)]), ])); assert_eq!(RemotingMessage::parse(&input), Ok(output)); }