mirror of
https://github.com/LHY0125/PathEditor.git
synced 2026-05-10 02:09:46 +08:00
feat(test): 添加单元测试框架并完善国际化支持
- 新增 CMake 测试框架配置,支持 safe_string、string_ext 和 path_manager 模块的单元测试 - 实现 Windows API Mock 机制,便于测试编码转换函数 - 添加 error_code 模块的字符串表示函数,支持英文错误日志 - 在 UI 回调函数中集成国际化翻译,覆盖新建、编辑、导入导出等操作提示 - 扩展 string_list 功能,新增重复路径检查函数 - 更新翻译文件,同步所有用户界面的中英文文本
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* mock_windows.h
|
||||
* Windows API Mock 头文件
|
||||
* 用于单元测试中模拟 Windows API
|
||||
*/
|
||||
#ifndef MOCK_WINDOWS_H
|
||||
#define MOCK_WINDOWS_H
|
||||
|
||||
#ifdef TESTING
|
||||
|
||||
#include <windows.h>
|
||||
#include <wchar.h>
|
||||
|
||||
/* Mock 计数器,用于验证调用 */
|
||||
extern int mock_MultiByteToWideChar_call_count;
|
||||
extern int mock_WideCharToMultiByte_call_count;
|
||||
|
||||
/* 设置 Mock 返回值 */
|
||||
void mock_set_MultiByteToWideChar_return(int ret);
|
||||
void mock_set_WideCharToMultiByte_return(int ret);
|
||||
|
||||
/* Mock MultiByteToWideChar */
|
||||
int mock_MultiByteToWideChar(
|
||||
UINT CodePage,
|
||||
DWORD dwFlags,
|
||||
LPCSTR lpMultiByteStr,
|
||||
int cbMultiByte,
|
||||
LPWSTR lpWideCharStr,
|
||||
int cchWideChar);
|
||||
|
||||
/* Mock WideCharToMultiByte */
|
||||
int mock_WideCharToMultiByte(
|
||||
UINT CodePage,
|
||||
DWORD dwFlags,
|
||||
LPCWSTR lpWideCharStr,
|
||||
int cchWideChar,
|
||||
LPSTR lpMultiByteStr,
|
||||
int cbMultiByte,
|
||||
LPCSTR lpDefaultChar,
|
||||
LPBOOL lpUsedDefaultChar);
|
||||
|
||||
/* 替换宏(在测试源文件中定义) */
|
||||
#ifdef REPLACE_WINDOWS_API
|
||||
#define MultiByteToWideChar mock_MultiByteToWideChar
|
||||
#define WideCharToMultiByte mock_WideCharToMultiByte
|
||||
#endif
|
||||
|
||||
#else
|
||||
/* 非测试模式下为空 */
|
||||
#define REPLACE_WINDOWS_API 0
|
||||
|
||||
#endif /* TESTING */
|
||||
|
||||
#endif /* MOCK_WINDOWS_H */
|
||||
Reference in New Issue
Block a user