mirror of
https://github.com/MetaCubeX/mihomo.git
synced 2025-12-19 16:30:07 +08:00
36 lines
986 B
Go
36 lines
986 B
Go
package fakeip
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/metacubex/mihomo/component/trie"
|
|
C "github.com/metacubex/mihomo/constant"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestSkipper_BlackList(t *testing.T) {
|
|
tree := trie.New[struct{}]()
|
|
assert.NoError(t, tree.Insert("example.com", struct{}{}))
|
|
assert.False(t, tree.IsEmpty())
|
|
skipper := &Skipper{
|
|
Host: []C.DomainMatcher{tree.NewDomainSet()},
|
|
}
|
|
assert.True(t, skipper.ShouldSkipped("example.com"))
|
|
assert.False(t, skipper.ShouldSkipped("foo.com"))
|
|
assert.False(t, skipper.shouldSkipped("baz.com"))
|
|
}
|
|
|
|
func TestSkipper_WhiteList(t *testing.T) {
|
|
tree := trie.New[struct{}]()
|
|
assert.NoError(t, tree.Insert("example.com", struct{}{}))
|
|
assert.False(t, tree.IsEmpty())
|
|
skipper := &Skipper{
|
|
Host: []C.DomainMatcher{tree.NewDomainSet()},
|
|
Mode: C.FilterWhiteList,
|
|
}
|
|
assert.False(t, skipper.ShouldSkipped("example.com"))
|
|
assert.True(t, skipper.ShouldSkipped("foo.com"))
|
|
assert.True(t, skipper.ShouldSkipped("baz.com"))
|
|
}
|