Фикс отображения путей
This commit is contained in:
@@ -873,3 +873,41 @@ func TestToLayoutPlan(t *testing.T) {
|
||||
t.Errorf("provider tag = %q", lp.ProviderTag)
|
||||
}
|
||||
}
|
||||
|
||||
// TestToLayoutPlan_SrcPrefixIsSavePath фиксирует семантику префикса: имена
|
||||
// файлов из qBittorrent /torrents/files относительны save_path и уже содержат
|
||||
// корневую папку для многофайловых раздач. Префикс — save_path, а не
|
||||
// content_path (иначе корневая папка удвоилась бы, а однофайловая раздача
|
||||
// получила бы путь под самим файлом). Это регрессионный страж против правки
|
||||
// префикса на content_path.
|
||||
func TestToLayoutPlan_SrcPrefixIsSavePath(t *testing.T) {
|
||||
const savePath = "/srv/media/downloads"
|
||||
s, e := 1, 1
|
||||
cases := []struct {
|
||||
name string
|
||||
src string
|
||||
want string
|
||||
}{
|
||||
// Многофайловая раздача: имя включает корневую папку торрента.
|
||||
{"multi-file", "Show.S01/e1.mkv", filepath.Join(savePath, "Show.S01/e1.mkv")},
|
||||
// Однофайловая раздача: имя — просто файл (content_path = save_path+файл).
|
||||
{"single-file", "movie.mkv", filepath.Join(savePath, "movie.mkv")},
|
||||
}
|
||||
for _, tc := range cases {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
plan := recognize.Plan{
|
||||
Type: recognize.MediaMovie, Title: "X", Year: 2020,
|
||||
Files: []recognize.PlanFile{
|
||||
{Src: tc.src, Role: recognize.RoleMain, Season: &s, Episode: &e},
|
||||
},
|
||||
}
|
||||
lp := toLayoutPlan(plan, savePath, "")
|
||||
if len(lp.Files) != 1 {
|
||||
t.Fatalf("want 1 file, got %d", len(lp.Files))
|
||||
}
|
||||
if lp.Files[0].Src != tc.want {
|
||||
t.Errorf("src = %q, want %q", lp.Files[0].Src, tc.want)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user