mirror of
https://gitcode.com/JianFeeeee/LuaCangjia_api.git
synced 2026-09-20 08:58:13 +00:00
更新:添加doString方法及对应的单元测试
This commit is contained in:
@ -285,6 +285,47 @@ TEST_F(LuaCjApiTest, PackagePathConfig) {
|
||||
EXPECT_STREQ(res, lib_path.c_str());
|
||||
}
|
||||
|
||||
// ==================== 新增测试:doString 功能 ====================
|
||||
|
||||
// 测试简单表达式
|
||||
TEST_F(LuaCjApiTest, DoStringSimple) {
|
||||
int ret = dostring(runner, "return 1 + 1");
|
||||
EXPECT_EQ(ret, 0);
|
||||
char* res = getresult(runner);
|
||||
EXPECT_STREQ(res, "2");
|
||||
}
|
||||
|
||||
// 测试全局变量设置与读取
|
||||
TEST_F(LuaCjApiTest, DoStringWithGlobal) {
|
||||
int ret = dostring(runner, "g = 42; return g");
|
||||
EXPECT_EQ(ret, 0);
|
||||
char* res = getresult(runner);
|
||||
EXPECT_STREQ(res, "42");
|
||||
}
|
||||
|
||||
// 测试语法错误
|
||||
TEST_F(LuaCjApiTest, DoStringSyntaxError) {
|
||||
int ret = dostring(runner, "if true then");
|
||||
EXPECT_EQ(ret, -1);
|
||||
EXPECT_EQ(get_errno(), NAPI_ERROR_FUNCS);
|
||||
char* res = getresult(runner);
|
||||
EXPECT_NE(strstr(res, "'end' expected"), nullptr);
|
||||
}
|
||||
|
||||
// 测试无返回值
|
||||
TEST_F(LuaCjApiTest, DoStringNoReturn) {
|
||||
int ret = dostring(runner, "x = 10");
|
||||
EXPECT_EQ(ret, -1);
|
||||
EXPECT_EQ(get_errno(), NAPI_SCRIPT_BAD_RET);
|
||||
}
|
||||
|
||||
// 测试返回 nil
|
||||
TEST_F(LuaCjApiTest, DoStringNilReturn) {
|
||||
int ret = dostring(runner, "return nil");
|
||||
EXPECT_EQ(ret, -1);
|
||||
EXPECT_EQ(get_errno(), NAPI_SCRIPT_BAD_RET);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
::testing::InitGoogleTest(&argc, argv);
|
||||
return RUN_ALL_TESTS();
|
||||
|
||||
Reference in New Issue
Block a user