From 525f08e088a14e3ec06c15c1bc9ae5402468d7bd Mon Sep 17 00:00:00 2001 From: pikastech Date: Tue, 2 Aug 2022 13:52:20 +0800 Subject: [PATCH] fix `for in dict` --- package/PikaStdLib/PikaStdData_Dict.c | 4 ++-- .../pikascript/pikascript-lib/PikaStdLib/PikaStdData_Dict.c | 4 ++-- port/linux/test/pikaMain-test.cpp | 2 +- port/linux/test/stddata-test.cpp | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package/PikaStdLib/PikaStdData_Dict.c b/package/PikaStdLib/PikaStdData_Dict.c index ad6391ef5..e045ba028 100644 --- a/package/PikaStdLib/PikaStdData_Dict.c +++ b/package/PikaStdLib/PikaStdData_Dict.c @@ -32,8 +32,8 @@ Arg* PikaStdData_Dict___iter__(PikaObj* self) { Arg* PikaStdData_Dict___next__(PikaObj* self) { int __iter_i = args_getInt(self->list, "__iter_i"); - PikaDict* dict = obj_getPtr(self, "dict"); - Arg* res = arg_copy(args_getArgByidex(&dict->super, __iter_i)); + PikaDict* keys = obj_getPtr(self, "_keys"); + Arg* res = arg_copy(args_getArgByidex(&keys->super, __iter_i)); if (NULL == res) { return arg_newNull(); } diff --git a/port/linux/package/pikascript/pikascript-lib/PikaStdLib/PikaStdData_Dict.c b/port/linux/package/pikascript/pikascript-lib/PikaStdLib/PikaStdData_Dict.c index ad6391ef5..e045ba028 100644 --- a/port/linux/package/pikascript/pikascript-lib/PikaStdLib/PikaStdData_Dict.c +++ b/port/linux/package/pikascript/pikascript-lib/PikaStdLib/PikaStdData_Dict.c @@ -32,8 +32,8 @@ Arg* PikaStdData_Dict___iter__(PikaObj* self) { Arg* PikaStdData_Dict___next__(PikaObj* self) { int __iter_i = args_getInt(self->list, "__iter_i"); - PikaDict* dict = obj_getPtr(self, "dict"); - Arg* res = arg_copy(args_getArgByidex(&dict->super, __iter_i)); + PikaDict* keys = obj_getPtr(self, "_keys"); + Arg* res = arg_copy(args_getArgByidex(&keys->super, __iter_i)); if (NULL == res) { return arg_newNull(); } diff --git a/port/linux/test/pikaMain-test.cpp b/port/linux/test/pikaMain-test.cpp index 13d7ba96f..785038415 100644 --- a/port/linux/test/pikaMain-test.cpp +++ b/port/linux/test/pikaMain-test.cpp @@ -523,7 +523,7 @@ TEST(pikaMain, for_in_dict) { "\n"); /* collect */ /* assert */ - EXPECT_STREQ(log_buff[0], "1\r\n"); + EXPECT_STREQ(log_buff[0], "a\r\n"); EXPECT_STREQ(log_buff[1], "__start__\r\n"); /* deinit */ obj_deinit(pikaMain); diff --git a/port/linux/test/stddata-test.cpp b/port/linux/test/stddata-test.cpp index 7fea5b7e9..1f0b0e146 100644 --- a/port/linux/test/stddata-test.cpp +++ b/port/linux/test/stddata-test.cpp @@ -15,9 +15,9 @@ TEST(stddata, test1) { EXPECT_STREQ(log_buff[2], "a\r\n"); EXPECT_STREQ(log_buff[3], "b\r\n"); EXPECT_STREQ(log_buff[4], "c\r\n"); - EXPECT_STREQ(log_buff[5], "1\r\n"); - EXPECT_STREQ(log_buff[6], "2\r\n"); - EXPECT_STREQ(log_buff[7], "test\r\n"); + EXPECT_STREQ(log_buff[5], "a\r\n"); + EXPECT_STREQ(log_buff[6], "b\r\n"); + EXPECT_STREQ(log_buff[7], "c\r\n"); EXPECT_STREQ(log_buff[8], "{'c': test, 'b': 2, 'a': 1}\r\n"); EXPECT_STREQ(log_buff[9], "BEGIN\r\n"); /* deinit */