package com.intellij.javascript.karma.util;
import org.jetbrains.annotations.NotNull;
import org.junit.Assert;
import org.junit.Test;
public class KarmaUtilTest {
@Test
public void testMatchAllKarmaFilenames() throws Exception {
assertKarmaConfig("karma.conf.js", false);
assertKarmaConfig("karma-conf.js", false);
assertKarmaConfig("karma.spec.js", false);
assertKarmaConfig("karma-1.js", false);
assertKarmaConfig("-conf.js", false);
assertKarmaConfig("-karma.ts", false);
assertNotKarmaConfig("*karma.ts", false);
assertKarmaConfig("my.conf.coffee", false);
assertNotKarmaConfig("a.coffee", false);
assertNotKarmaConfig("karma", false);
assertNotKarmaConfig("conf.js", false);
assertNotKarmaConfig("karma#1.js", false);
}
@Test
public void testMatchMostRelevantNamesOnly() throws Exception {
assertKarmaConfig("karma.conf.js", true);
assertKarmaConfig("karma-conf.js", true);
assertKarmaConfig("karma-conf.coffee", true);
assertKarmaConfig("karma.conf.ts", true);
assertKarmaConfig("karma-conf.es6", true);
assertNotKarmaConfig("my.conf.coffee", true);
assertNotKarmaConfig("a.coffee", true);
assertNotKarmaConfig("karma", true);
assertNotKarmaConfig("karma$conf.js", true);
assertNotKarmaConfig("karma#1.js", true);
}
private static void assertKarmaConfig(@NotNull String filename, boolean matchMostRelevantNamesOnly) {
Assert.assertTrue(KarmaUtil.isKarmaConfigFile(filename, matchMostRelevantNamesOnly));
}
private static void assertNotKarmaConfig(@NotNull String filename, boolean matchMostRelevantNamesOnly) {
Assert.assertFalse(KarmaUtil.isKarmaConfigFile(filename, matchMostRelevantNamesOnly));
}
}