mirror of
https://github.com/LHY0125/PathEditor.git
synced 2026-05-10 02:09:46 +08:00
cf19a37a97
- 新增 CMake 测试框架配置,支持 safe_string、string_ext 和 path_manager 模块的单元测试 - 实现 Windows API Mock 机制,便于测试编码转换函数 - 添加 error_code 模块的字符串表示函数,支持英文错误日志 - 在 UI 回调函数中集成国际化翻译,覆盖新建、编辑、导入导出等操作提示 - 扩展 string_list 功能,新增重复路径检查函数 - 更新翻译文件,同步所有用户界面的中英文文本
55 lines
1.2 KiB
C
55 lines
1.2 KiB
C
/*
|
|
* 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 */
|