aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--azalea-nbt/benches/my_benchmark.rs6
-rw-r--r--azalea-nbt/tests/complex_player.datbin0 -> 1379 bytes
-rw-r--r--azalea-nbt/tests/inttest.nbtbin0 -> 95 bytes
-rw-r--r--azalea-nbt/tests/simple_player.datbin0 -> 440 bytes
-rw-r--r--azalea-nbt/tests/stringtest.nbtbin0 -> 251 bytes
-rw-r--r--azalea-nbt/tests/tests.rs69
6 files changed, 71 insertions, 4 deletions
diff --git a/azalea-nbt/benches/my_benchmark.rs b/azalea-nbt/benches/my_benchmark.rs
index be114005..46a2f851 100644
--- a/azalea-nbt/benches/my_benchmark.rs
+++ b/azalea-nbt/benches/my_benchmark.rs
@@ -39,9 +39,11 @@ fn bench_serialize(filename: &str, c: &mut Criterion) {
fn bench(c: &mut Criterion) {
bench_serialize("tests/bigtest.nbt", c);
- // bench_serialize("tests/simple_player.dat", c);
- // bench_serialize("tests/complex_player.dat", c);
+ bench_serialize("tests/simple_player.dat", c);
+ bench_serialize("tests/complex_player.dat", c);
bench_serialize("tests/level.dat", c);
+ bench_serialize("tests/stringtest.nbt", c);
+ bench_serialize("tests/inttest.nbt", c);
}
criterion_group!(benches, bench);
diff --git a/azalea-nbt/tests/complex_player.dat b/azalea-nbt/tests/complex_player.dat
new file mode 100644
index 00000000..d7f3fcbd
--- /dev/null
+++ b/azalea-nbt/tests/complex_player.dat
Binary files differ
diff --git a/azalea-nbt/tests/inttest.nbt b/azalea-nbt/tests/inttest.nbt
new file mode 100644
index 00000000..ad9255f2
--- /dev/null
+++ b/azalea-nbt/tests/inttest.nbt
Binary files differ
diff --git a/azalea-nbt/tests/simple_player.dat b/azalea-nbt/tests/simple_player.dat
new file mode 100644
index 00000000..e5091b41
--- /dev/null
+++ b/azalea-nbt/tests/simple_player.dat
Binary files differ
diff --git a/azalea-nbt/tests/stringtest.nbt b/azalea-nbt/tests/stringtest.nbt
new file mode 100644
index 00000000..ac111433
--- /dev/null
+++ b/azalea-nbt/tests/stringtest.nbt
Binary files differ
diff --git a/azalea-nbt/tests/tests.rs b/azalea-nbt/tests/tests.rs
index b6bc1023..dd2bb6dd 100644
--- a/azalea-nbt/tests/tests.rs
+++ b/azalea-nbt/tests/tests.rs
@@ -30,8 +30,6 @@ fn test_roundtrip_hello_world() {
let mut original_stream = Cursor::new(original.clone());
let tag = Tag::read(&mut original_stream).unwrap();
- println!("ok read {:?}", tag);
-
// write hello_world.nbt
let mut result = Cursor::new(Vec::new());
tag.write(&mut result).unwrap();
@@ -56,3 +54,70 @@ fn test_bigtest() {
assert_eq!(decoded_tag, original_tag);
}
+
+#[test]
+fn test_stringtest() {
+ let correct_tag = Tag::Compound(HashMap::from_iter(vec![(
+ "😃".to_string(),
+ Tag::List(vec![
+ Tag::String("asdfkghasfjgihsdfogjsndfg".to_string()),
+ Tag::String("jnabsfdgihsabguiqwrntgretqwejirhbiqw".to_string()),
+ Tag::String("asd".to_string()),
+ Tag::String("wqierjgt7wqy8u4rtbwreithwretiwerutbwenryq8uwervqwer9iuqwbrgyuqrbtwierotugqewrtqwropethert".to_string()),
+ Tag::String("asdf".to_string()),
+ Tag::String("alsdkjiqwoe".to_string()),
+ Tag::String("lmqi9hyqd".to_string()),
+ Tag::String("qwertyuiop".to_string()),
+ Tag::String("asdfghjkl".to_string()),
+ Tag::String("zxcvbnm".to_string()),
+ Tag::String(" ".to_string()),
+ Tag::String("words words words words words words".to_string()),
+ Tag::String("aaaaaaaaaaaaaaaaaaaa".to_string()),
+ Tag::String("♥".to_string()),
+ Tag::String("a\nb\n\n\nc\r\rd".to_string()),
+ Tag::String("😁".to_string()),
+ ])
+ )]));
+ let mut file = std::fs::File::open("tests/stringtest.nbt").unwrap();
+ let mut original = Vec::new();
+ file.read_to_end(&mut original).unwrap();
+
+ let mut original_stream = Cursor::new(original.clone());
+ let original_tag = Tag::read_gzip(&mut original_stream).unwrap();
+
+ assert_eq!(original_tag, correct_tag);
+}
+
+#[test]
+fn test_complex_player() {
+ let mut file = std::fs::File::open("tests/complex_player.dat").unwrap();
+ let mut original = Vec::new();
+ file.read_to_end(&mut original).unwrap();
+
+ let mut original_stream = Cursor::new(original.clone());
+ let original_tag = Tag::read_gzip(&mut original_stream).unwrap();
+
+ let mut result = Vec::new();
+ original_tag.write(&mut result).unwrap();
+
+ let decoded_tag = Tag::read(&mut Cursor::new(result)).unwrap();
+
+ assert_eq!(decoded_tag, original_tag);
+}
+
+#[test]
+fn test_simple_player() {
+ let mut file = std::fs::File::open("tests/simple_player.dat").unwrap();
+ let mut original = Vec::new();
+ file.read_to_end(&mut original).unwrap();
+
+ let mut original_stream = Cursor::new(original.clone());
+ let original_tag = Tag::read_gzip(&mut original_stream).unwrap();
+
+ let mut result = Vec::new();
+ original_tag.write(&mut result).unwrap();
+
+ let decoded_tag = Tag::read(&mut Cursor::new(result)).unwrap();
+
+ assert_eq!(decoded_tag, original_tag);
+}