mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-16 04:33:56 -07:00
Be more strict about what constitutes a valid NamespacedKey
* Brings us largely in line with what is supported by the implementation * Adds unit tests By: md_5 <git@md-5.net>
This commit is contained in:
49
paper-api/src/test/java/org/bukkit/NamespacedKeyTest.java
Normal file
49
paper-api/src/test/java/org/bukkit/NamespacedKeyTest.java
Normal file
@@ -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();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user