diff options
author | md_5 <git@md-5.net> | 2018-07-10 12:21:23 +1000 |
---|---|---|
committer | md_5 <git@md-5.net> | 2018-07-10 12:21:23 +1000 |
commit | 9cb65d72a3a46b5f9886d03777e7202e79b62034 (patch) | |
tree | b1303cb53e0e33be3611542a496c7b2fcc1680dd /src/test/java | |
parent | c5fd3c6ebe5b762fd4e56653241a6ffa4708cffb (diff) | |
download | bukkit-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/java')
-rw-r--r-- | src/test/java/org/bukkit/NamespacedKeyTest.java | 49 |
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(); + } +} |