Files
schemaCheck/src/test/java/com/codechecker/cache/analyze/GlobMatcherTest.java

30 lines
1.0 KiB
Java

package com.codechecker.cache.analyze;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
/** {@link GlobMatcher} 的 glob 规则单测({@code *} / {@code **} / 字面量)。 */
class GlobMatcherTest {
@Test
void matchesPrefixWildcard() {
assertTrue(GlobMatcher.matches("tenant:db:content:*", "tenant:db:content:abc"));
assertTrue(GlobMatcher.matches("*:lock", "device:add:lock"));
assertTrue(GlobMatcher.matches("*lock*", "abTaskDetailUpdate:lock:x"));
assertTrue(GlobMatcher.matches("loginCount:*", "loginCount:13800000000"));
}
@Test
void matchesDoubleStarPath() {
assertTrue(GlobMatcher.matches("**/test/**", "jnpf-x/src/test/java/Foo.java"));
assertFalse(GlobMatcher.matches("**/test/**", "jnpf-x/src/main/java/Foo.java"));
}
@Test
void literalNoMatch() {
assertFalse(GlobMatcher.matches("tenant:db:content:*", "other:key"));
}
}