# ============================================================================ # 特典命名模块测试(src/lib/ai_resolve.sh) # ============================================================================ setup() { FOLDER_MOVIES="/media/Movies" FOLDER_SHOWS="/media/Shows" FOLDER_UNKNOWN="/media/Unknown" } # special_category_tag:特典类别识别 test_special_category_tag_mapping() { assert_eq "Menu" "$(special_category_tag "Menu01")" assert_eq "NCED" "$(special_category_tag "NCED02")" assert_eq "NCOP" "$(special_category_tag "NCOP")" assert_eq "CM" "$(special_category_tag "CM01")" assert_eq "CM" "$(special_category_tag "TVSP")" assert_eq "PV" "$(special_category_tag "Announcement")" assert_eq "ED" "$(special_category_tag "Lyric")" assert_eq "Picture Drama" "$(special_category_tag "Drama")" assert_eq "Music Video" "$(special_category_tag "MV")" assert_eq "Special" "$(special_category_tag "OVA")" assert_eq "Special" "$(special_category_tag "未知词")" } # special_s00_dest:S00 目标路径(show_dir 含年份段,由 NAMING_SHOW 渲染) test_special_s00_dest_path() { # 参数:show_dir + fragment + ext assert_eq "/media/Shows/Show (2020)/Season 00|S00Menu - Menu01.mkv" \ "$(special_s00_dest "Show (2020)" "Menu01" "mkv")" assert_eq "/media/Shows/Show/Season 00|S00Special - SP.mkv" \ "$(special_s00_dest "Show" "SP" "mkv")" } # fallback_naming:电影回退命名 test_fallback_naming_movie() { assert_eq "/media/Movies/Movie (2020)|Movie (2020).mkv" \ "$(fallback_naming "movie" "Movie" "2020" "" "" "" "" "mkv")" } # fallback_naming:剧集回退命名 test_fallback_naming_tv() { assert_eq "/media/Shows/Show/Season 01|S01E02.mkv" \ "$(fallback_naming "tv" "Show" "" "1" "2" "" "" "mkv")" assert_eq "/media/Shows/Show (2021)/Season 02|S02E03-E04.mkv" \ "$(fallback_naming "tv" "Show" "2021" "2" "3" "4" "" "mkv")" } # fallback_naming:特典回退命名(走 special_s00_dest) test_fallback_naming_special() { assert_eq "/media/Shows/Show/Season 00|S00CM - CM01.mkv" \ "$(fallback_naming "tv" "Show" "" "0" "1" "" "CM01" "mkv")" }