test one smart default parser
This commit is contained in:
98
main_test.go
98
main_test.go
@@ -242,3 +242,101 @@ func ls(d string) []string {
|
||||
slices.Sort(result)
|
||||
return result
|
||||
}
|
||||
|
||||
func TestParse(t *testing.T) {
|
||||
cases := map[string]struct {
|
||||
pattern string
|
||||
want main.Fields
|
||||
}{
|
||||
"[SubsPlease] Tokidoki Bosotto Russia-go de Dereru Tonari no Alya-san - 01 (720p) [A12844D5].mkv": {
|
||||
pattern: main.PatternGroupTitleHyphenSE,
|
||||
want: main.Fields{
|
||||
Title: "Tokidoki Bosotto Russia-go de Dereru Tonari no Alya-san",
|
||||
Season: "",
|
||||
Episode: "01",
|
||||
},
|
||||
},
|
||||
"Survivor.AU.S12E11.1080p.HEVC.x265-MeGusta[EZTVx.to].mkv": {
|
||||
pattern: main.PatternGroupTitleHyphenSE,
|
||||
want: main.Fields{
|
||||
Title: "Survivor.AU",
|
||||
Season: "12",
|
||||
Episode: "11",
|
||||
},
|
||||
},
|
||||
"DAN DA DAN (2024) S01E01v2 (1080p WEB-DL H264 AAC DDP 2.0 Dual-Audio) [MALD].mkv": {
|
||||
pattern: main.PatternGroupTitleHyphenSE,
|
||||
want: main.Fields{
|
||||
Title: "DAN DA DAN (2024)",
|
||||
Season: "01",
|
||||
Episode: "01",
|
||||
},
|
||||
},
|
||||
"ZENSHU.S01E01.1080p.AMZN.WEB-DL.MULTi.DDP2.0.H.264.MSubs-ToonsHub.mkv": {
|
||||
pattern: main.PatternGroupTitleHyphenSE,
|
||||
want: main.Fields{
|
||||
Title: "ZENSHU",
|
||||
Season: "01",
|
||||
Episode: "01",
|
||||
},
|
||||
},
|
||||
"[Yameii] My Hero Academia - S07E08 [English Dub] [CR WEB-DL 720p] [DE5FFC3E].mkv": {
|
||||
pattern: main.PatternGroupTitleHyphenSE,
|
||||
want: main.Fields{
|
||||
Title: "My Hero Academia",
|
||||
Season: "07",
|
||||
Episode: "08",
|
||||
},
|
||||
},
|
||||
"Ranma1-2.2024.S01E03.Because.Theres.Someone.He.Likes.1080p.NF.WEB-DL.AAC2.0.H.264-VARYG.mkv": {
|
||||
pattern: main.PatternGroupTitleHyphenSE,
|
||||
want: main.Fields{
|
||||
Title: "Ranma1-2.2024",
|
||||
Season: "01",
|
||||
Episode: "03",
|
||||
},
|
||||
},
|
||||
"[Yameii] The Apothecary Diaries - S02E03 [English Dub] [CR WEB-DL 720p] [FD3E7434].mkv": {
|
||||
pattern: main.PatternGroupTitleHyphenSE,
|
||||
want: main.Fields{
|
||||
Title: "The Apothecary Diaries",
|
||||
Season: "02",
|
||||
Episode: "03",
|
||||
},
|
||||
},
|
||||
"The.Dinner.Table.Detective.S01E01.Welcome.to.the.murderous.party.File.1.1080p.AMZN.WEB-DL.DDP2.0.H.264-VARYG.mkv": {
|
||||
pattern: main.PatternGroupTitleHyphenSE,
|
||||
want: main.Fields{
|
||||
Title: "The.Dinner.Table.Detective",
|
||||
Season: "01",
|
||||
Episode: "01",
|
||||
},
|
||||
},
|
||||
"[Reza] Wistoria Wand and Sword - S01E01.mkv": {
|
||||
pattern: main.PatternGroupTitleHyphenSE,
|
||||
want: main.Fields{
|
||||
Title: "Wistoria Wand and Sword",
|
||||
Season: "01",
|
||||
Episode: "01",
|
||||
},
|
||||
},
|
||||
"[EMBER] Ao no Hako - 01.mkv": {
|
||||
pattern: main.PatternGroupTitleHyphenSE,
|
||||
want: main.Fields{
|
||||
Title: "Ao no Hako",
|
||||
Season: "",
|
||||
Episode: "01",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for f, d := range cases {
|
||||
c := d
|
||||
t.Run(f, func(t *testing.T) {
|
||||
got, _ := main.Parse(f, c.pattern)
|
||||
if got != c.want {
|
||||
t.Errorf("expected \n\t%+v but got \n\t%+v", c.want, got)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user