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")); } }