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