|
|
@@ -380,7 +380,8 @@ func TestConfig_Override(t *testing.T) {
|
|
|
fn string
|
|
|
want *Config
|
|
|
}{
|
|
|
- {"combine/empty",
|
|
|
+ {
|
|
|
+ "combine/empty",
|
|
|
&Config{},
|
|
|
&Config{
|
|
|
LogConfig: &LogConfig{},
|
|
|
@@ -404,40 +405,54 @@ func TestConfig_Override(t *testing.T) {
|
|
|
Reverse: &ReverseConfig{},
|
|
|
},
|
|
|
},
|
|
|
- {"combine/newattr",
|
|
|
+ {
|
|
|
+ "combine/newattr",
|
|
|
&Config{InboundConfigs: []InboundDetourConfig{{Tag: "old"}}},
|
|
|
&Config{LogConfig: &LogConfig{}}, "",
|
|
|
- &Config{LogConfig: &LogConfig{}, InboundConfigs: []InboundDetourConfig{{Tag: "old"}}}},
|
|
|
- {"replace/inbounds",
|
|
|
+ &Config{LogConfig: &LogConfig{}, InboundConfigs: []InboundDetourConfig{{Tag: "old"}}},
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "replace/inbounds",
|
|
|
&Config{InboundConfigs: []InboundDetourConfig{{Tag: "pos0"}, {Protocol: "vmess", Tag: "pos1"}}},
|
|
|
&Config{InboundConfigs: []InboundDetourConfig{{Tag: "pos1", Protocol: "kcp"}}},
|
|
|
"",
|
|
|
- &Config{InboundConfigs: []InboundDetourConfig{{Tag: "pos0"}, {Tag: "pos1", Protocol: "kcp"}}}},
|
|
|
- {"replace/inbounds-replaceall",
|
|
|
+ &Config{InboundConfigs: []InboundDetourConfig{{Tag: "pos0"}, {Tag: "pos1", Protocol: "kcp"}}},
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "replace/inbounds-replaceall",
|
|
|
&Config{InboundConfigs: []InboundDetourConfig{{Tag: "pos0"}, {Protocol: "vmess", Tag: "pos1"}}},
|
|
|
&Config{InboundConfigs: []InboundDetourConfig{{Tag: "pos1", Protocol: "kcp"}, {Tag: "pos2", Protocol: "kcp"}}},
|
|
|
"",
|
|
|
- &Config{InboundConfigs: []InboundDetourConfig{{Tag: "pos1", Protocol: "kcp"}, {Tag: "pos2", Protocol: "kcp"}}}},
|
|
|
- {"replace/notag-append",
|
|
|
+ &Config{InboundConfigs: []InboundDetourConfig{{Tag: "pos1", Protocol: "kcp"}, {Tag: "pos2", Protocol: "kcp"}}},
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "replace/notag-append",
|
|
|
&Config{InboundConfigs: []InboundDetourConfig{{}, {Protocol: "vmess"}}},
|
|
|
&Config{InboundConfigs: []InboundDetourConfig{{Tag: "pos1", Protocol: "kcp"}}},
|
|
|
"",
|
|
|
- &Config{InboundConfigs: []InboundDetourConfig{{}, {Protocol: "vmess"}, {Tag: "pos1", Protocol: "kcp"}}}},
|
|
|
- {"replace/outbounds",
|
|
|
+ &Config{InboundConfigs: []InboundDetourConfig{{}, {Protocol: "vmess"}, {Tag: "pos1", Protocol: "kcp"}}},
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "replace/outbounds",
|
|
|
&Config{OutboundConfigs: []OutboundDetourConfig{{Tag: "pos0"}, {Protocol: "vmess", Tag: "pos1"}}},
|
|
|
&Config{OutboundConfigs: []OutboundDetourConfig{{Tag: "pos1", Protocol: "kcp"}}},
|
|
|
"",
|
|
|
- &Config{OutboundConfigs: []OutboundDetourConfig{{Tag: "pos0"}, {Tag: "pos1", Protocol: "kcp"}}}},
|
|
|
- {"replace/outbounds-prepend",
|
|
|
+ &Config{OutboundConfigs: []OutboundDetourConfig{{Tag: "pos0"}, {Tag: "pos1", Protocol: "kcp"}}},
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "replace/outbounds-prepend",
|
|
|
&Config{OutboundConfigs: []OutboundDetourConfig{{Tag: "pos0"}, {Protocol: "vmess", Tag: "pos1"}}},
|
|
|
&Config{OutboundConfigs: []OutboundDetourConfig{{Tag: "pos1", Protocol: "kcp"}, {Tag: "pos2", Protocol: "kcp"}}},
|
|
|
"config.json",
|
|
|
- &Config{OutboundConfigs: []OutboundDetourConfig{{Tag: "pos1", Protocol: "kcp"}, {Tag: "pos2", Protocol: "kcp"}}}},
|
|
|
- {"replace/outbounds-append",
|
|
|
+ &Config{OutboundConfigs: []OutboundDetourConfig{{Tag: "pos1", Protocol: "kcp"}, {Tag: "pos2", Protocol: "kcp"}}},
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "replace/outbounds-append",
|
|
|
&Config{OutboundConfigs: []OutboundDetourConfig{{Tag: "pos0"}, {Protocol: "vmess", Tag: "pos1"}}},
|
|
|
&Config{OutboundConfigs: []OutboundDetourConfig{{Tag: "pos2", Protocol: "kcp"}}},
|
|
|
"config_tail.json",
|
|
|
- &Config{OutboundConfigs: []OutboundDetourConfig{{Tag: "pos0"}, {Protocol: "vmess", Tag: "pos1"}, {Tag: "pos2", Protocol: "kcp"}}}},
|
|
|
+ &Config{OutboundConfigs: []OutboundDetourConfig{{Tag: "pos0"}, {Protocol: "vmess", Tag: "pos1"}, {Tag: "pos2", Protocol: "kcp"}}},
|
|
|
+ },
|
|
|
}
|
|
|
for _, tt := range tests {
|
|
|
t.Run(tt.name, func(t *testing.T) {
|