|
|
@@ -117,4 +117,46 @@ TEST(cJSON, next) {
|
|
|
/* deinit */
|
|
|
obj_deinit(pikaMain);
|
|
|
EXPECT_EQ(pikaMemNow(), 0);
|
|
|
-}
|
|
|
+}
|
|
|
+
|
|
|
+TEST(cJSON, next_get_value) {
|
|
|
+ /* init */
|
|
|
+ pikaMemInfo.heapUsedMax = 0;
|
|
|
+ PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
|
|
|
+ char testjson[] =
|
|
|
+ "{\n"
|
|
|
+ "\"name\": \"mculover666\",\n"
|
|
|
+ "\"age\": 22,\n"
|
|
|
+ "\"weight\": 55.5,\n"
|
|
|
+ "\"address\":\n"
|
|
|
+ "{\n"
|
|
|
+ " \"country\": \"China\",\n"
|
|
|
+ " \"zip-code\": 111111\n"
|
|
|
+ "},\n"
|
|
|
+ "\"skill\": [\"c\", \"Java\", \"Python\"],\n"
|
|
|
+ "\"student\": false\n"
|
|
|
+ "}\n";
|
|
|
+ /* run */
|
|
|
+ obj_setStr(pikaMain, "testjson", testjson);
|
|
|
+ __platform_printf("BEGIN\r\n");
|
|
|
+ obj_run(pikaMain,
|
|
|
+ "a = pika_cjson.cJSON()\n"
|
|
|
+ "a.parse(testjson)\n"
|
|
|
+ "node = a.getChild()\n"
|
|
|
+ "val = PikaStdData.List()\n"
|
|
|
+ "for i in range(0, 3):\n"
|
|
|
+ " val.append(node.getValue())\n"
|
|
|
+ " node = node.getNext()\n"
|
|
|
+ "for item in val:\n"
|
|
|
+ " print(item)\n"
|
|
|
+ "\n");
|
|
|
+ /* collect */
|
|
|
+ /* assert */
|
|
|
+ EXPECT_STREQ(log_buff[3], "BEGIN\r\n");
|
|
|
+ EXPECT_STREQ(log_buff[2], "mculover666\r\n");
|
|
|
+ EXPECT_STREQ(log_buff[1], "22.000000\r\n");
|
|
|
+ EXPECT_STREQ(log_buff[0], "55.500000\r\n");
|
|
|
+ /* deinit */
|
|
|
+ obj_deinit(pikaMain);
|
|
|
+ EXPECT_EQ(pikaMemNow(), 0);
|
|
|
+}
|