#2421: fromLegacyText - return formatted component even if empty
This commit is contained in:
parent
88bacf12a3
commit
f54f0e3f6a
@ -132,17 +132,9 @@ public final class TextComponent extends BaseComponent
|
||||
}
|
||||
builder.append( c );
|
||||
}
|
||||
if ( builder.length() > 0 )
|
||||
{
|
||||
component.setText( builder.toString() );
|
||||
components.add( component );
|
||||
}
|
||||
|
||||
// The client will crash if the array is empty
|
||||
if ( components.isEmpty() )
|
||||
{
|
||||
components.add( new TextComponent( "" ) );
|
||||
}
|
||||
component.setText( builder.toString() );
|
||||
components.add( component );
|
||||
|
||||
return components.toArray( new BaseComponent[ components.size() ] );
|
||||
}
|
||||
|
@ -113,9 +113,9 @@ public class ComponentsTest
|
||||
BaseComponent[] test2 = TextComponent.fromLegacyText( "Text http://spigotmc.org " + ChatColor.GREEN + "google.com/test" );
|
||||
|
||||
Assert.assertEquals( "Text http://spigotmc.org google.com/test", BaseComponent.toPlainText( test2 ) );
|
||||
//The extra ChatColor.WHITEs are sometimes inserted when not needed but it doesn't change the result
|
||||
//The extra ChatColor instances are sometimes inserted when not needed but it doesn't change the result
|
||||
Assert.assertEquals( ChatColor.WHITE + "Text " + ChatColor.WHITE + "http://spigotmc.org" + ChatColor.WHITE
|
||||
+ " " + ChatColor.GREEN + "google.com/test", BaseComponent.toLegacyText( test2 ) );
|
||||
+ " " + ChatColor.GREEN + "google.com/test" + ChatColor.GREEN, BaseComponent.toLegacyText( test2 ) );
|
||||
|
||||
ClickEvent url1 = test2[1].getClickEvent();
|
||||
Assert.assertNotNull( url1 );
|
||||
@ -275,6 +275,20 @@ public class ComponentsTest
|
||||
Assert.assertEquals( emptyLegacyText, invalidColorCodesLegacyText );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFormattingOnlyTextConversion()
|
||||
{
|
||||
String text = "§a";
|
||||
|
||||
BaseComponent[] converted = TextComponent.fromLegacyText( text );
|
||||
Assert.assertEquals( ChatColor.GREEN, converted[0].getColor() );
|
||||
|
||||
String roundtripLegacyText = BaseComponent.toLegacyText( converted );
|
||||
|
||||
// color code should not be lost during conversion
|
||||
Assert.assertEquals( text, roundtripLegacyText );
|
||||
}
|
||||
|
||||
private String fromAndToLegacyText(String legacyText)
|
||||
{
|
||||
return BaseComponent.toLegacyText( TextComponent.fromLegacyText( legacyText ) );
|
||||
|
Loading…
Reference in New Issue
Block a user