list_iter not ok

This commit is contained in:
lyon 2022-04-26 10:06:15 +08:00
parent 89d23c2d3e
commit 9b1e6a323a
4 changed files with 22 additions and 6 deletions

View File

@ -41,8 +41,7 @@ void PikaStdData_List_set(PikaObj* self, Arg* arg, int i) {
Arg* PikaStdData_List___iter__(PikaObj* self) {
obj_setInt(self, "__iter_i", 0);
/* use weak ref to void loop ref */
return arg_setWeakRefObj(NULL, "", self);
return arg_setRefObj(NULL, "", self);
}
Arg* PikaStdData_List___next__(PikaObj* self) {

View File

@ -11,7 +11,8 @@
"program": "${workspaceFolder}/build/test/pikascript_test",
// "program": "${workspaceFolder}/build/boot/demo06-pikamain/pikascript_demo06-pikamain",
"args": [
"--gtest_filter=gc.*",
"--gtest_filter=pikaMain.list_iter",
// "--gtest_filter=gc.*",
// "--gtest_filter=parser.bytes_iteral",
// "--gtest_filter=parser.list_init_fun",
// "--gtest_filter=args.heap_struct_override",

View File

@ -41,8 +41,7 @@ void PikaStdData_List_set(PikaObj* self, Arg* arg, int i) {
Arg* PikaStdData_List___iter__(PikaObj* self) {
obj_setInt(self, "__iter_i", 0);
/* use weak ref to void loop ref */
return arg_setWeakRefObj(NULL, "", self);
return arg_setRefObj(NULL, "", self);
}
Arg* PikaStdData_List___next__(PikaObj* self) {

View File

@ -279,7 +279,7 @@ TEST(pikaMain, PikaStdData) {
EXPECT_EQ(pikaMemNow(), 0);
}
TEST(pikaMain, iter) {
TEST(pikaMain, list_method) {
/* init */
pikaMemInfo.heapUsedMax = 0;
PikaObj* pikaMain = newRootObj((char*)"pikaMain", New_PikaMain);
@ -291,6 +291,23 @@ TEST(pikaMain, iter) {
"len = list.len()\n"
"a1 = list.get(0)\n"
"a2 = list.get(1)\n"
"\n"
);
/* collect */
/* assert */
/* deinit */
// obj_deinit(globals);
obj_deinit(pikaMain);
EXPECT_EQ(pikaMemNow(), 0);
}
TEST(pikaMain, list_iter) {
/* init */
pikaMemInfo.heapUsedMax = 0;
PikaObj* pikaMain = newRootObj((char*)"pikaMain", New_PikaMain);
/* run */
obj_runDirect(pikaMain, (char*)
"list = PikaStdData.List()\n"
"res = iter(list)\n"
"\n"
);