fc3a66dc83
Go 控制面(SQLite + REST API)嵌入 Mihomo 数据面,Vue 3 多语言 Web 管理台。 含订阅/节点/规则/出站/监控/日志、OpenAPI、API Key、Gitea Actions CI(runs-on: ubuntu-latest) 与开源文档;镜像发布至 git.rc707blog.top Container Registry。 Co-authored-by: Cursor <cursoragent@cursor.com>
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)
|
|
}
|
|
}
|
|
}
|