mirror of
https://github.com/zlgopen/awtk.git
synced 2025-05-08 19:44:45 +08:00
fix unit tests
This commit is contained in:
parent
d86646e61c
commit
ec3550a098
@ -4,6 +4,7 @@
|
||||
* 修复mingw编译说明文档(感谢智明提供补丁)
|
||||
* 修复SDL释放的时候内存泄露的问题(感谢智明提供补丁)
|
||||
* 增加状态机(感谢林福提供补丁)
|
||||
* 修复单元测试:兼容非utf8编码的编译器(VS2015)(感谢雨欣提供补丁)
|
||||
|
||||
2021/12/23
|
||||
* 增加aworkslp平台支持(感谢林福提供补丁)
|
||||
|
@ -1,8 +1,12 @@
|
||||
#include "charset/encoding.h"
|
||||
#include "tkc/utf8.h"
|
||||
#include "charset/encoding.h"
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
TEST(Encoding, basic) {
|
||||
const char* str = "中文";
|
||||
char str[16];
|
||||
const wchar_t* wstr = L"中文";
|
||||
tk_utf8_from_utf16(wstr, str, sizeof(str));
|
||||
|
||||
char gbk[32];
|
||||
char utf8[32];
|
||||
ASSERT_EQ(encoding_utf8_to_gbk(str, strlen(str), gbk, sizeof(gbk)), RET_OK);
|
||||
|
@ -1,4 +1,5 @@
|
||||
#include "tkc/fscript.h"
|
||||
#include "tkc/utf8.h"
|
||||
#include "tkc/fscript.h"
|
||||
#include "tkc/object_default.h"
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
@ -1326,9 +1327,13 @@ TEST(FExr, get_last_error) {
|
||||
|
||||
TEST(FExr, chinese_var) {
|
||||
value_t v;
|
||||
char code[128];
|
||||
const wchar_t* wcode = L"set(变量,100);(变量+100)*2";
|
||||
tk_object_t* obj = object_default_create();
|
||||
|
||||
fscript_eval(obj, "set(变量,100);(变量+100)*2", &v);
|
||||
tk_utf8_from_utf16(wcode, code, sizeof(code));
|
||||
fscript_eval(obj, code, &v);
|
||||
|
||||
ASSERT_EQ(value_int(&v), 400);
|
||||
value_reset(&v);
|
||||
|
||||
@ -1337,9 +1342,13 @@ TEST(FExr, chinese_var) {
|
||||
|
||||
TEST(FScript, chinese_func) {
|
||||
value_t v;
|
||||
char code[128];
|
||||
tk_object_t* obj = object_default_create();
|
||||
const wchar_t* wcode = L"function 求和(数1,数2) {return 数1+数2;}; 求和(100, 23)";
|
||||
|
||||
tk_utf8_from_utf16(wcode, code, sizeof(code));
|
||||
fscript_eval(obj, code, &v);
|
||||
|
||||
fscript_eval(obj, "function 求和(数1,数2) {return 数1+数2;}; 求和(100, 23)", &v);
|
||||
ASSERT_EQ(value_int(&v), 123);
|
||||
value_reset(&v);
|
||||
|
||||
|
@ -34,7 +34,8 @@ static void dump_unicode(const wchar_t* str) {
|
||||
}
|
||||
|
||||
TEST(Utf8, chinese) {
|
||||
const char* str = "中文";
|
||||
/* 兼容非utf8编码的编译器,采用utf8编码初始化str,编码内容:"中文" */
|
||||
char str[7] = {(char)0xe4, (char)0xb8, (char)0xad, (char)0xe6, (char)0x96, (char)0x87, 0};
|
||||
const wchar_t* wstr = L"中文";
|
||||
char res_str[128];
|
||||
wchar_t res_wstr[128];
|
||||
@ -49,7 +50,8 @@ TEST(Utf8, chinese) {
|
||||
}
|
||||
|
||||
TEST(Utf8, dup) {
|
||||
const char* str = "中文";
|
||||
/* 兼容非utf8编码的编译器,采用utf8编码初始化str,编码内容:"中文" */
|
||||
char str[7] = {(char)0xe4, (char)0xb8, (char)0xad, (char)0xe6, (char)0x96, (char)0x87, 0};
|
||||
const wchar_t* wstr = L"中文";
|
||||
|
||||
char* text = tk_utf8_dup_utf16(wstr, -1);
|
||||
@ -59,7 +61,9 @@ TEST(Utf8, dup) {
|
||||
|
||||
TEST(Utf8, trim_invalid) {
|
||||
char text[32] = {0};
|
||||
const char* str = "中文";
|
||||
/* 兼容非utf8编码的编译器,采用utf8编码初始化str,编码内容:"中"、"中文" */
|
||||
char s[4] = {(char)0xe4, (char)0xb8, (char)0xad, 0};
|
||||
char str[7] = {(char)0xe4, (char)0xb8, (char)0xad, (char)0xe6, (char)0x96, (char)0x87, 0};
|
||||
|
||||
memset(text, 0x00, sizeof(text));
|
||||
|
||||
@ -70,19 +74,19 @@ TEST(Utf8, trim_invalid) {
|
||||
ASSERT_STREQ(tk_utf8_trim_invalid_char(text), "");
|
||||
|
||||
strncpy(text, str, 3);
|
||||
ASSERT_STREQ(tk_utf8_trim_invalid_char(text), "中");
|
||||
ASSERT_STREQ(tk_utf8_trim_invalid_char(text), s);
|
||||
|
||||
strncpy(text, str, 4);
|
||||
ASSERT_STREQ(tk_utf8_trim_invalid_char(text), "中");
|
||||
ASSERT_STREQ(tk_utf8_trim_invalid_char(text), s);
|
||||
|
||||
strncpy(text, str, 5);
|
||||
ASSERT_STREQ(tk_utf8_trim_invalid_char(text), "中");
|
||||
ASSERT_STREQ(tk_utf8_trim_invalid_char(text), s);
|
||||
|
||||
strncpy(text, str, 6);
|
||||
ASSERT_STREQ(tk_utf8_trim_invalid_char(text), "中文");
|
||||
ASSERT_STREQ(tk_utf8_trim_invalid_char(text), str);
|
||||
|
||||
strncpy(text, str, 7);
|
||||
ASSERT_STREQ(tk_utf8_trim_invalid_char(text), "中文");
|
||||
ASSERT_STREQ(tk_utf8_trim_invalid_char(text), str);
|
||||
|
||||
strncpy(text, "abc", 4);
|
||||
ASSERT_STREQ(tk_utf8_trim_invalid_char(text), "abc");
|
||||
|
@ -29,8 +29,10 @@ TEST(WStr, demo) {
|
||||
}
|
||||
|
||||
TEST(WStr, basic) {
|
||||
/* 兼容非utf8编码的编译器,采用utf8编码初始化str,编码内容:"中文" */
|
||||
char str[7] = {(char)0xe4, (char)0xb8, (char)0xad, (char)0xe6, (char)0x96, (char)0x87, 0};
|
||||
testSetWStr("Hello", L"Hello");
|
||||
testSetWStr("中文", L"中文");
|
||||
testSetWStr(str, L"中文");
|
||||
}
|
||||
|
||||
static void testSetUtf8(const char* utf8, const wchar_t* cstr) {
|
||||
@ -50,8 +52,10 @@ static void testSetUtf8(const char* utf8, const wchar_t* cstr) {
|
||||
}
|
||||
|
||||
TEST(WStr, utf8) {
|
||||
/* 兼容非utf8编码的编译器,采用utf8编码初始化str,编码内容:"中文" */
|
||||
char str[7] = {(char)0xe4, (char)0xb8, (char)0xad, (char)0xe6, (char)0x96, (char)0x87, 0};
|
||||
testSetUtf8("Hello", L"Hello");
|
||||
testSetUtf8("中文", L"中文");
|
||||
testSetUtf8(str, L"中文");
|
||||
}
|
||||
|
||||
static void testRemove(const wchar_t* cstr, uint16_t offset, uint16_t nr, ret_t ret,
|
||||
|
Loading…
x
Reference in New Issue
Block a user