/** * Allows to know if the given file name has a valid suffix. * * @param fileName * String representing the file name * @return boolean <code>true</code> if the file name's suffix is known, * <code>false</code> any other way */ public boolean hasValidSuffixes(String fileName) { String pathLowerCase = fileName.toLowerCase(); for (String suffix : getFileSuffixes()) { if (pathLowerCase.endsWith("." + suffix.toLowerCase())) { return true; } } return false; }
@Override public String[] getFileSuffixes() { String[] suffixes = filterEmptyStrings(config.getStringArray(PerlPlugin.FILE_SUFFIXES_KEY)); if (suffixes.length == 0) { suffixes = PerlPlugin.DEFAULT_FILE_SUFFIXES.split(",\\s*"); } return suffixes; }
@Test public void testDefaults() { PerlLanguage lang = new PerlLanguage(new MapSettings().asConfig()); assertThat(lang.getFileSuffixes()).isEqualTo(new String[] {"pm","pl","t"}); assertThat(lang.hasValidSuffixes("my.file")).isFalse(); assertThat(lang.hasValidSuffixes("my.pm")).isTrue(); }
@Test public void testEquals() { assertThat(new PerlLanguage(new MapSettings().asConfig())).isEqualTo(new PerlLanguage(new MapSettings().asConfig())); }
@Test public void testCustomSettings() { MapSettings settings = new MapSettings(); settings.setProperty(PerlPlugin.FILE_SUFFIXES_KEY, "file,,other"); PerlLanguage lang = new PerlLanguage(settings.asConfig()); assertThat(lang.getFileSuffixes()).isEqualTo(new String[] {"file","other"}); assertThat(lang.hasValidSuffixes("my.file")).isTrue(); }