srt_test.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package srt
  2. import (
  3. "github.com/allanpk716/ChineseSubFinder/internal/pkg"
  4. "github.com/allanpk716/ChineseSubFinder/internal/types"
  5. "path"
  6. "testing"
  7. )
  8. func TestParser_DetermineFileType(t *testing.T) {
  9. testDataPath := "../../../../TestData/sub_parser"
  10. testRootDir, err := pkg.CopyTestData(testDataPath)
  11. if err != nil {
  12. t.Fatal(err)
  13. }
  14. type args struct {
  15. filePath string
  16. }
  17. tests := []struct {
  18. name string
  19. args args
  20. wantNil bool
  21. wantErr bool
  22. wantLang types.Language
  23. }{
  24. {name: "1", args: args{filePath: path.Join(testRootDir, "[zimuku]_5_Loki.S01E02.The.Variant.1080p.DSNP.WEB-DL.DDP5.1.Atmos.H.264-CM.chs&eng.srt")}, wantNil: false, wantErr: false, wantLang: types.ChineseSimpleEnglish},
  25. {name: "2", args: args{filePath: path.Join(testRootDir, "[zimuku]_5_Loki.S01E03.Lamentis.1080p.DSNP.WEB-DL.DDP5.1.H.264-TOMMY.chs&eng.srt")}, wantNil: false, wantErr: false, wantLang: types.ChineseSimpleEnglish},
  26. }
  27. for _, tt := range tests {
  28. t.Run(tt.name, func(t *testing.T) {
  29. p := Parser{}
  30. bFind, got, err := p.DetermineFileTypeFromFile(tt.args.filePath)
  31. if (err != nil) != tt.wantErr {
  32. t.Errorf("DetermineFileTypeFromFile() error = %v, wantErr %v", err, tt.wantErr)
  33. t.Fatal(err)
  34. return
  35. }
  36. if bFind == false {
  37. t.Fatal("not support sub type")
  38. }
  39. if got == nil && tt.wantNil == true {
  40. } else if got != nil && tt.wantNil == false {
  41. } else {
  42. t.Fatal("DetermineFileTypeFromFile got:", got, "wantNil:", tt.wantNil)
  43. }
  44. println(got.Name, got.Ext, got.Lang)
  45. })
  46. }
  47. }