30 lines
1.0 KiB
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"));
|
|
}
|
|
}
|