Better test layout and fix a bug.
This commit is contained in:
parent
7f45486600
commit
9c6bb882b0
@ -1,108 +0,0 @@
|
||||
package com.massivecraft.massivecore.mson;
|
||||
|
||||
import static com.massivecraft.massivecore.mson.Mson.mson;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
|
||||
import com.massivecraft.massivecore.collections.MassiveList;
|
||||
import com.massivecraft.massivecore.util.Txt;
|
||||
|
||||
public class ATest
|
||||
{
|
||||
public static void main(String[] args)
|
||||
{
|
||||
try
|
||||
{
|
||||
// Test getMsonFrom
|
||||
Mson ofMson = mson(new Mson().text("hello"));
|
||||
System.out.println("ofMson:" + ofMson); // Success
|
||||
|
||||
Mson ofString = mson("hello");
|
||||
System.out.println("ofString:" + ofString); // Success
|
||||
|
||||
Mson ofCollection = mson(new MassiveList<String>("hello ", "you!"));
|
||||
System.out.println("ofCollection:" + ofCollection); // Success
|
||||
|
||||
// Test children
|
||||
Mson child = mson("test").color(ChatColor.BLUE)
|
||||
.addChild(" test2").link("www.massivecraft.com")
|
||||
.addChild(" test3 ")
|
||||
.addChildren("this ", "is only ", "one way to do it!")
|
||||
.root()
|
||||
.tooltip("Holy moly!");
|
||||
System.out.println("child:" + child.root()); // Success
|
||||
|
||||
// Test siblings
|
||||
Mson sibling = mson(
|
||||
"test",
|
||||
" test2",
|
||||
" test3",
|
||||
new Mson().text(" Test4, children: ").addChild("Child1 ")
|
||||
.addSiblings("Sibling 1 ", "Sibling 2 ", "Sibling 3 ")
|
||||
.addSibling("Sibling 4").root()
|
||||
).tooltip("Holy moly!");
|
||||
System.out.println("sibling:" + sibling.root()); // Success
|
||||
|
||||
// Test fromParsedMessage
|
||||
Mson parsed = Mson.fromParsedMessage(Txt.parse("white <i>in<em>fo <b><em><bold>bad <lime>green"));
|
||||
System.out.println("parsed:" + parsed); // Success
|
||||
|
||||
Mson parsed2 = Mson.parse("white <i>in<em>fo <b><bold>bad <lime>green");
|
||||
System.out.println("parsed2:" + parsed2.toRaw()); // Success
|
||||
|
||||
Mson parseFormat = Mson.parse("<i>insert here %s whatever <g> you <b>%s <g>could wish for!", "!1337!", "herpi derp");
|
||||
System.out.println("parseFormat:" + parseFormat); // Success
|
||||
|
||||
// Test format
|
||||
Mson format = Mson.format("Just a %s simple string! :)", "very");
|
||||
System.out.println("format:" + format); // Success
|
||||
|
||||
// Test split
|
||||
List<Mson> split = format.split(Txt.REGEX_WHITESPACE.toString());
|
||||
System.out.println("split:" + mson(split)); // Success
|
||||
|
||||
/*
|
||||
* Test replace
|
||||
*/
|
||||
|
||||
Mson charr = mson("1 2 3 4 5 6 1 7 tests").addChild(" 01010101").root().replace('1', '0');
|
||||
System.out.println("char:" + charr); // Success
|
||||
|
||||
Mson sequence = mson("1 2 3 4 5 6 1 7 tests").addChild(" 01010101").root().replace("1", "0");
|
||||
System.out.println("sequence:" + sequence); // Success
|
||||
|
||||
Mson regex = mson("1 2 3 4 5 6 1 7 tests").addChild(" 01010101").root().replaceAll("1", "0");
|
||||
System.out.println("regex:" + regex); // Success
|
||||
|
||||
//Mson replaceFirst = Mson.of("1 2 3 4 5 6 1 7 tests").addChild(" 01010101").getRoot().replaceFirst("1", "0");
|
||||
//System.out.println("replaceFirst:" + replaceFirst.toRaw()); // Success
|
||||
|
||||
/*
|
||||
* Test special replaceAll
|
||||
*/
|
||||
|
||||
// replace string mson
|
||||
Mson replaceAll1 = mson("1 2 3 4 5 6 1 7 tests").color(ChatColor.BLUE).addChild(" 1+1+1").addChild("herpiderp").root().replaceAll("1", mson("0"));
|
||||
System.out.println("replaceAll1:" + replaceAll1.root()); // Success
|
||||
|
||||
Mson overload = mson("hello").addChild("hello").addChild("hello").root().replaceAll("hello", mson("lol"));
|
||||
System.out.println("overload:" + overload.root()); // Success
|
||||
|
||||
Mson toReplace = new Mson().text("hallo");
|
||||
|
||||
// replace mson mson
|
||||
Mson replaceAll2 = mson("1 2 3 4 5 6 7 tests").addChild(toReplace).addSibling(" miep").root().replaceAll(toReplace, mson("tests"));
|
||||
System.out.println("replaceAll2:" + replaceAll2.root()); // Success
|
||||
|
||||
Mson overload2 = mson("1 2 3 4 5 6 7 tests").addChild("hallo").addChild("hallo").addChild("hallo").addSibling(" miep").root().replaceAll(mson("hallo"), mson("tests"));
|
||||
System.out.println("overload2:" + overload2.root()); // Success
|
||||
}
|
||||
catch(Throwable t)
|
||||
{
|
||||
t.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -207,7 +207,7 @@ public class Mson implements Serializable
|
||||
if (style == ChatColor.UNDERLINE) return this.underlined(true);
|
||||
if (style == ChatColor.STRIKETHROUGH) return this.striketrhough(true);
|
||||
if (style == ChatColor.MAGIC) return this.obfuscated(true);
|
||||
if (style.isColor()) return this.color(color);
|
||||
if (style.isColor()) return this.color(style);
|
||||
|
||||
throw new UnsupportedOperationException(style.name());
|
||||
}
|
||||
|
139
src/com/massivecraft/massivecore/mson/Test.java
Normal file
139
src/com/massivecraft/massivecore/mson/Test.java
Normal file
@ -0,0 +1,139 @@
|
||||
package com.massivecraft.massivecore.mson;
|
||||
|
||||
import static org.bukkit.ChatColor.*;
|
||||
import static com.massivecraft.massivecore.mson.Mson.mson;
|
||||
|
||||
import com.massivecraft.massivecore.collections.MassiveList;
|
||||
import com.massivecraft.massivecore.util.Txt;
|
||||
|
||||
public class Test
|
||||
{
|
||||
public static void main(String[] args)
|
||||
{
|
||||
try
|
||||
{
|
||||
test();
|
||||
}
|
||||
catch (Throwable t)
|
||||
{
|
||||
t.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static void test()
|
||||
{
|
||||
Mson mson;
|
||||
|
||||
mson = mson("hello");
|
||||
test("ofString", mson);
|
||||
|
||||
mson = mson(
|
||||
mson("hello")
|
||||
);
|
||||
test("ofMson", mson);
|
||||
|
||||
mson = mson(
|
||||
new MassiveList<String>("hello ", "you!")
|
||||
);
|
||||
test("ofCollection", mson);
|
||||
|
||||
mson = mson("test")
|
||||
.color(BLUE)
|
||||
.addChild(" test2").link("www.massivecraft.com")
|
||||
.addChild(" test3 ")
|
||||
.addChildren("this ", "is only ", "one way to do it!")
|
||||
.root()
|
||||
.tooltip("Holy moly!");
|
||||
test("child", mson);
|
||||
|
||||
mson = mson(
|
||||
"test",
|
||||
" test2",
|
||||
" test3",
|
||||
mson().text(" Test4, children: ").addChild("Child1 ").addSiblings("Sibling 1 ", "Sibling 2 ", "Sibling 3 ").addSibling("Sibling 4").root()
|
||||
).tooltip("Holy moly!");
|
||||
test("sibling", mson);
|
||||
|
||||
mson = Mson.fromParsedMessage(Txt.parse("white <i>in<em>fo <b><em><bold>bad <lime>green"));
|
||||
test("parsed", mson);
|
||||
|
||||
mson = Mson.parse("white <i>in<em>fo <b><bold>bad <lime>green");
|
||||
test("parsed2", mson);
|
||||
|
||||
mson = Mson.parse("<i>insert here %s whatever <g> you <b>%s <g>could wish for!", "!1337!", "herpi derp");
|
||||
test("parseFormat", mson);
|
||||
|
||||
Mson format = Mson.format("Just a %s simple string! :)", "very");
|
||||
test("format", format);
|
||||
|
||||
// Test split
|
||||
mson = mson(format.split(Txt.REGEX_WHITESPACE.toString()));
|
||||
test("split", mson);
|
||||
|
||||
// -------------------------------------------- //
|
||||
// TEST REPLACE
|
||||
// -------------------------------------------- //
|
||||
|
||||
mson = mson("1 2 3 4 5 6 1 7 tests").addChild(" 01010101").root().replace('1', '0');
|
||||
test("charr", mson);
|
||||
|
||||
mson = mson("1 2 3 4 5 6 1 7 tests").addChild(" 01010101").root().replace("1", "0");
|
||||
test("sequence", mson);
|
||||
|
||||
mson = mson("1 2 3 4 5 6 1 7 tests").addChild(" 01010101").root().replaceAll("1", "0");
|
||||
test("regex", mson);
|
||||
|
||||
// -------------------------------------------- //
|
||||
// TEST SPECIAL REPLACE ALL
|
||||
// -------------------------------------------- //
|
||||
|
||||
// replace string mson
|
||||
mson = mson("1 2 3 4 5 6 1 7 tests").color(BLUE).addChild(" 1+1+1").addChild("herpiderp").root().replaceAll("1", mson("0"));
|
||||
test("replaceAll1", mson);
|
||||
|
||||
mson = mson("hello").addChild("hello").addChild("hello").root().replaceAll("hello", mson("lol"));
|
||||
test("overload", mson);
|
||||
|
||||
Mson toReplace = mson("hallo");
|
||||
|
||||
// replace mson mson
|
||||
mson = mson("1 2 3 4 5 6 7 tests").addChild(toReplace).addSibling(" miep").root().replaceAll(toReplace, mson("tests"));
|
||||
test("replaceAll2", mson);
|
||||
|
||||
mson = mson("1 2 3 4 5 6 7 tests").addChild("hallo").addChild("hallo").addChild("hallo").addSibling(" miep").root().replaceAll(mson("hallo"), mson("tests"));
|
||||
test("overload2", mson);
|
||||
|
||||
// -------------------------------------------- //
|
||||
// EXAMPLES
|
||||
// -------------------------------------------- //
|
||||
|
||||
// Example: Would you like to [allow] or [deny]?
|
||||
mson = mson(
|
||||
"Would you like to ",
|
||||
mson("[allow]").style(RED).command("/asfd blah allow"),
|
||||
" or ",
|
||||
mson("[deny]").style(GREEN).command("/asfd blah deny"),
|
||||
"?"
|
||||
).style(YELLOW);
|
||||
test("Would you like to [allow] or [deny]?", mson);
|
||||
|
||||
// -------------------------------------------- //
|
||||
// SPONGE MIMIC
|
||||
// -------------------------------------------- //
|
||||
// https://docs.spongepowered.org/en/plugin/basics/text.html
|
||||
|
||||
// Text multiColoredText = Texts.builder("Sponges are ").color(TextColors.YELLOW).append(Texts.builder("invincible!").color(TextColors.RED).build()).build();
|
||||
mson = mson(
|
||||
mson("Sponges are ").color(YELLOW),
|
||||
mson("invincible!").color(RED)
|
||||
);
|
||||
test("Sponges are invincible", mson);
|
||||
|
||||
}
|
||||
|
||||
public static void test(String name, Mson mson)
|
||||
{
|
||||
System.out.println(name + ": " + mson);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user