chore: add unit test and adjust logic error

This commit is contained in:
Skyxim
2023-03-30 13:36:14 +08:00
parent e0cf342672
commit 6c9c0bd755
2 changed files with 92 additions and 11 deletions

View File

@@ -0,0 +1,49 @@
package trie_test
import (
"testing"
"github.com/Dreamacro/clash/component/trie"
"github.com/stretchr/testify/assert"
)
func TestDomain(t *testing.T) {
domainSet := []string{
"baidu.com",
"google.com",
"www.google.com",
}
set := trie.NewDomainSet(domainSet)
assert.NotNil(t, set)
assert.True(t, set.Has("google.com"))
assert.False(t, set.Has("www.baidu.com"))
}
func TestDomainComplexWildcard(t *testing.T) {
domainSet := []string{
"+.baidu.com",
"+.a.baidu.com",
"www.baidu.com",
"www.qq.com",
}
set := trie.NewDomainSet(domainSet)
assert.NotNil(t, set)
assert.False(t, set.Has("google.com"))
assert.True(t, set.Has("www.baidu.com"))
assert.True(t, set.Has("test.test.baidu.com"))
}
func TestDomainWildcard(t *testing.T) {
domainSet := []string{
"*.baidu.com",
"www.baidu.com",
"*.*.qq.com",
}
set := trie.NewDomainSet(domainSet)
assert.NotNil(t, set)
// assert.True(t, set.Has("www.baidu.com"))
// assert.False(t, set.Has("test.test.baidu.com"))
assert.True(t,set.Has("test.test.qq.com"))
assert.False(t,set.Has("test.qq.com"))
assert.False(t,set.Has("test.test.test.qq.com"))
}