28 lines
683 B
Go
28 lines
683 B
Go
package mihomoapi
|
|
|
|
import "testing"
|
|
|
|
func TestResolveLeafOutbound(t *testing.T) {
|
|
groups := map[string]bool{
|
|
"PROXY": true,
|
|
"country_HK": true,
|
|
"自动选择": true,
|
|
}
|
|
cases := []struct {
|
|
chains []string
|
|
want string
|
|
}{
|
|
{[]string{"PROXY", "sub1_hk_node"}, "sub1_hk_node"},
|
|
{[]string{"country_HK", "sub1_us_node"}, "sub1_us_node"},
|
|
{[]string{"PROXY", "自动选择", "sub1_jp_node"}, "sub1_jp_node"},
|
|
{[]string{"DIRECT"}, "DIRECT"},
|
|
{[]string{"country_HK"}, "country_HK"},
|
|
}
|
|
for _, tc := range cases {
|
|
got := ResolveLeafOutbound(tc.chains, groups)
|
|
if got != tc.want {
|
|
t.Fatalf("chains=%v want %q got %q", tc.chains, tc.want, got)
|
|
}
|
|
}
|
|
}
|