package edu.kit.pse.ws2013.routekit.util;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
public class TestNameChecks {
@Test
public void testLegacyNames() {
for (String name : new String[] { "COM1", "com1.txt", "CON", "nul",
"Lpt4.sys", "CLOCK$.file", "AUX", "prn" }) {
assertFalse(FileUtil.checkMapName(name));
assertFalse(FileUtil.checkProfileName(name));
}
}
@Test
public void testPseudoLegacyNames() {
for (String name : new String[] { "clock", "console", "auxiliary" }) {
assertTrue(FileUtil.checkMapName(name));
assertTrue(FileUtil.checkProfileName(name));
}
}
@Test
public void testIllegalCharacters() {
for (String name : new String[] { ":", "foo<bar>", "ping\7!", "what?!",
"\0", "routeKIT has many\b\b\b\bno bugs" }) {
assertFalse(FileUtil.checkMapName(name));
assertFalse(FileUtil.checkProfileName(name));
}
}
@Test
public void testIllegalDirectoryNavigation() {
for (String name : new String[] { "..", "\\", "/boot",
"\\WINDOWS\\system32" }) {
assertFalse(FileUtil.checkMapName(name));
assertFalse(FileUtil.checkProfileName(name));
}
}
@Test
public void testEmpty() {
assertFalse(FileUtil.checkMapName(""));
assertFalse(FileUtil.checkProfileName(""));
}
@Test
public void testMapNames() {
for (String name : new String[] { "looks like map + profile",
"\tlooks like profile" }) {
assertFalse(FileUtil.checkMapName(name));
}
}
@Test
public void testProfileNames() {
for (String name : new String[] { "* pseudo-selected" }) {
assertFalse(FileUtil.checkProfileName(name));
}
}
}