decode_test.go 3.9 KB

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