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 与旧扁平模块
This commit is contained in:
1 parent
d978a13a83
commit
0df07ad0ae
48 files changed
+5813
-6812
No files matched your search
@@ -0,0 +1,53 @@
|
||||
# ============================================================================
|
||||
# 特典命名模块测试(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")"
|
||||
}
|
||||
Reference in new issue
Block a user