mirror of
https://github.com/Minestom/Minestom.git
synced 2025-02-22 23:31:37 +01:00
Test integration of path & structure
Signed-off-by: TheMode <themode@outlook.fr>
This commit is contained in:
parent
50a7d7ca81
commit
0875becdc7
@ -1,9 +1,12 @@
|
||||
package net.minestom.server.tag;
|
||||
|
||||
import net.minestom.server.entity.PlayerSkin;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import static net.minestom.server.api.TestUtils.assertEqualsSNBT;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
@ -129,4 +132,48 @@ public class TagStructureTest {
|
||||
""", handler.asCompound());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void pathOverride() {
|
||||
var handler = TagHandler.newHandler();
|
||||
Tag<UUID> uuidTag = Tag.UUID("Id").path("SkullOwner");
|
||||
Tag<PlayerSkin> skinTag = Tag.Structure("Properties", new TagSerializer<PlayerSkin>() {
|
||||
@Override
|
||||
public @Nullable PlayerSkin read(@NotNull TagReadable reader) {
|
||||
final String value = reader.getTag(Tag.String("Value"));
|
||||
final String signature = reader.getTag(Tag.String("Signature"));
|
||||
if (value == null || signature == null) return null;
|
||||
return new PlayerSkin(value, signature);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(@NotNull TagWritable writer, @NotNull PlayerSkin value) {
|
||||
writer.setTag(Tag.String("Value"), value.textures());
|
||||
writer.setTag(Tag.String("Signature"), value.signature());
|
||||
}
|
||||
}).path("SkullOwner");
|
||||
var uuid = UUID.fromString("a4a9f3e7-f8b5-4b8e-8b3d-b8b9f8b9f8b9");
|
||||
var skin = new PlayerSkin("textures", "signature");
|
||||
handler.setTag(uuidTag, uuid);
|
||||
handler.setTag(skinTag, skin);
|
||||
|
||||
assertEquals(uuid, handler.getTag(uuidTag));
|
||||
assertEquals(skin, handler.getTag(skinTag));
|
||||
assertEqualsSNBT("""
|
||||
{
|
||||
"SkullOwner":{
|
||||
"Id":[
|
||||
I;-1532365849,
|
||||
-122336370,
|
||||
-1958889287,
|
||||
-122029895
|
||||
],
|
||||
"Properties":{
|
||||
"Signature":"signature",
|
||||
"Value":"textures"
|
||||
}
|
||||
}
|
||||
}
|
||||
""", handler.asCompound());
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user