Quellcode durchsuchen

use strEqu instead of str_is_start_with to check type

lyon vor 4 Jahren
Ursprung
Commit
d06caf63ea
6 geänderte Dateien mit 50 neuen und 81 gelöschten Zeilen
  1. 1 1
      port/linux/.vscode/launch.json
  2. 28 27
      port/linux/test/args-test.cpp
  3. 9 9
      port/linux/test/object-test.cpp
  4. 1 2
      src/BaseObj.c
  5. 11 20
      src/PikaObj.c
  6. 0 22
      src/dataArgs.c

+ 1 - 1
port/linux/.vscode/launch.json

@@ -16,7 +16,7 @@
                 // "--gtest_filter=args*",
                 // "--gtest_filter=content*",
                 // "--gtest_filter=object_test.printa",
-                "--gtest_filter=object_test*",
+                // "--gtest_filter=object_test*",
                 // "--gtest_filter=stack*",
                 // "--gtest_filter=strs*",
                 // "--gtest_filter=block.ifrun2"

+ 28 - 27
port/linux/test/args-test.cpp

@@ -86,16 +86,16 @@ TEST(args, print_int) {
     EXPECT_EQ(pikaMemNow(), 0);
 }
 
-TEST(args, test5) {
-    int32_t testInt = 124;
-    Args* args = New_args(NULL);
-    args_bind(args, (char*)"int", (char*)"testInt", &testInt);
-    char* type = args_getType(args, (char*)"testInt");
-    args_print(args, (char*)"testInt");
-    EXPECT_STREQ((char*)"124", args_print(args, (char*)"testInt"));
-    args_deinit(args);
-    EXPECT_EQ(pikaMemNow(), 0);
-}
+// TEST(args, test5) {
+    // int32_t testInt = 124;
+    // Args* args = New_args(NULL);
+    // args_bind(args, (char*)"int", (char*)"testInt", &testInt);
+    // char* type = args_getType(args, (char*)"testInt");
+    // args_print(args, (char*)"testInt");
+    // EXPECT_STREQ((char*)"124", args_print(args, (char*)"testInt"));
+    // args_deinit(args);
+    // EXPECT_EQ(pikaMemNow(), 0);
+// }
 
 TEST(args, test6) {
     Args* args = New_args(NULL);
@@ -104,14 +104,15 @@ TEST(args, test6) {
     args_deinit(args);
     EXPECT_EQ(pikaMemNow(), 0);
 }
-TEST(args, test7) {
-    Args* args = New_args(NULL);
-    float floatBindTest = 2.314;
-    args_bind(args, (char*)"float", (char*)"floatBind", &floatBindTest);
-    EXPECT_STREQ((char*)"2.314000", args_print(args, (char*)"floatBind"));
-    args_deinit(args);
-    EXPECT_EQ(pikaMemNow(), 0);
-}
+
+// TEST(args, test7) {
+    // Args* args = New_args(NULL);
+    // float floatBindTest = 2.314;
+    // args_bind(args, (char*)"float", (char*)"floatBind", &floatBindTest);
+    // EXPECT_STREQ((char*)"2.314000", args_print(args, (char*)"floatBind"));
+    // args_deinit(args);
+    // EXPECT_EQ(pikaMemNow(), 0);
+// }
 
 TEST(args, test8) {
     Args* args = New_args(NULL);
@@ -122,15 +123,15 @@ TEST(args, test8) {
     EXPECT_EQ(pikaMemNow(), 0);
 }
 
-TEST(args, test9) {
-    Args* args = New_args(NULL);
-    char strBindTest[] = "test string bind";
-    args_bindStr(args, (char*)"testStringBind", (char**)&strBindTest);
-    EXPECT_STREQ((char*)"test string bind",
-                 args_print(args, (char*)"testStringBind"));
-    args_deinit(args);
-    EXPECT_EQ(pikaMemNow(), 0);
-}
+// TEST(args, test9) {
+    // Args* args = New_args(NULL);
+    // char strBindTest[] = "test string bind";
+    // args_bindStr(args, (char*)"testStringBind", (char**)&strBindTest);
+    // EXPECT_STREQ((char*)"test string bind",
+                //  args_print(args, (char*)"testStringBind"));
+    // args_deinit(args);
+    // EXPECT_EQ(pikaMemNow(), 0);
+// }
 
 TEST(args, test12) {
     Args* args = New_args(NULL);

+ 9 - 9
port/linux/test/object-test.cpp

@@ -95,15 +95,15 @@ TEST(object_test, test10) {
     EXPECT_EQ(pikaMemNow(), 0);
 }
 
-TEST(object_test, test1) {
-    PikaObj* process = newRootObj((char*)"sys", New_PikaStdLib_SysObj);
-    float floatTest = 12.231;
-    obj_bindFloat(process, (char*)"testFloatBind", &floatTest);
-    EXPECT_TRUE(
-        strEqu((char*)"12.231000", obj_print(process, (char*)"testFloatBind")));
-    obj_deinit(process);
-    EXPECT_EQ(pikaMemNow(), 0);
-}
+// TEST(object_test, test1) {
+    // PikaObj* process = newRootObj((char*)"sys", New_PikaStdLib_SysObj);
+    // float floatTest = 12.231;
+    // obj_bindFloat(process, (char*)"testFloatBind", &floatTest);
+    // EXPECT_TRUE(
+        // strEqu((char*)"12.231000", obj_print(process, (char*)"testFloatBind")));
+    // obj_deinit(process);
+    // EXPECT_EQ(pikaMemNow(), 0);
+// }
 
 TEST(object_test, test2) {
     int isShow = 1;

+ 1 - 2
src/BaseObj.c

@@ -17,9 +17,8 @@ static void* getClassPtr(PikaObj* classObj, char* classPath) {
 
 Arg* arg_setMetaObj(char* objName, char* className, NewFun objPtr) {
     Args* buffs = New_strBuff();
-    char* typeWithClass = strsAppend(buffs, "_class-[mate]", className);
     Arg* argNew = New_arg(NULL);
-    argNew = arg_setPtr(argNew, objName, typeWithClass, objPtr);
+    argNew = arg_setPtr(argNew, objName, "_class-[mate]", objPtr);
     args_deinit(buffs);
     return argNew;
 }

+ 11 - 20
src/PikaObj.c

@@ -18,12 +18,10 @@ int32_t deinitEachSubObj(Arg* argEach, Args* handleArgs) {
         return 1;
     }
     char* type = arg_getType(argEach);
-    if (strIsStartWith(type, "_class")) {
+    /* deinit sub object */
+    if (strEqu(type, "_class-")) {
         PikaObj* subObj = arg_getPtr(argEach);
-        /* is not a mate object */
-        if (!strIsStartWith(type, "_class-[mate]")) {
-            obj_deinit(subObj);
-        }
+        obj_deinit(subObj);
     }
     return 0;
 }
@@ -255,13 +253,6 @@ PikaObj* obj_getClassObj(PikaObj* obj) {
     return classObj;
 }
 
-char* obj_getClassPath(PikaObj* objHost, Args* buffs, char* objName) {
-    Arg* objArg = obj_getArg(objHost, objName);
-    char* objType = arg_getType(objArg);
-    char* classPath = strsRemovePrefix(buffs, objType, "_class-");
-    return classPath;
-}
-
 void* getNewClassObjFunByName(PikaObj* obj, char* name) {
     char* classPath = name;
     /* init the subprocess */
@@ -271,7 +262,7 @@ void* getNewClassObjFunByName(PikaObj* obj, char* name) {
 }
 
 int32_t removeEachMethodInfo(Arg* argNow, Args* argList) {
-    if (strIsStartWith(arg_getType(argNow), "_mtd-")) {
+    if (strEqu(arg_getType(argNow), "_mtd-")) {
         args_removeArg(argList, argNow);
         return 0;
     }
@@ -304,7 +295,7 @@ PikaObj* initObj(PikaObj* obj, char* name) {
     char* mateObjType = args_getType(obj->list, name);
     char* pureType = strsGetLastToken(buffs, mateObjType, ']');
     char* objType = strsAppend(buffs, "_class-", pureType);
-    args_setPtrWithType(obj->list, name, objType, newObj);
+    args_setPtrWithType(obj->list, name, "_class-", newObj);
     res = obj_getPtr(obj, name);
     goto exit;
 exit:
@@ -318,15 +309,15 @@ PikaObj* obj_getObjDirect(PikaObj* self, char* name) {
     }
     /* finded object, check type*/
     char* type = args_getType(self->list, name);
-    if (!strIsStartWith(type, "_class")) {
-        /* type error, could not found subprocess */
-        return NULL;
-    }
     /* found mate Object */
-    if (strIsStartWith(type, "_class-[mate]")) {
+    if (strEqu(type, "_class-[mate]")) {
         return initObj(self, name);
     }
-    return obj_getPtr(self, name);
+    /* found Objcet */
+    if (strEqu(type, "_class-")) {
+        return obj_getPtr(self, name);
+    }
+    return NULL;
 }
 
 PikaObj* obj_getObj(PikaObj* self, char* objPath, int32_t keepDeepth) {

+ 0 - 22
src/dataArgs.c

@@ -337,28 +337,6 @@ char* args_print(Args* self, char* name) {
         goto exit;
     }
 
-    char* bindTypePrefix = strsCopy(self, "_bind-");
-    if (strIsStartWith(type, bindTypePrefix)) {
-        char* typeWithoutBind = strsRemovePrefix(buffs, type, bindTypePrefix);
-        if (strEqu(typeWithoutBind, "int")) {
-            int32_t* valPtr = args_getPtr(self, name);
-            int32_t val = *valPtr;
-            res = getPrintStringFromInt(self, name, val);
-            goto exit;
-        }
-        if (strEqu(typeWithoutBind, "float")) {
-            float* valPtr = args_getPtr(self, name);
-            float val = *valPtr;
-            res = getPrintStringFromFloat(self, name, val);
-            goto exit;
-        }
-        if (strEqu(typeWithoutBind, "str")) {
-            // the value of &string is equal to string it self
-            char* string = args_getPtr(self, name);
-            res = string;
-            goto exit;
-        }
-    }
     /* can not match type */
     res = NULL;
     goto exit;