1
0
mirror of https://github.com/MetaCubeX/mihomo.git synced 2025-07-19 01:38:05 +08:00
Files
mihomo/component/trie/set_test.go

61 lines
1.4 KiB
Go
Raw Normal View History

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",
2023-04-01 10:38:30 +08:00
"test.a.net",
"test.a.oc",
}
set := trie.NewDomainSet(domainSet)
assert.NotNil(t, set)
2023-04-01 10:38:30 +08:00
assert.True(t, set.Has("test.a.net"))
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",
2023-04-01 11:17:15 +08:00
"+.bb.baidu.com",
2023-04-01 10:38:30 +08:00
"test.a.net",
"test.a.oc",
"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{
2023-04-01 11:17:15 +08:00
"*.*.*.baidu.com",
"www.baidu.*",
2023-04-01 11:21:38 +08:00
"stun.*.*",
"*.*.qq.com",
2023-03-31 20:43:49 +08:00
"test.*.baidu.com",
}
set := trie.NewDomainSet(domainSet)
assert.NotNil(t, set)
2023-03-31 20:43:49 +08:00
assert.True(t, set.Has("www.baidu.com"))
assert.True(t, set.Has("test.test.baidu.com"))
assert.True(t, set.Has("test.test.qq.com"))
2023-04-01 11:21:38 +08:00
assert.True(t,set.Has("stun.ab.cd"))
2023-03-31 20:43:49 +08:00
assert.False(t, set.Has("test.baidu.com"))
2023-04-01 11:21:38 +08:00
assert.False(t,set.Has("www.google.com"))
2023-03-31 20:43:49 +08:00
assert.False(t, set.Has("test.qq.com"))
assert.False(t, set.Has("test.test.test.qq.com"))
}