decode_test.go 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. package decode
  2. import (
  3. "fmt"
  4. "testing"
  5. )
  6. func Test_get_IMDB_movie_xml(t *testing.T) {
  7. wantid := "tt0993840"
  8. wantyear := "2021"
  9. dirPth := "..\\..\\..\\TestData\\video_info_file\\movie.xml"
  10. imdbInfo, err := getImdbAndYearMovieXml(dirPth)
  11. if err != nil {
  12. t.Error(err)
  13. }
  14. if imdbInfo.ImdbId != wantid {
  15. t.Errorf("Test_get_IMDB_movie_xml() got = %v, want %v", imdbInfo.ImdbId, wantid)
  16. }
  17. if imdbInfo.Year != wantyear {
  18. t.Errorf("Test_get_IMDB_movie_xml() got = %v, want %v", imdbInfo.Year, wantyear)
  19. }
  20. }
  21. func Test_get_IMDB_nfo(t *testing.T) {
  22. wantid := "tt0993840"
  23. wantyear := "2021"
  24. dirPth := "..\\..\\..\\TestData\\video_info_file\\Army of the Dead (2021) WEBDL-1080p.nfo"
  25. //dirPth := "C:\\Tmp\\American Crime Story (2016) - s03e01.nfo"
  26. imdbInfo, err := getImdbAndYearNfo(dirPth, "movie")
  27. //imdbInfo, err := getImdbAndYearNfo(dirPth, "episodedetails")
  28. if err != nil {
  29. t.Fatal(err)
  30. }
  31. if imdbInfo.ImdbId != wantid {
  32. t.Fatal(fmt.Sprintf("Test_get_IMDB_movie_xml() id = %v, wantid %v", imdbInfo.ImdbId, wantid))
  33. }
  34. if imdbInfo.Year != wantyear {
  35. t.Fatal(fmt.Sprintf("Test_get_IMDB_movie_xml() year = %v, wantyear %v", imdbInfo.Year, wantyear))
  36. }
  37. wantid = "tt12801326"
  38. wantyear = "2020"
  39. dirPth = "..\\..\\..\\TestData\\video_info_file\\has_http_address.nfo"
  40. imdbInfo, err = getImdbAndYearNfo(dirPth, "movie")
  41. if err != nil {
  42. t.Fatal(err)
  43. }
  44. if imdbInfo.ImdbId != wantid {
  45. t.Fatal(fmt.Sprintf("Test_get_IMDB_movie_xml() id = %v, wantid %v", imdbInfo.ImdbId, wantid))
  46. }
  47. if imdbInfo.Year != wantyear {
  48. t.Fatal(fmt.Sprintf("Test_get_IMDB_movie_xml() year = %v, wantyear %v", imdbInfo.Year, wantyear))
  49. }
  50. wantid = ""
  51. wantyear = ""
  52. dirPth = "..\\..\\..\\TestData\\video_info_file\\only_http_address.nfo"
  53. imdbInfo, err = getImdbAndYearNfo(dirPth, "movie")
  54. if err == nil {
  55. t.Fatal("need errot")
  56. }
  57. }
  58. func Test_GetVideoInfoFromFileFullPath(t *testing.T) {
  59. subTitle := "X:\\电影\\Spiral From the Book of Saw (2021)\\Spiral From the Book of Saw (2021) WEBDL-1080p.mkv"
  60. //subTitle := "人之怒 WEBDL-1080p.mkv"
  61. //subTitle := "機動戦士Zガンダム WEBDL-1080p.mkv"
  62. //subTitle := "机动战士Z高达:星之继承者 (2005) 1080p TrueHD.mkv"
  63. //subTitle := "X:\\连续剧\\The Bad Batch\\Season 1\\The Bad Batch - S01E01 - Aftermath WEBDL-1080p.mkv"
  64. //subTitle := "X:\\连续剧\\Money.Heist\\Season 1\\Money.Heist.S01E01.SPANISH.WEBRip.x264-ION10.zh-cn.ssa"
  65. //subTitle := "Spiral.From.the.Book.of.Saw.2021.1080p.WEBRip.x264-RARBG.chi.srt"
  66. //subTitle := "Spiral.From.the.Book.of.Saw.2021.1080p.WEBRip.x264-RARBG.eng.srt"
  67. //subTitle := "东城梅尔 第一季第一集【YYeTs字幕组 简繁英双语字幕】Mare.of.Easttown.S01E01.Miss.Lady.Hawk.Herself.720p/1080p.AMZN.WEB-DL.DDP5.1.H.264-TEPES"
  68. info, modifyTime, err := GetVideoInfoFromFileFullPath(subTitle)
  69. if err != nil {
  70. t.Error(err)
  71. }
  72. println("Title:", info.Title, "Season:", info.Season, "Episode:", info.Episode, modifyTime.String())
  73. }
  74. func Test_GetSeasonAndEpisodeFromFileName(t *testing.T) {
  75. //str := `杀死伊芙 第二季(第1集-简繁英双语字幕-FIX字幕侠)Killing.Eve.S02E01.Do.You.Know.How.to.Dispose.of.a.Body.1080p.AMZN.WEB-DL.DDP5.1.H.264-NTb.rar`
  76. str := `杀死伊芙 第二季(-简繁英双语字幕-FIX字幕侠)Killing.Eve.S02.Do.You.Know.How.to.Dispose.of.a.Body.1080p.AMZN.WEB-DL.DDP5.1.H.264-NTb.rar`
  77. b, s, e, err := GetSeasonAndEpisodeFromSubFileName(str)
  78. if err != nil {
  79. t.Fatal(err)
  80. }
  81. println(b, s, e)
  82. }
  83. func TestGetNumber2Float(t *testing.T) {
  84. testString := "asd&^%1998.2jh aweo "
  85. outNumber, err := GetNumber2Float(testString)
  86. if err != nil {
  87. t.Error(err)
  88. }
  89. if outNumber != 1998.2 {
  90. t.Error("not the same")
  91. }
  92. }
  93. func TestGetNumber2int(t *testing.T) {
  94. testString := "asd&^%1998jh aweo "
  95. outNumber, err := GetNumber2int(testString)
  96. if err != nil {
  97. t.Error(err)
  98. }
  99. if outNumber != 1998 {
  100. t.Error("not the same")
  101. }
  102. }
  103. func Test_getImdbAndYearNfo(t *testing.T) {
  104. nfoInfo := "..\\..\\..\\TestData\\video_info_file\\Army of the Dead (2021) WEBDL-1080p.nfo"
  105. nfo, err := getImdbAndYearNfo(nfoInfo, "tvshow")
  106. if err != nil {
  107. t.Fatal(err)
  108. }
  109. println(nfo.ImdbId, nfo.Year, nfo.ReleaseDate)
  110. }