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() {
|
||||
assert_eq!(
|
||||
EndianConstant::EndianConstant.serialize_to_vec().unwrap(),
|
||||
vec![0x12, 0x34, 0x56, 0x78]
|
||||
vec![0x78, 0x56, 0x34, 0x12]
|
||||
);
|
||||
assert_eq!(
|
||||
EndianConstant::deserialize_from_slice(&[0x12, 0x34, 0x56, 0x78]).unwrap(),
|
||||
EndianConstant::deserialize_from_slice(&[0x78, 0x56, 0x34, 0x12]).unwrap(),
|
||||
EndianConstant::EndianConstant
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ impl<D: Serializable, U: Serializable + Eq> SerializableUntil<D, U> for Vec<D> {
|
|||
|
||||
impl Serializable for u8 {
|
||||
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}"))
|
||||
})?;
|
||||
Ok(())
|
||||
|
|
@ -127,7 +127,7 @@ impl Serializable for u8 {
|
|||
input.read_exact(&mut buffer).map_err(|_| {
|
||||
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 {
|
||||
|
|
@ -137,7 +137,7 @@ impl Serializable for u8 {
|
|||
|
||||
impl Serializable for i8 {
|
||||
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}"))
|
||||
})?;
|
||||
Ok(())
|
||||
|
|
@ -148,7 +148,7 @@ impl Serializable for i8 {
|
|||
input.read_exact(&mut buffer).map_err(|_| {
|
||||
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 {
|
||||
|
|
@ -158,7 +158,7 @@ impl Serializable for i8 {
|
|||
|
||||
impl Serializable for u16 {
|
||||
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}"))
|
||||
})?;
|
||||
Ok(())
|
||||
|
|
@ -169,7 +169,7 @@ impl Serializable for u16 {
|
|||
input.read_exact(&mut buffer).map_err(|_| {
|
||||
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 {
|
||||
|
|
@ -179,7 +179,7 @@ impl Serializable for u16 {
|
|||
|
||||
impl Serializable for i16 {
|
||||
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}"))
|
||||
})?;
|
||||
Ok(())
|
||||
|
|
@ -190,7 +190,7 @@ impl Serializable for i16 {
|
|||
input.read_exact(&mut buffer).map_err(|_| {
|
||||
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 {
|
||||
|
|
@ -200,7 +200,7 @@ impl Serializable for i16 {
|
|||
|
||||
impl Serializable for u32 {
|
||||
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}"))
|
||||
})?;
|
||||
Ok(())
|
||||
|
|
@ -211,7 +211,7 @@ impl Serializable for u32 {
|
|||
input.read_exact(&mut buffer).map_err(|_| {
|
||||
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 {
|
||||
|
|
@ -221,7 +221,7 @@ impl Serializable for u32 {
|
|||
|
||||
impl Serializable for i32 {
|
||||
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}"))
|
||||
})?;
|
||||
Ok(())
|
||||
|
|
@ -232,7 +232,7 @@ impl Serializable for i32 {
|
|||
input.read_exact(&mut buffer).map_err(|_| {
|
||||
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 {
|
||||
|
|
@ -242,7 +242,7 @@ impl Serializable for i32 {
|
|||
|
||||
impl Serializable for u64 {
|
||||
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}"))
|
||||
})?;
|
||||
Ok(())
|
||||
|
|
@ -253,7 +253,7 @@ impl Serializable for u64 {
|
|||
input.read_exact(&mut buffer).map_err(|_| {
|
||||
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 {
|
||||
|
|
@ -263,7 +263,7 @@ impl Serializable for u64 {
|
|||
|
||||
impl Serializable for i64 {
|
||||
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}"))
|
||||
})?;
|
||||
Ok(())
|
||||
|
|
@ -274,7 +274,7 @@ impl Serializable for i64 {
|
|||
input.read_exact(&mut buffer).map_err(|_| {
|
||||
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 {
|
||||
|
|
@ -284,7 +284,7 @@ impl Serializable for i64 {
|
|||
|
||||
impl Serializable for u128 {
|
||||
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}"))
|
||||
})?;
|
||||
Ok(())
|
||||
|
|
@ -295,7 +295,7 @@ impl Serializable for u128 {
|
|||
input.read_exact(&mut buffer).map_err(|_| {
|
||||
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 {
|
||||
|
|
@ -305,7 +305,7 @@ impl Serializable for u128 {
|
|||
|
||||
impl Serializable for i128 {
|
||||
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}"))
|
||||
})?;
|
||||
Ok(())
|
||||
|
|
@ -316,7 +316,7 @@ impl Serializable for i128 {
|
|||
input.read_exact(&mut buffer).map_err(|_| {
|
||||
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 {
|
||||
|
|
@ -347,13 +347,13 @@ mod test {
|
|||
|
||||
#[test]
|
||||
fn serialize_u16() {
|
||||
assert_eq!(0x1234u16.serialize_to_vec().unwrap(), vec![0x12u8, 0x34u8]);
|
||||
assert_eq!(0x1234u16.serialize_to_vec().unwrap(), vec![0x34u8, 0x12u8]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn deserialize_u16() {
|
||||
assert_eq!(
|
||||
u16::deserialize_from_slice(&[0x12u8, 0x34u8]).unwrap(),
|
||||
u16::deserialize_from_slice(&[0x34u8, 0x12u8]).unwrap(),
|
||||
0x1234u16
|
||||
);
|
||||
}
|
||||
|
|
@ -367,14 +367,14 @@ mod test {
|
|||
fn serialize_u32() {
|
||||
assert_eq!(
|
||||
0x12345678u32.serialize_to_vec().unwrap(),
|
||||
vec![0x12u8, 0x34u8, 0x56u8, 0x78u8]
|
||||
vec![0x78u8, 0x56u8, 0x34u8, 0x12u8]
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn deserialize_u32() {
|
||||
assert_eq!(
|
||||
u32::deserialize_from_slice(&[0x12u8, 0x34u8, 0x56u8, 0x78u8]).unwrap(),
|
||||
u32::deserialize_from_slice(&[0x78u8, 0x56u8, 0x34u8, 0x12u8]).unwrap(),
|
||||
0x12345678u32
|
||||
);
|
||||
}
|
||||
|
|
@ -388,7 +388,7 @@ mod test {
|
|||
fn serialize_u64() {
|
||||
assert_eq!(
|
||||
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() {
|
||||
assert_eq!(
|
||||
u64::deserialize_from_slice(&[
|
||||
0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8
|
||||
0xF0u8, 0xDEu8, 0xBCu8, 0x9Au8, 0x78u8, 0x56u8, 0x34u8, 0x12u8
|
||||
])
|
||||
.unwrap(),
|
||||
0x123456789ABCDEF0u64
|
||||
|
|
@ -415,8 +415,8 @@ mod test {
|
|||
.serialize_to_vec()
|
||||
.unwrap(),
|
||||
vec![
|
||||
0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8,
|
||||
0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8
|
||||
0xF0u8, 0xDEu8, 0xBCu8, 0x9Au8, 0x78u8, 0x56u8, 0x34u8, 0x12u8, 0xF0u8, 0xDEu8,
|
||||
0xBCu8, 0x9Au8, 0x78u8, 0x56u8, 0x34u8, 0x12u8,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
|
@ -425,8 +425,8 @@ mod test {
|
|||
fn deserialize_u128() {
|
||||
assert_eq!(
|
||||
u128::deserialize_from_slice(&[
|
||||
0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8,
|
||||
0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8
|
||||
0xF0u8, 0xDEu8, 0xBCu8, 0x9Au8, 0x78u8, 0x56u8, 0x34u8, 0x12u8, 0xF0u8, 0xDEu8,
|
||||
0xBCu8, 0x9Au8, 0x78u8, 0x56u8, 0x34u8, 0x12u8,
|
||||
])
|
||||
.unwrap(),
|
||||
0x123456789ABCDEF0123456789ABCDEF0u128
|
||||
|
|
@ -462,10 +462,9 @@ mod test {
|
|||
assert_eq!(
|
||||
t.serialize_to_vec().unwrap(),
|
||||
vec![
|
||||
42u8, 0x12u8, 0x34u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x12u8, 0x34u8, 0x56u8,
|
||||
0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8,
|
||||
0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8,
|
||||
0xF0u8
|
||||
0x2a, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34,
|
||||
0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78,
|
||||
0x56, 0x34, 0x12
|
||||
]
|
||||
);
|
||||
}
|
||||
|
|
@ -480,9 +479,9 @@ mod test {
|
|||
0x123456789ABCDEF0123456789ABCDEF0u128,
|
||||
);
|
||||
let serialized = vec![
|
||||
42u8, 0x12u8, 0x34u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8,
|
||||
0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8,
|
||||
0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8,
|
||||
0x2a, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34,
|
||||
0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78,
|
||||
0x56, 0x34, 0x12,
|
||||
];
|
||||
assert_eq!(
|
||||
UnamedComposedTest::deserialize_from_slice(&serialized).unwrap(),
|
||||
|
|
@ -537,19 +536,16 @@ mod test {
|
|||
assert_eq!(
|
||||
t.serialize_to_vec().unwrap(),
|
||||
vec![
|
||||
42u8, 0x12u8, 0x34u8, 0x12u8, 0x34u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x12u8,
|
||||
0x34u8, 0x56u8, 0x78u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x12u8, 0x34u8, 0x56u8,
|
||||
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, 0x12u8,
|
||||
0x34u8, 0x56u8, 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, 0x12u8, 0x34u8, 0x56u8, 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, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8,
|
||||
0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8
|
||||
0x2a, 0x34, 0x12, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0x78,
|
||||
0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc,
|
||||
0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0,
|
||||
0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34,
|
||||
0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78,
|
||||
0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc,
|
||||
0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0,
|
||||
0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34,
|
||||
0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78,
|
||||
0x56, 0x34, 0x12
|
||||
]
|
||||
);
|
||||
}
|
||||
|
|
@ -575,18 +571,16 @@ mod test {
|
|||
],
|
||||
);
|
||||
let serialized = vec![
|
||||
42u8, 0x12u8, 0x34u8, 0x12u8, 0x34u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x12u8, 0x34u8,
|
||||
0x56u8, 0x78u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x12u8, 0x34u8, 0x56u8, 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, 0x12u8, 0x34u8, 0x56u8, 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, 0x12u8, 0x34u8, 0x56u8, 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, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8,
|
||||
0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8,
|
||||
0x2a, 0x34, 0x12, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0x78,
|
||||
0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc,
|
||||
0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0,
|
||||
0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34,
|
||||
0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78,
|
||||
0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc,
|
||||
0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0,
|
||||
0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34,
|
||||
0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78,
|
||||
0x56, 0x34, 0x12,
|
||||
];
|
||||
assert_eq!(
|
||||
UnamedArrayComposedTest::deserialize_from_slice(&serialized).unwrap(),
|
||||
|
|
@ -640,20 +634,17 @@ mod test {
|
|||
assert_eq!(
|
||||
t.serialize_to_vec().unwrap(),
|
||||
vec![
|
||||
42u8, 0x12u8, 0x34u8, 0x12u8, 0x34u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x12u8,
|
||||
0x34u8, 0x56u8, 0x78u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x12u8, 0x34u8, 0x56u8,
|
||||
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, 0x12u8,
|
||||
0x34u8, 0x56u8, 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, 0x12u8, 0x34u8, 0x56u8, 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, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8,
|
||||
0xF0u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8
|
||||
]
|
||||
0x2a, 0x34, 0x12, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0x78,
|
||||
0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc,
|
||||
0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0,
|
||||
0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34,
|
||||
0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78,
|
||||
0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc,
|
||||
0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0,
|
||||
0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34,
|
||||
0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78,
|
||||
0x56, 0x34, 0x12
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -678,18 +669,16 @@ mod test {
|
|||
],
|
||||
};
|
||||
let serialized = vec![
|
||||
42u8, 0x12u8, 0x34u8, 0x12u8, 0x34u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x12u8, 0x34u8,
|
||||
0x56u8, 0x78u8, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x12u8, 0x34u8, 0x56u8, 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, 0x12u8, 0x34u8, 0x56u8, 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, 0x12u8, 0x34u8, 0x56u8, 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, 0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8,
|
||||
0x12u8, 0x34u8, 0x56u8, 0x78u8, 0x9Au8, 0xBCu8, 0xDEu8, 0xF0u8,
|
||||
0x2a, 0x34, 0x12, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0x78, 0x56, 0x34, 0x12, 0x78,
|
||||
0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc,
|
||||
0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0,
|
||||
0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34,
|
||||
0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78,
|
||||
0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc,
|
||||
0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0,
|
||||
0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34,
|
||||
0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0xf0, 0xde, 0xbc, 0x9a, 0x78,
|
||||
0x56, 0x34, 0x12,
|
||||
];
|
||||
assert_eq!(
|
||||
NamedArrayComposedTest::deserialize_from_slice(&serialized).unwrap(),
|
||||
|
|
@ -790,7 +779,7 @@ mod test {
|
|||
};
|
||||
assert_eq!(
|
||||
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],
|
||||
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!(
|
||||
v,
|
||||
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::One(42).serialize_to_vec().unwrap(),
|
||||
vec![1u8, 0u8, 0u8, 0u8, 42u8]
|
||||
vec![1u8, 42u8, 0u8, 0u8, 0u8]
|
||||
);
|
||||
assert_eq!(
|
||||
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
|
||||
);
|
||||
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)
|
||||
);
|
||||
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 }
|
||||
);
|
||||
assert!(TestEnum::deserialize_from_slice(&[255u8]).is_err());
|
||||
|
|
@ -866,7 +855,7 @@ mod test {
|
|||
#[test]
|
||||
fn deserialize_prefix_suffix() {
|
||||
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 }
|
||||
);
|
||||
}
|
||||
|
|
@ -877,7 +866,7 @@ mod test {
|
|||
TestPrefixSuffix { a: 0x00010203 }
|
||||
.serialize_to_vec()
|
||||
.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!(
|
||||
TestEnumUnnamedDef::One(42).serialize_to_vec().unwrap(),
|
||||
vec![1u8, 0u8, 0u8, 0u8, 42u8]
|
||||
vec![1u8, 42u8, 0u8, 0u8, 0u8]
|
||||
);
|
||||
assert_eq!(
|
||||
TestEnumUnnamedDef::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]
|
||||
);
|
||||
assert_eq!(
|
||||
TestEnumUnnamedDef::Dft(42, 0x01234567)
|
||||
.serialize_to_vec()
|
||||
.unwrap(),
|
||||
vec![42u8, 0x01u8, 0x23u8, 0x45, 0x67],
|
||||
vec![42u8, 0x67, 0x45, 0x23, 0x01u8],
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -933,16 +922,16 @@ mod test {
|
|||
TestEnumUnnamedDef::Zero
|
||||
);
|
||||
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)
|
||||
);
|
||||
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(),
|
||||
TestEnumUnnamedDef::Two { a: 1, b: 2 }
|
||||
);
|
||||
assert_eq!(
|
||||
TestEnumUnnamedDef::deserialize_from_slice(&[42u8, 0x01u8, 0x23u8, 0x45, 0x67])
|
||||
TestEnumUnnamedDef::deserialize_from_slice(&[42u8, 0x67, 0x45, 0x23u8, 0x01u8])
|
||||
.unwrap(),
|
||||
TestEnumUnnamedDef::Dft(42, 0x01234567)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ impl<'a> DexFileReader<'a> {
|
|||
pub fn new(data: &'a [u8]) -> Result<Self> {
|
||||
let mut buffer = Cursor::new(data);
|
||||
let header = HeaderItem::deserialize(&mut buffer)?;
|
||||
println!("{header:x?}");
|
||||
let mut tmp_file = Self {
|
||||
data,
|
||||
header,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue