From 5e59b6dc8509fae7c482d4dc4dbda68f71e7b835 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 22 Jun 2025 09:44:38 +1000 Subject: [PATCH] #3851: Remove output from tests and "base" from dialog json --- .../serializer/dialog/DialogSerializer.java | 1 + .../net/md_5/bungee/dialog/SimpleTest.java | 22 ++++++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/serializer/src/main/java/net/md_5/bungee/serializer/dialog/DialogSerializer.java b/serializer/src/main/java/net/md_5/bungee/serializer/dialog/DialogSerializer.java index 8345e683..864cb835 100644 --- a/serializer/src/main/java/net/md_5/bungee/serializer/dialog/DialogSerializer.java +++ b/serializer/src/main/java/net/md_5/bungee/serializer/dialog/DialogSerializer.java @@ -121,6 +121,7 @@ public class DialogSerializer implements JsonDeserializer, JsonSerialize JsonObject base = (JsonObject) context.serialize( src.getBase() ); object.asMap().putAll( base.asMap() ); + object.remove( "base" ); return object; } finally diff --git a/serializer/src/test/java/net/md_5/bungee/dialog/SimpleTest.java b/serializer/src/test/java/net/md_5/bungee/dialog/SimpleTest.java index ff7c068d..64cf342a 100644 --- a/serializer/src/test/java/net/md_5/bungee/dialog/SimpleTest.java +++ b/serializer/src/test/java/net/md_5/bungee/dialog/SimpleTest.java @@ -1,5 +1,6 @@ package net.md_5.bungee.dialog; +import static org.junit.jupiter.api.Assertions.*; import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.chat.ComponentBuilder; import net.md_5.bungee.api.dialog.Dialog; @@ -11,15 +12,26 @@ import org.junit.jupiter.api.Test; public class SimpleTest { + public static void testDissembleReassemble(Dialog notice) + { + String json = VersionedComponentSerializer.getDefault().getDialogSerializer().toString( notice ); + Dialog parsed = VersionedComponentSerializer.getDefault().getDialogSerializer().deserialize( json ); + assertEquals( notice, parsed ); + } + @Test - public void testNotice() + public void testSimple() { String json = "{type:\"minecraft:notice\",title:\"Hello\"}"; Dialog deserialized = VersionedComponentSerializer.getDefault().getDialogSerializer().deserialize( json ); - System.err.println( deserialized ); + String serialized = VersionedComponentSerializer.getDefault().getDialogSerializer().toString( deserialized ); - Dialog notice = new NoticeDialog( new DialogBase( new ComponentBuilder( "Hello" ).color( ChatColor.RED ).build() ) ); - String newJson = VersionedComponentSerializer.getDefault().getDialogSerializer().toString( notice ); - System.err.println( newJson ); + assertEquals( "{\"type\":\"minecraft:notice\",\"title\":{\"text\":\"Hello\"}}", serialized ); + } + + @Test + public void testNotice() + { + testDissembleReassemble( new NoticeDialog( new DialogBase( new ComponentBuilder( "Hello" ).color( ChatColor.RED ).build() ) ) ); } }