Files
MeBox/internal/service/episode_parser_test.go
T
2026-06-10 20:43:42 +08:00

40 lines
1.2 KiB
Go

package service
import "testing"
func TestParseEpisode(t *testing.T) {
cases := []struct {
in string
wantS, wantE int
}{
{"Breaking.Bad.S01E02.1080p.mkv", 1, 2},
{"breaking.bad.s5e14.mkv", 5, 14},
{"Friends 1x02.mp4", 1, 2},
{"Friends 10x24 - The One Where.mkv", 10, 24},
{"Some Anime - EP05 [1080p].mkv", 1, 5},
{"Some Anime - E12.mkv", 1, 12},
{"[MagicStar] 凡人修仙传 年番 - 146 [1080p].mkv", 1, 146},
{`Some Show/Season 02/Some Show - EP03.mkv`, 2, 3},
{`Some Show/S02/Some Show - E04.mkv`, 2, 4},
{`剧集/第2季/剧集 第05集.mkv`, 2, 5},
{"日剧 第03集.mkv", 1, 3},
{"日剧 第十集.mkv", 1, 10},
{"日剧 第二十五话.mkv", 1, 25},
{"日剧 第12话.mkv", 1, 12},
{"综艺 第4期下.mkv", 1, 4},
{`综艺/Season 06/综艺 第17期.mkv`, 6, 17},
{`动漫/第二季/04.mkv`, 2, 4},
{`动漫/第十季/第十一集.mkv`, 10, 11},
{"Movie.2020.1080p.mkv", 0, 0},
}
for _, tc := range cases {
t.Run(tc.in, func(t *testing.T) {
s, e := ParseEpisode(tc.in)
if s != tc.wantS || e != tc.wantE {
t.Errorf("ParseEpisode(%q) = (%d, %d), want (%d, %d)",
tc.in, s, e, tc.wantS, tc.wantE)
}
})
}
}