mirror of
https://github.com/LHY0125/PathEditor.git
synced 2026-06-29 09:55:56 +08:00
cdcfd8e0a7
功能: - 新增 CSV 格式导入导出支持(含 BOM 处理、引号转义、智能标题行检测) - 导入操作支持撤销/重做 - 保存时 PATH 长度检查与警告 - 深色模式状态持久化(darkmode.txt) - 提取 get_current_target/push_record 为共享函数,消除控制器层重复代码 - 新增 string_list_insert_at,修复撤销删除时的索引恢复 - 新增 undo_redo、error_code、import_export 单元测试 Bug 修复: - 修复备份目录对话框和失败原因的硬编码中文字符串 - 提取 get_exe_dir 到 os_env 消除 i18n.c/ui_utils.c 重复定义 - 修复导入撤销 old_sys/old_user 内存管理(push 后置 NULL 防止重复释放) - 修复 CSV 导出转义与导入解析不一致(移除反斜杠转义,依赖 CSV 引号机制) - 修正 PATH 长度 8191 限制描述为 "command line safe limit"
44 lines
1.1 KiB
CMake
44 lines
1.1 KiB
CMake
# PathEditor 单元测试框架
|
|
cmake_minimum_required(VERSION 3.10)
|
|
|
|
# 测试子项目配置
|
|
project(PathEditorTests C)
|
|
|
|
# 设置 C 标准(与主项目一致)
|
|
set(CMAKE_C_STANDARD 17)
|
|
set(CMAKE_C_STANDARD_REQUIRED ON)
|
|
set(CMAKE_C_EXTENSIONS OFF)
|
|
|
|
# 包含主项目的头文件路径
|
|
include_directories(
|
|
${CMAKE_SOURCE_DIR}/include
|
|
${CMAKE_SOURCE_DIR}/include/core
|
|
${CMAKE_SOURCE_DIR}/include/ui
|
|
${CMAKE_SOURCE_DIR}/include/controller
|
|
${CMAKE_SOURCE_DIR}/include/utils
|
|
${CMAKE_SOURCE_DIR}/libs/IUP/include
|
|
${CMAKE_SOURCE_DIR}/libs/lua/include
|
|
${CMAKE_SOURCE_DIR}/libs/gettext/include
|
|
)
|
|
|
|
# 获取 CMocka(如果系统没有则下载)
|
|
include(FetchContent)
|
|
FetchContent_Declare(
|
|
cmocka
|
|
GIT_REPOSITORY https://git.cryptomilk.org/projects/cmocka.git
|
|
GIT_TAG cmocka-1.1.5
|
|
)
|
|
FetchContent_MakeAvailable(cmocka)
|
|
|
|
# 启用测试
|
|
enable_testing()
|
|
include(CTest)
|
|
|
|
# 添加各测试模块
|
|
add_subdirectory(unit/safe_string)
|
|
add_subdirectory(unit/string_ext)
|
|
add_subdirectory(unit/path_manager)
|
|
add_subdirectory(unit/undo_redo)
|
|
add_subdirectory(unit/error_code)
|
|
add_subdirectory(unit/import_export)
|