summaryrefslogtreecommitdiffstats
path: root/src/test
diff options
context:
space:
mode:
authormd_5 <git@md-5.net>2018-07-10 12:21:23 +1000
committermd_5 <git@md-5.net>2018-07-10 12:21:23 +1000
commit9cb65d72a3a46b5f9886d03777e7202e79b62034 (patch)
treeb1303cb53e0e33be3611542a496c7b2fcc1680dd /src/test
parentc5fd3c6ebe5b762fd4e56653241a6ffa4708cffb (diff)
downloadbukkit-9cb65d72a3a46b5f9886d03777e7202e79b62034.tar
bukkit-9cb65d72a3a46b5f9886d03777e7202e79b62034.tar.gz
bukkit-9cb65d72a3a46b5f9886d03777e7202e79b62034.tar.lz
bukkit-9cb65d72a3a46b5f9886d03777e7202e79b62034.tar.xz
bukkit-9cb65d72a3a46b5f9886d03777e7202e79b62034.zip
Be more strict about what constitutes a valid NamespacedKey
* Brings us largely in line with what is supported by the implementation * Adds unit tests
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/org/bukkit/NamespacedKeyTest.java49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/test/java/org/bukkit/NamespacedKeyTest.java b/src/test/java/org/bukkit/NamespacedKeyTest.java
new file mode 100644
index 00000000..7c71aabf
--- /dev/null
+++ b/src/test/java/org/bukkit/NamespacedKeyTest.java
@@ -0,0 +1,49 @@
+package org.bukkit;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class NamespacedKeyTest {
+
+ @Test
+ public void testValid() {
+ Assert.assertEquals("minecraft:foo", new NamespacedKey("minecraft", "foo").toString());
+ Assert.assertEquals("minecraft:foo/bar", new NamespacedKey("minecraft", "foo/bar").toString());
+ Assert.assertEquals("minecraft:foo/bar_baz", new NamespacedKey("minecraft", "foo/bar_baz").toString());
+ Assert.assertEquals("minecraft:foo/bar_baz-qux", new NamespacedKey("minecraft", "foo/bar_baz-qux").toString());
+ Assert.assertEquals("minecraft:foo/bar_baz-qux.quux", new NamespacedKey("minecraft", "foo/bar_baz-qux.quux").toString());
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testEmptyNamespace() {
+ new NamespacedKey("", "foo").toString();
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testEmptyKey() {
+ new NamespacedKey("minecraft", "").toString();
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testInvalidNamespace() {
+ new NamespacedKey("minecraft/test", "foo").toString();
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testInvalidKey() {
+ new NamespacedKey("minecraft", "foo!").toString();
+ }
+
+ @Test
+ public void testBelowLength() {
+ new NamespacedKey("loremipsumdolorsitametconsecteturadipiscingelitduisvolutpatvelitsitametmaximusscelerisquemorbiullamcorperexacconsequategestas",
+ "loremipsumdolorsitametconsecteturadipiscingelitduisvolutpatvelitsitametmaximusscelerisquemorbiullamcorperexacconsequategestas").toString();
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testAboveLength() {
+ new NamespacedKey("loremipsumdolorsitametconsecteturadipiscingelitduisvolutpatvelitsitametmaximusscelerisquemorbiullamcorperexacconsequategestas",
+ "loremipsumdolorsitametconsecteturadipiscingelitduisvolutpatvelitsitametmaximusscelerisquemorbiullamcorperexacconsequategestas/"
+ + "loremipsumdolorsitametconsecteturadipiscingelitduisvolutpatvelitsitametmaximusscelerisquemorbiullamcorperexacconsequategestas").toString();
+ }
+}