Files
Shuery 0df07ad0ae refactor: 迁移至 bashly CLI 与功能域模块结构
- CLI 定义迁移至 src/bashly.yml(bashly 1.4 生成参数解析),入口收敛为 src/root_command.sh
- 源码按功能域重组:config/storage/integrate/media/pipeline,消除扁平散落
- 新增零依赖测试框架 tests/(123 用例)与 CI 流水线(lint + test + build + 产物一致性)
- build.sh 支持版本单一来源注入与 --check 产物校验;新增 lint.sh(bash -n + shellcheck 零容忍)
- 删除旧单文件 media_organizer.sh 与旧扁平模块
2026-08-14 22:41:28 +08:00

54 lines
2.1 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ============================================================================
# 特典命名模块测试(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")"
}