aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/kotlin/testutil/ItemResources.kt7
-rw-r--r--src/test/kotlin/util/TextUtilText.kt15
-rw-r--r--src/test/resources/testdata/chat/all-chat.snbt162
3 files changed, 184 insertions, 0 deletions
diff --git a/src/test/kotlin/testutil/ItemResources.kt b/src/test/kotlin/testutil/ItemResources.kt
index bd3c438..ee2a322 100644
--- a/src/test/kotlin/testutil/ItemResources.kt
+++ b/src/test/kotlin/testutil/ItemResources.kt
@@ -4,6 +4,8 @@ import net.minecraft.item.ItemStack
import net.minecraft.nbt.NbtCompound
import net.minecraft.nbt.NbtOps
import net.minecraft.nbt.StringNbtReader
+import net.minecraft.text.Text
+import net.minecraft.text.TextCodecs
import moe.nea.firmament.test.FirmTestBootstrap
object ItemResources {
@@ -22,6 +24,11 @@ object ItemResources {
return StringNbtReader.parse(loadString(path))
}
+ fun loadText(name: String): Text {
+ return TextCodecs.CODEC.parse(NbtOps.INSTANCE, loadSNbt("testdata/chat/$name.snbt"))
+ .getOrThrow { IllegalStateException("Could not load test chat '$name': $it") }
+ }
+
fun loadItem(name: String): ItemStack {
// TODO: make the load work with enchantments
return ItemStack.CODEC.parse(NbtOps.INSTANCE, loadSNbt("testdata/items/$name.snbt"))
diff --git a/src/test/kotlin/util/TextUtilText.kt b/src/test/kotlin/util/TextUtilText.kt
new file mode 100644
index 0000000..7091f4e
--- /dev/null
+++ b/src/test/kotlin/util/TextUtilText.kt
@@ -0,0 +1,15 @@
+package moe.nea.firmament.test.util
+
+import org.junit.jupiter.api.Assertions
+import org.junit.jupiter.api.Test
+import moe.nea.firmament.test.testutil.ItemResources
+import moe.nea.firmament.util.getLegacyFormatString
+
+class TextUtilText {
+ @Test
+ fun testThing() {
+ // TODO: add more tests that are directly validated with 1.8.9 code
+ val text = ItemResources.loadText("all-chat")
+ Assertions.assertEquals("§r§r§8[§r§9302§r§8] §r§6♫ §r§b[MVP§r§d+§r§b] lrg89§r§f: test§r", text.getLegacyFormatString())
+ }
+}
diff --git a/src/test/resources/testdata/chat/all-chat.snbt b/src/test/resources/testdata/chat/all-chat.snbt
new file mode 100644
index 0000000..15cc2de
--- /dev/null
+++ b/src/test/resources/testdata/chat/all-chat.snbt
@@ -0,0 +1,162 @@
+{
+ extra: [
+ {
+ bold: 0b,
+ color: "#555555",
+ hoverEvent: {
+ action: "show_text",
+ contents: {
+ clickEvent: {
+ action: "run_command",
+ value: "command"
+ },
+ strikethrough: 0b,
+ text: "§b[MVP§d+§b] lrg89§f
+
+§7SkyBlock Level: §8[§9302§8]
+§7Skill Average: §648.1
+
+§7Emblem: §6♫
+§8Harp Master
+
+§7§8Unlocked for All Harp Songs Perfected.
+
+§7Perfect Completions: §b37"
+ }
+ },
+ italic: 0b,
+ obfuscated: 0b,
+ strikethrough: 0b,
+ text: "[",
+ underlined: 0b
+ },
+ {
+ bold: 0b,
+ color: "#5555FF",
+ hoverEvent: {
+ action: "show_text",
+ contents: {
+ clickEvent: {
+ action: "run_command",
+ value: "command"
+ },
+ strikethrough: 0b,
+ text: "§b[MVP§d+§b] lrg89§f
+
+§7SkyBlock Level: §8[§9302§8]
+§7Skill Average: §648.1
+
+§7Emblem: §6♫
+§8Harp Master
+
+§7§8Unlocked for All Harp Songs Perfected.
+
+§7Perfect Completions: §b37"
+ }
+ },
+ italic: 0b,
+ obfuscated: 0b,
+ strikethrough: 0b,
+ text: "302",
+ underlined: 0b
+ },
+ {
+ bold: 0b,
+ color: "#555555",
+ hoverEvent: {
+ action: "show_text",
+ contents: {
+ clickEvent: {
+ action: "run_command",
+ value: "command"
+ },
+ strikethrough: 0b,
+ text: "§b[MVP§d+§b] lrg89§f
+
+§7SkyBlock Level: §8[§9302§8]
+§7Skill Average: §648.1
+
+§7Emblem: §6♫
+§8Harp Master
+
+§7§8Unlocked for All Harp Songs Perfected.
+
+§7Perfect Completions: §b37"
+ }
+ },
+ italic: 0b,
+ obfuscated: 0b,
+ strikethrough: 0b,
+ text: "] ",
+ underlined: 0b
+ },
+ {
+ bold: 0b,
+ color: "#FFAA00",
+ hoverEvent: {
+ action: "show_text",
+ contents: {
+ clickEvent: {
+ action: "run_command",
+ value: "command"
+ },
+ strikethrough: 0b,
+ text: "§b[MVP§d+§b] lrg89§f
+
+§7SkyBlock Level: §8[§9302§8]
+§7Skill Average: §648.1
+
+§7Emblem: §6♫
+§8Harp Master
+
+§7§8Unlocked for All Harp Songs Perfected.
+
+§7Perfect Completions: §b37"
+ }
+ },
+ italic: 0b,
+ obfuscated: 0b,
+ strikethrough: 0b,
+ text: "♫ ",
+ underlined: 0b
+ },
+ {
+ bold: 0b,
+ color: "#55FFFF",
+ italic: 0b,
+ obfuscated: 0b,
+ strikethrough: 0b,
+ text: "[MVP",
+ underlined: 0b
+ },
+ {
+ bold: 0b,
+ color: "#FF55FF",
+ italic: 0b,
+ obfuscated: 0b,
+ strikethrough: 0b,
+ text: "+",
+ underlined: 0b
+ },
+ {
+ bold: 0b,
+ color: "#55FFFF",
+ italic: 0b,
+ obfuscated: 0b,
+ strikethrough: 0b,
+ text: "] lrg89",
+ underlined: 0b
+ },
+ {
+ bold: 0b,
+ color: "#FFFFFF",
+ italic: 0b,
+ obfuscated: 0b,
+ strikethrough: 0b,
+ text: ": test",
+ underlined: 0b
+ }
+ ],
+ strikethrough: 0b,
+ text: ""
+}