fix the endianess
This commit is contained in:
parent
68b11dc036
commit
a4e5679c7b
4 changed files with 98 additions and 108 deletions
|
|
@ -257,10 +257,10 @@ mod test {
|
||||||
fn test_endianconstant() {
|
fn test_endianconstant() {
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
EndianConstant::EndianConstant.serialize_to_vec().unwrap(),
|
EndianConstant::EndianConstant.serialize_to_vec().unwrap(),
|
||||||
vec![0x12, 0x34, 0x56, 0x78]
|
vec![0x78, 0x56, 0x34, 0x12]
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
EndianConstant::deserialize_from_slice(&[0x12, 0x34, 0x56, 0x78]).unwrap(),
|
EndianConstant::deserialize_from_slice(&[0x78, 0x56, 0x34, 0x12]).unwrap(),
|
||||||
EndianConstant::EndianConstant
|
EndianConstant::EndianConstant
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -116,7 +116,7 @@ impl<D: Serializable, U: Serializable + Eq> SerializableUntil<D, U> for Vec<D> {
|
||||||
|
|
||||||
impl Serializable for u8 {
|
impl Serializable for u8 {
|
||||||
fn serialize(&self, output: &mut dyn Write) -> Result<()> {
|
fn serialize(&self, output: &mut dyn Write) -> Result<()> {
|
||||||
output.write_all(&self.to_be_bytes()).map_err(|err| {
|
output.write_all(&self.to_le_bytes()).map_err(|err| {
|
||||||
Error::SerializationError(format!("Failed to write serialize u8 to output: {err}"))
|
Error::SerializationError(format!("Failed to write serialize u8 to output: {err}"))
|
||||||
})?;
|
})?;
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
@ -127,7 +127,7 @@ impl Serializable for u8 {
|
||||||
input.read_exact(&mut buffer).map_err(|_| {
|
input.read_exact(&mut buffer).map_err(|_| {
|
||||||
Error::InputTooSmall("Failed to read all bytes for u8 from the input".into())
|
Error::InputTooSmall("Failed to read all bytes for u8 from the input".into())
|
||||||
})?;
|
})?;
|
||||||
Ok(Self::from_be_bytes(buffer))
|
Ok(Self::from_le_bytes(buffer))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn size(&self) -> usize {
|
fn size(&self) -> usize {
|
||||||
|
|
@ -137,7 +137,7 @@ impl Serializable for u8 {
|
||||||
|
|
||||||
impl Serializable for i8 {
|
impl Serializable for i8 {
|
||||||
fn serialize(&self, output: &mut dyn Write) -> Result<()> {
|
fn serialize(&self, output: &mut dyn Write) -> Result<()> {
|
||||||
output.write_all(&self.to_be_bytes()).map_err(|err| {
|
output.write_all(&self.to_le_bytes()).map_err(|err| {
|
||||||
Error::SerializationError(format!("Failed to write serialize i8 to output: {err}"))
|
Error::SerializationError(format!("Failed to write serialize i8 to output: {err}"))
|
||||||
})?;
|
})?;
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
@ -148,7 +148,7 @@ impl Serializable for i8 {
|
||||||
input.read_exact(&mut buffer).map_err(|_| {
|
input.read_exact(&mut buffer).map_err(|_| {
|
||||||
Error::InputTooSmall("Failed to read all bytes for i8 from the input".into())
|
Error::InputTooSmall("Failed to read all bytes for i8 from the input".into())
|
||||||
})?;
|
})?;
|
||||||
Ok(Self::from_be_bytes(buffer))
|
Ok(Self::from_le_bytes(buffer))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn size(&self) -> usize {
|
fn size(&self) -> usize {
|
||||||
|
|
@ -158,7 +158,7 @@ impl Serializable for i8 {
|
||||||
|
|
||||||
impl Serializable for u16 {
|
impl Serializable for u16 {
|
||||||
fn serialize(&self, output: &mut dyn Write) -> Result<()> {
|
fn serialize(&self, output: &mut dyn Write) -> Result<()> {
|
||||||
output.write_all(&self.to_be_bytes()).map_err(|err| {
|
output.write_all(&self.to_le_bytes()).map_err(|err| {
|
||||||
Error::SerializationError(format!("Failed to write serialize u16 to output: {err}"))
|
Error::SerializationError(format!("Failed to write serialize u16 to output: {err}"))
|
||||||
})?;
|
})?;
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
@ -169,7 +169,7 @@ impl Serializable for u16 {
|
||||||
input.read_exact(&mut buffer).map_err(|_| {
|
input.read_exact(&mut buffer).map_err(|_| {
|
||||||
Error::InputTooSmall("Failed to read all bytes for u16 from the input".into())
|
Error::InputTooSmall("Failed to read all bytes for u16 from the input".into())
|
||||||
})?;
|
})?;
|
||||||
Ok(Self::from_be_bytes(buffer))
|
Ok(Self::from_le_bytes(buffer))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn size(&self) -> usize {
|
fn size(&self) -> usize {
|
||||||
|
|
@ -179,7 +179,7 @@ impl Serializable for u16 {
|
||||||
|
|
||||||
impl Serializable for i16 {
|
impl Serializable for i16 {
|
||||||
fn serialize(&self, output: &mut dyn Write) -> Result<()> {
|
fn serialize(&self, output: &mut dyn Write) -> Result<()> {
|
||||||
output.write_all(&self.to_be_bytes()).map_err(|err| {
|
output.write_all(&self.to_le_bytes()).map_err(|err| {
|
||||||
Error::SerializationError(format!("Failed to write serialize i16 to output: {err}"))
|
Error::SerializationError(format!("Failed to write serialize i16 to output: {err}"))
|
||||||
})?;
|
})?;
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
@ -190,7 +190,7 @@ impl Serializable for i16 {
|
||||||
input.read_exact(&mut buffer).map_err(|_| {
|
input.read_exact(&mut buffer).map_err(|_| {
|
||||||
Error::InputTooSmall("Failed to read all bytes for i16 from the input".into())
|
Error::InputTooSmall("Failed to read all bytes for i16 from the input".into())
|
||||||
})?;
|
})?;
|
||||||
Ok(Self::from_be_bytes(buffer))
|
Ok(Self::from_le_bytes(buffer))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn size(&self) -> usize {
|
fn size(&self) -> usize {
|
||||||
|
|
@ -200,7 +200,7 @@ impl Serializable for i16 {
|
||||||
|
|
||||||
impl Serializable for u32 {
|
impl Serializable for u32 {
|
||||||
fn serialize(&self, output: &mut dyn Write) -> Result<()> {
|
fn serialize(&self, output: &mut dyn Write) -> Result<()> {
|
||||||
output.write_all(&self.to_be_bytes()).map_err(|err| {
|
output.write_all(&self.to_le_bytes()).map_err(|err| {
|
||||||
Error::SerializationError(format!("Failed to write serialize u32 to output: {err}"))
|
Error::SerializationError(format!("Failed to write serialize u32 to output: {err}"))
|
||||||
})?;
|
})?;
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
@ -211,7 +211,7 @@ impl Serializable for u32 {
|
||||||
input.read_exact(&mut buffer).map_err(|_| {
|
input.read_exact(&mut buffer).map_err(|_| {
|
||||||
Error::InputTooSmall("Failed to read all bytes for u32 from the input".into())
|
Error::InputTooSmall("Failed to read all bytes for u32 from the input".into())
|
||||||
})?;
|
})?;
|
||||||
Ok(Self::from_be_bytes(buffer))
|
Ok(Self::from_le_bytes(buffer))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn size(&self) -> usize {
|
fn size(&self) -> usize {
|
||||||
|
|
@ -221,7 +221,7 @@ impl Serializable for u32 {
|
||||||
|
|
||||||
impl Serializable for i32 {
|
impl Serializable for i32 {
|
||||||
fn serialize(&self, output: &mut dyn Write) -> Result<()> {
|
fn serialize(&self, output: &mut dyn Write) -> Result<()> {
|
||||||
output.write_all(&self.to_be_bytes()).map_err(|err| {
|
output.write_all(&self.to_le_bytes()).map_err(|err| {
|
||||||
Error::SerializationError(format!("Failed to write serialize i32 to output: {err}"))
|
Error::SerializationError(format!("Failed to write serialize i32 to output: {err}"))
|
||||||
})?;
|
})?;
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
@ -232,7 +232,7 @@ impl Serializable for i32 {
|
||||||
input.read_exact(&mut buffer).map_err(|_| {
|
input.read_exact(&mut buffer).map_err(|_| {
|
||||||
Error::InputTooSmall("Failed to read all bytes for i32 from the input".into())
|
Error::InputTooSmall("Failed to read all bytes for i32 from the input".into())
|
||||||
})?;
|
})?;
|
||||||
Ok(Self::from_be_bytes(buffer))
|
Ok(Self::from_le_bytes(buffer))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn size(&self) -> usize {
|
fn size(&self) -> usize {
|
||||||
|
|
@ -242,7 +242,7 @@ impl Serializable for i32 {
|
||||||
|
|
||||||
impl Serializable for u64 {
|
impl Serializable for u64 {
|
||||||
fn serialize(&self, output: &mut dyn Write) -> Result<()> {
|
fn serialize(&self, output: &mut dyn Write) -> Result<()> {
|
||||||
output.write_all(&self.to_be_bytes()).map_err(|err| {
|
output.write_all(&self.to_le_bytes()).map_err(|err| {
|
||||||
Error::SerializationError(format!("Failed to write serialize u64 to output: {err}"))
|
Error::SerializationError(format!("Failed to write serialize u64 to output: {err}"))
|
||||||
})?;
|
})?;
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
@ -253,7 +253,7 @@ impl Serializable for u64 {
|
||||||
input.read_exact(&mut buffer).map_err(|_| {
|
input.read_exact(&mut buffer).map_err(|_| {
|
||||||
Error::InputTooSmall("Failed to read all bytes for u64 from the input".into())
|
Error::InputTooSmall("Failed to read all bytes for u64 from the input".into())
|
||||||
})?;
|
})?;
|
||||||
Ok(Self::from_be_bytes(buffer))
|
Ok(Self::from_le_bytes(buffer))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn size(&self) -> usize {
|
fn size(&self) -> usize {
|
||||||
|
|
@ -263,7 +263,7 @@ impl Serializable for u64 {
|
||||||
|
|
||||||
impl Serializable for i64 {
|
impl Serializable for i64 {
|
||||||
fn serialize(&self, output: &mut dyn Write) -> Result<()> {
|
fn serialize(&self, output: &mut dyn Write) -> Result<()> {
|
||||||
output.write_all(&self.to_be_bytes()).map_err(|err| {
|
output.write_all(&self.to_le_bytes()).map_err(|err| {
|
||||||
Error::SerializationError(format!("Failed to write serialize i64 to output: {err}"))
|
Error::SerializationError(format!("Failed to write serialize i64 to output: {err}"))
|
||||||
})?;
|
})?;
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
@ -274,7 +274,7 @@ impl Serializable for i64 {
|
||||||
input.read_exact(&mut buffer).map_err(|_| {
|
input.read_exact(&mut buffer).map_err(|_| {
|
||||||
Error::InputTooSmall("Failed to read all bytes for i64 from the input".into())
|
Error::InputTooSmall("Failed to read all bytes for i64 from the input".into())
|
||||||
})?;
|
})?;
|
||||||
Ok(Self::from_be_bytes(buffer))
|
Ok(Self::from_le_bytes(buffer))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn size(&self) -> usize {
|
fn size(&self) -> usize {
|
||||||
|
|
@ -284,7 +284,7 @@ impl Serializable for i64 {
|
||||||
|
|
||||||
impl Serializable for u128 {
|
impl Serializable for u128 {
|
||||||
fn serialize(&self, output: &mut dyn Write) -> Result<()> {
|
fn serialize(&self, output: &mut dyn Write) -> Result<()> {
|
||||||
output.write_all(&self.to_be_bytes()).map_err(|err| {
|
output.write_all(&self.to_le_bytes()).map_err(|err| {
|
||||||
Error::SerializationError(format!("Failed to write serialize u128 to output: {err}"))
|
Error::SerializationError(format!("Failed to write serialize u128 to output: {err}"))
|
||||||
})?;
|
})?;
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
@ -295,7 +295,7 @@ impl Serializable for u128 {
|
||||||
input.read_exact(&mut buffer).map_err(|_| {
|
input.read_exact(&mut buffer).map_err(|_| {
|
||||||
Error::InputTooSmall("Failed to read all bytes for u128 from the input".into())
|
Error::InputTooSmall("Failed to read all bytes for u128 from the input".into())
|
||||||
})?;
|
})?;
|
||||||
Ok(Self::from_be_bytes(buffer))
|
Ok(Self::from_le_bytes(buffer))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn size(&self) -> usize {
|
fn size(&self) -> usize {
|
||||||
|
|
@ -305,7 +305,7 @@ impl Serializable for u128 {
|
||||||
|
|
||||||
impl Serializable for i128 {
|
impl Serializable for i128 {
|
||||||
fn serialize(&self, output: &mut dyn Write) -> Result<()> {
|
fn serialize(&self, output: &mut dyn Write) -> Result<()> {
|
||||||
output.write_all(&self.to_be_bytes()).map_err(|err| {
|
output.write_all(&self.to_le_bytes()).map_err(|err| {
|
||||||
Error::SerializationError(format!("Failed to write serialize i128 to output: {err}"))
|
Error::SerializationError(format!("Failed to write serialize i128 to output: {err}"))
|
||||||
})?;
|
})?;
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
@ -316,7 +316,7 @@ impl Serializable for i128 {
|
||||||
input.read_exact(&mut buffer).map_err(|_| {
|
input.read_exact(&mut buffer).map_err(|_| {
|
||||||
Error::InputTooSmall("Failed to read all bytes for i128 from the input".into())
|
Error::InputTooSmall("Failed to read all bytes for i128 from the input".into())
|
||||||
})?;
|
})?;
|
||||||
Ok(Self::from_be_bytes(buffer))
|
Ok(Self::from_le_bytes(buffer))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn size(&self) -> usize {
|
fn size(&self) -> usize {
|
||||||
|
|
@ -347,13 +347,13 @@ mod test {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn serialize_u16() {
|
fn serialize_u16() {
|
||||||
assert_eq!(0x1234u16.serialize_to_vec().unwrap(), vec![0x12u8, 0x34u8]);
|
assert_eq!(0x1234u16.serialize_to_vec().unwrap(), vec![0x34u8, 0x12u8]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn deserialize_u16() {
|
fn deserialize_u16() {
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
u16::deserialize_from_slice(&[0x12u8, 0x34u8]).unwrap(),
|
u16::deserialize_from_slice(&[0x34u8, 0x12u8]).unwrap(),
|
||||||
0x1234u16
|
0x1234u16
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -367,14 +367,14 @@ mod test {
|
||||||
fn serialize_u32() {
|
fn serialize_u32() {
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
0x12345678u32.serialize_to_vec().unwrap(),
|
0x12345678u32.serialize_to_vec().unwrap(),
|
||||||
vec![0x12u8, 0x34u8, 0x56u8, 0x78u8]
|
vec![0x78u8, 0x56u8, 0x34u8, 0x12u8]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn deserialize_u32() {
|
fn deserialize_u32() {
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
u32::deserialize_from_slice(&[0x12u8, 0x34u8, 0x56u8, 0x78u8]).unwrap(),
|
u32::deserialize_from_slice(&[0x78u8, 0x56u8, 0x34u8, 0x12u8]).unwrap(),
|
||||||
0x12345678u32
|
0x12345678u32
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -388,7 +388,7 @@ mod test {
|
||||||
fn serialize_u64() {
|
fn serialize_u64() {
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
0x123456789ABCDEF0u64.serialize_to_vec().unwrap(),
|
0x123456789ABCDEF0u64.serialize_to_vec().unwrap(),
|
||||||
vec![0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8]
|
vec![0xF0u8, 0xDEu8, 0xBCu8, 0x9Au8, 0x78u8, 0x56u8, 0x34u8, 0x12u8]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -396,7 +396,7 @@ mod test {
|
||||||
fn deserialize_u64() {
|
fn deserialize_u64() {
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
u64::deserialize_from_slice(&[
|
u64::deserialize_from_slice(&[
|
||||||
0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8
|
0xF0u8, 0xDEu8, 0xBCu8, 0x9Au8, 0x78u8, 0x56u8, 0x34u8, 0x12u8
|
||||||
])
|
])
|
||||||
.unwrap(),
|
.unwrap(),
|
||||||
0x123456789ABCDEF0u64
|
0x123456789ABCDEF0u64
|
||||||
|
|
@ -415,8 +415,8 @@ mod test {
|
||||||
.serialize_to_vec()
|
.serialize_to_vec()
|
||||||
.unwrap(),
|
.unwrap(),
|
||||||
vec![
|
vec![
|
||||||
0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8,
|
0xF0u8, 0xDEu8, 0xBCu8, 0x9Au8, 0x78u8, 0x56u8, 0x34u8, 0x12u8, 0xF0u8, 0xDEu8,
|
||||||
0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8
|
0xBCu8, 0x9Au8, 0x78u8, 0x56u8, 0x34u8, 0x12u8,
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -425,8 +425,8 @@ mod test {
|
||||||
fn deserialize_u128() {
|
fn deserialize_u128() {
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
u128::deserialize_from_slice(&[
|
u128::deserialize_from_slice(&[
|
||||||
0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8,
|
0xF0u8, 0xDEu8, 0xBCu8, 0x9Au8, 0x78u8, 0x56u8, 0x34u8, 0x12u8, 0xF0u8, 0xDEu8,
|
||||||
0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8
|
0xBCu8, 0x9Au8, 0x78u8, 0x56u8, 0x34u8, 0x12u8,
|
||||||
])
|
])
|
||||||
.unwrap(),
|
.unwrap(),
|
||||||
0x123456789ABCDEF0123456789ABCDEF0u128
|
0x123456789ABCDEF0123456789ABCDEF0u128
|
||||||
|
|
@ -462,10 +462,9 @@ mod test {
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
t.serialize_to_vec().unwrap(),
|
t.serialize_to_vec().unwrap(),
|
||||||
vec![
|
vec![
|
||||||
42u8, 0x12u8, 0x34u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x12u8, 0x34u8, 0x56u8,
|
0x2a, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34,
|
||||||
0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8,
|
0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78,
|
||||||
0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8,
|
0x56, 0x34, 0x12
|
||||||
0xF0u8
|
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -480,9 +479,9 @@ mod test {
|
||||||
0x123456789ABCDEF0123456789ABCDEF0u128,
|
0x123456789ABCDEF0123456789ABCDEF0u128,
|
||||||
);
|
);
|
||||||
let serialized = vec![
|
let serialized = vec![
|
||||||
42u8, 0x12u8, 0x34u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8,
|
0x2a, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34,
|
||||||
0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8,
|
0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78,
|
||||||
0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8,
|
0x56, 0x34, 0x12,
|
||||||
];
|
];
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
UnamedComposedTest::deserialize_from_slice(&serialized).unwrap(),
|
UnamedComposedTest::deserialize_from_slice(&serialized).unwrap(),
|
||||||
|
|
@ -537,19 +536,16 @@ mod test {
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
t.serialize_to_vec().unwrap(),
|
t.serialize_to_vec().unwrap(),
|
||||||
vec![
|
vec![
|
||||||
42u8, 0x12u8, 0x34u8, 0x12u8, 0x34u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x12u8,
|
0x2a, 0x34, 0x12, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0x78,
|
||||||
0x34u8, 0x56u8, 0x78u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x12u8, 0x34u8, 0x56u8,
|
0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc,
|
||||||
0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8,
|
0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0,
|
||||||
0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8,
|
0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34,
|
||||||
0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8,
|
0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78,
|
||||||
0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8,
|
0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc,
|
||||||
0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8,
|
0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0,
|
||||||
0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8,
|
0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34,
|
||||||
0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8,
|
0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78,
|
||||||
0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8,
|
0x56, 0x34, 0x12
|
||||||
0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8,
|
|
||||||
0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8,
|
|
||||||
0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8
|
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -575,18 +571,16 @@ mod test {
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
let serialized = vec![
|
let serialized = vec![
|
||||||
42u8, 0x12u8, 0x34u8, 0x12u8, 0x34u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x12u8, 0x34u8,
|
0x2a, 0x34, 0x12, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0x78,
|
||||||
0x56u8, 0x78u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8,
|
0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc,
|
||||||
0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8,
|
0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0,
|
||||||
0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8,
|
0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34,
|
||||||
0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8,
|
0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78,
|
||||||
0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8,
|
0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc,
|
||||||
0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8,
|
0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0,
|
||||||
0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8,
|
0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34,
|
||||||
0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8,
|
0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78,
|
||||||
0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8,
|
0x56, 0x34, 0x12,
|
||||||
0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8,
|
|
||||||
0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8,
|
|
||||||
];
|
];
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
UnamedArrayComposedTest::deserialize_from_slice(&serialized).unwrap(),
|
UnamedArrayComposedTest::deserialize_from_slice(&serialized).unwrap(),
|
||||||
|
|
@ -640,20 +634,17 @@ mod test {
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
t.serialize_to_vec().unwrap(),
|
t.serialize_to_vec().unwrap(),
|
||||||
vec![
|
vec![
|
||||||
42u8, 0x12u8, 0x34u8, 0x12u8, 0x34u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x12u8,
|
0x2a, 0x34, 0x12, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0x78,
|
||||||
0x34u8, 0x56u8, 0x78u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x12u8, 0x34u8, 0x56u8,
|
0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc,
|
||||||
0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8,
|
0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0,
|
||||||
0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8,
|
0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34,
|
||||||
0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8,
|
0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78,
|
||||||
0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8,
|
0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc,
|
||||||
0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8,
|
0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0,
|
||||||
0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8,
|
0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34,
|
||||||
0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8,
|
0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78,
|
||||||
0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8,
|
0x56, 0x34, 0x12
|
||||||
0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8,
|
],
|
||||||
0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8,
|
|
||||||
0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8
|
|
||||||
]
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -678,18 +669,16 @@ mod test {
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
let serialized = vec![
|
let serialized = vec![
|
||||||
42u8, 0x12u8, 0x34u8, 0x12u8, 0x34u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x12u8, 0x34u8,
|
0x2a, 0x34, 0x12, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0x78,
|
||||||
0x56u8, 0x78u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8,
|
0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc,
|
||||||
0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8,
|
0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0,
|
||||||
0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8,
|
0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34,
|
||||||
0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8,
|
0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78,
|
||||||
0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8,
|
0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc,
|
||||||
0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8,
|
0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0,
|
||||||
0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8,
|
0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34,
|
||||||
0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8,
|
0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78,
|
||||||
0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8,
|
0x56, 0x34, 0x12,
|
||||||
0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8,
|
|
||||||
0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8,
|
|
||||||
];
|
];
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
NamedArrayComposedTest::deserialize_from_slice(&serialized).unwrap(),
|
NamedArrayComposedTest::deserialize_from_slice(&serialized).unwrap(),
|
||||||
|
|
@ -790,7 +779,7 @@ mod test {
|
||||||
};
|
};
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
v.serialize_to_vec().unwrap(),
|
v.serialize_to_vec().unwrap(),
|
||||||
vec![0, 0, 1, 2, 3, 0, 0, 0x80, 0, 0, 0],
|
vec![0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0x80],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -801,7 +790,7 @@ mod test {
|
||||||
v: vec![1, 2, 3],
|
v: vec![1, 2, 3],
|
||||||
ps: 0x80000000,
|
ps: 0x80000000,
|
||||||
};
|
};
|
||||||
let s = &[0, 0, 1, 2, 3, 0, 0, 0x80, 0, 0, 0];
|
let s = &[0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0x80];
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
v,
|
v,
|
||||||
SerializableUntilNamed::deserialize_from_slice(s).unwrap()
|
SerializableUntilNamed::deserialize_from_slice(s).unwrap()
|
||||||
|
|
@ -831,11 +820,11 @@ mod test {
|
||||||
assert_eq!(TestEnum::Zero.serialize_to_vec().unwrap(), vec![0u8]);
|
assert_eq!(TestEnum::Zero.serialize_to_vec().unwrap(), vec![0u8]);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
TestEnum::One(42).serialize_to_vec().unwrap(),
|
TestEnum::One(42).serialize_to_vec().unwrap(),
|
||||||
vec![1u8, 0u8, 0u8, 0u8, 42u8]
|
vec![1u8, 42u8, 0u8, 0u8, 0u8]
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
TestEnum::Two { a: 1, b: 2 }.serialize_to_vec().unwrap(),
|
TestEnum::Two { a: 1, b: 2 }.serialize_to_vec().unwrap(),
|
||||||
vec![2u8, 0u8, 1u8, 0u8, 0u8, 0u8, 2u8]
|
vec![2u8, 1u8, 0u8, 2u8, 0u8, 0u8, 0u8]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -846,11 +835,11 @@ mod test {
|
||||||
TestEnum::Zero
|
TestEnum::Zero
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
TestEnum::deserialize_from_slice(&[1u8, 0u8, 0u8, 0u8, 42u8]).unwrap(),
|
TestEnum::deserialize_from_slice(&[1u8, 42u8, 0u8, 0u8, 0u8]).unwrap(),
|
||||||
TestEnum::One(42)
|
TestEnum::One(42)
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
TestEnum::deserialize_from_slice(&[2u8, 0u8, 1u8, 0u8, 0u8, 0u8, 2u8]).unwrap(),
|
TestEnum::deserialize_from_slice(&[2u8, 1u8, 0u8, 2u8, 0u8, 0u8, 0u8]).unwrap(),
|
||||||
TestEnum::Two { a: 1, b: 2 }
|
TestEnum::Two { a: 1, b: 2 }
|
||||||
);
|
);
|
||||||
assert!(TestEnum::deserialize_from_slice(&[255u8]).is_err());
|
assert!(TestEnum::deserialize_from_slice(&[255u8]).is_err());
|
||||||
|
|
@ -866,7 +855,7 @@ mod test {
|
||||||
#[test]
|
#[test]
|
||||||
fn deserialize_prefix_suffix() {
|
fn deserialize_prefix_suffix() {
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
TestPrefixSuffix::deserialize_from_slice(&[0x42, 0, 1, 2, 3, 0x66, 0x66]).unwrap(),
|
TestPrefixSuffix::deserialize_from_slice(&[0x42, 3, 2, 1, 0, 0x66, 0x66]).unwrap(),
|
||||||
TestPrefixSuffix { a: 0x00010203 }
|
TestPrefixSuffix { a: 0x00010203 }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -877,7 +866,7 @@ mod test {
|
||||||
TestPrefixSuffix { a: 0x00010203 }
|
TestPrefixSuffix { a: 0x00010203 }
|
||||||
.serialize_to_vec()
|
.serialize_to_vec()
|
||||||
.unwrap(),
|
.unwrap(),
|
||||||
vec![0x42, 0, 1, 2, 3, 0x66, 0x66]
|
vec![0x42, 3, 2, 1, 0, 0x66, 0x66]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -910,19 +899,19 @@ mod test {
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
TestEnumUnnamedDef::One(42).serialize_to_vec().unwrap(),
|
TestEnumUnnamedDef::One(42).serialize_to_vec().unwrap(),
|
||||||
vec![1u8, 0u8, 0u8, 0u8, 42u8]
|
vec![1u8, 42u8, 0u8, 0u8, 0u8]
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
TestEnumUnnamedDef::Two { a: 1, b: 2 }
|
TestEnumUnnamedDef::Two { a: 1, b: 2 }
|
||||||
.serialize_to_vec()
|
.serialize_to_vec()
|
||||||
.unwrap(),
|
.unwrap(),
|
||||||
vec![2u8, 0u8, 1u8, 0u8, 0u8, 0u8, 2u8]
|
vec![2u8, 1u8, 0u8, 2u8, 0u8, 0u8, 0u8]
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
TestEnumUnnamedDef::Dft(42, 0x01234567)
|
TestEnumUnnamedDef::Dft(42, 0x01234567)
|
||||||
.serialize_to_vec()
|
.serialize_to_vec()
|
||||||
.unwrap(),
|
.unwrap(),
|
||||||
vec![42u8, 0x01u8, 0x23u8, 0x45, 0x67],
|
vec![42u8, 0x67, 0x45, 0x23, 0x01u8],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -933,16 +922,16 @@ mod test {
|
||||||
TestEnumUnnamedDef::Zero
|
TestEnumUnnamedDef::Zero
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
TestEnumUnnamedDef::deserialize_from_slice(&[1u8, 0u8, 0u8, 0u8, 42u8]).unwrap(),
|
TestEnumUnnamedDef::deserialize_from_slice(&[1u8, 42u8, 0u8, 0u8, 0u8]).unwrap(),
|
||||||
TestEnumUnnamedDef::One(42)
|
TestEnumUnnamedDef::One(42)
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
TestEnumUnnamedDef::deserialize_from_slice(&[2u8, 0u8, 1u8, 0u8, 0u8, 0u8, 2u8])
|
TestEnumUnnamedDef::deserialize_from_slice(&[2u8, 1u8, 0u8, 2u8, 0u8, 0u8, 0u8])
|
||||||
.unwrap(),
|
.unwrap(),
|
||||||
TestEnumUnnamedDef::Two { a: 1, b: 2 }
|
TestEnumUnnamedDef::Two { a: 1, b: 2 }
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
TestEnumUnnamedDef::deserialize_from_slice(&[42u8, 0x01u8, 0x23u8, 0x45, 0x67])
|
TestEnumUnnamedDef::deserialize_from_slice(&[42u8, 0x67, 0x45, 0x23u8, 0x01u8])
|
||||||
.unwrap(),
|
.unwrap(),
|
||||||
TestEnumUnnamedDef::Dft(42, 0x01234567)
|
TestEnumUnnamedDef::Dft(42, 0x01234567)
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ impl<'a> DexFileReader<'a> {
|
||||||
pub fn new(data: &'a [u8]) -> Result<Self> {
|
pub fn new(data: &'a [u8]) -> Result<Self> {
|
||||||
let mut buffer = Cursor::new(data);
|
let mut buffer = Cursor::new(data);
|
||||||
let header = HeaderItem::deserialize(&mut buffer)?;
|
let header = HeaderItem::deserialize(&mut buffer)?;
|
||||||
|
println!("{header:x?}");
|
||||||
let mut tmp_file = Self {
|
let mut tmp_file = Self {
|
||||||
data,
|
data,
|
||||||
header,
|
header,
|
||||||
|
|
|
||||||
|
|
@ -81,15 +81,15 @@ use syn::{
|
||||||
/// Example::Zero
|
/// Example::Zero
|
||||||
/// );
|
/// );
|
||||||
/// assert_eq!(
|
/// assert_eq!(
|
||||||
/// Example::deserialize_from_slice(&[1u8, 0x01u8, 0x23u8, 0x45, 0x67]).unwrap(),
|
/// Example::deserialize_from_slice(&[1u8, 0x67, 0x45, 0x23u8, 0x01u8]).unwrap(),
|
||||||
/// Example::One(0x01234567)
|
/// Example::One(0x01234567)
|
||||||
/// );
|
/// );
|
||||||
/// assert_eq!(
|
/// assert_eq!(
|
||||||
/// Example::deserialize_from_slice(&[2u8, 0xFEu8, 0xDCu8, 0x01u8, 0x23u8, 0x45, 0x67]).unwrap(),
|
/// Example::deserialize_from_slice(&[2u8, 0xDCu8, 0xFEu8, 0x67, 0x45, 0x23u8, 0x01u8]).unwrap(),
|
||||||
/// Example::Two { a: 0xFEDC, b: 0x01234567 }
|
/// Example::Two { a: 0xFEDC, b: 0x01234567 }
|
||||||
/// );
|
/// );
|
||||||
/// assert_eq!(
|
/// assert_eq!(
|
||||||
/// Example::deserialize_from_slice(&[42u8, 0x01u8, 0x23u8, 0x45, 0x67]).unwrap(),
|
/// Example::deserialize_from_slice(&[42u8, 0x67, 0x45, 0x23u8, 0x01u8]).unwrap(),
|
||||||
/// Example::Dft(42, 0x01234567)
|
/// Example::Dft(42, 0x01234567)
|
||||||
/// );
|
/// );
|
||||||
/// ```
|
/// ```
|
||||||
|
|
@ -110,7 +110,7 @@ use syn::{
|
||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// assert_eq!(
|
/// assert_eq!(
|
||||||
/// Example::deserialize_from_slice(&[0x42, 0, 1, 2, 3, 0x66, 0x66]).unwrap(),
|
/// Example::deserialize_from_slice(&[0x42, 3, 2, 1, 0, 0x66, 0x66]).unwrap(),
|
||||||
/// Example { a: 0x00010203 }
|
/// Example { a: 0x00010203 }
|
||||||
/// );
|
/// );
|
||||||
/// ```
|
/// ```
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue