1
0
Fork 0
mirror of https://github.com/azalea-rs/simdnbt.git synced 2025-08-02 07:26:04 +00:00

add more borrow=owned tests

This commit is contained in:
mat 2024-10-18 19:45:50 +00:00
parent 6c54c4c240
commit 27766aa5fd

View file

@ -29,24 +29,46 @@ mod tests {
use flate2::bufread::GzDecoder;
#[test]
fn complex_player_borrow_and_owned() {
let src = include_bytes!("../tests/complex_player.dat").to_vec();
let mut src_slice = src.as_slice();
fn gzip_decode(src: &[u8]) -> Vec<u8> {
let mut src_slice = src;
let mut decoded_src_decoder = GzDecoder::new(&mut src_slice);
let mut decoded_src = Vec::new();
decoded_src_decoder.read_to_end(&mut decoded_src).unwrap();
let nbt_borrow = crate::borrow::read(&mut Cursor::new(&decoded_src))
decoded_src
}
fn test_decodes_equally(src: &[u8]) {
let nbt_borrow = crate::borrow::read(&mut Cursor::new(&src))
.unwrap()
.unwrap()
.as_compound()
.to_owned();
let nbt_owned = crate::owned::read(&mut Cursor::new(&decoded_src))
let nbt_owned = crate::owned::read(&mut Cursor::new(&src))
.unwrap()
.unwrap()
.as_compound();
// (there's another test in owned to make sure that PartialEq actually works)
assert_eq!(nbt_borrow, nbt_owned);
}
#[test]
fn complex_player_borrow_and_owned() {
let src = include_bytes!("../tests/complex_player.dat").to_vec();
test_decodes_equally(&gzip_decode(&src));
}
#[test]
fn level_borrow_and_owned() {
let src = include_bytes!("../tests/level.dat").to_vec();
test_decodes_equally(&gzip_decode(&src));
}
#[test]
fn hypixel_borrow_and_owned() {
let src = include_bytes!("../tests/hypixel.nbt").to_vec();
test_decodes_equally(&src);
}
#[test]
fn bigtest_borrow_and_owned() {
let src = include_bytes!("../tests/bigtest.nbt").to_vec();
test_decodes_equally(&gzip_decode(&src));
}
}