From 9a64bae99a94657037fecd9f62b70ad1b93f3b94 Mon Sep 17 00:00:00 2001
From: Jan Breuer <jan.breuer@jaybee.cz>
Date: 周六, 27 4月 2013 18:16:32 +0800
Subject: [PATCH] Update LwIP example to support request control

---
 libscpi/test/test_scpi_utils.c |   40 +++++++++++++++++++++++++++++++++++-----
 1 files changed, 35 insertions(+), 5 deletions(-)

diff --git a/libscpi/test/test_scpi_utils.c b/libscpi/test/test_scpi_utils.c
index 9d2b41a..4cfd5a0 100644
--- a/libscpi/test/test_scpi_utils.c
+++ b/libscpi/test/test_scpi_utils.c
@@ -138,8 +138,8 @@
 
 void test_locateText() {
 
-    char * v;
-    char * b;
+    const char * v;
+    const char * b;
     size_t l;
     int result;
 
@@ -152,7 +152,7 @@
         result = locateText(v, strlen(v), &b, &l);       \
         CU_ASSERT(result == ex_res);                    \
         if (result == TRUE) {                           \
-                CU_ASSERT(b == (s + ex_off));           \
+                CU_ASSERT(b == (v + ex_off));           \
                 CU_ASSERT(l == ex_len);                 \
         } else {                                        \
                 CU_ASSERT(b == NULL);                   \
@@ -162,6 +162,8 @@
 
 
     TEST_LOCATE_TEXT("", TRUE, 0, 0);
+    TEST_LOCATE_TEXT(",", TRUE, 0, 0);
+    TEST_LOCATE_TEXT("\"\",", TRUE, 1, 0);
     TEST_LOCATE_TEXT("   ", TRUE, 3, 0);
     TEST_LOCATE_TEXT("a", TRUE, 0, 1);
     TEST_LOCATE_TEXT("ab", TRUE, 0, 2);
@@ -186,8 +188,8 @@
 
 void test_locateStr() {
 
-    char * v;
-    char * b;
+    const char * v;
+    const char * b;
     size_t l;
     int result;
 
@@ -209,6 +211,7 @@
     } while(0)                                          \
     
     TEST_LOCATE_STR("", TRUE, 0, 0);
+    TEST_LOCATE_STR(",", TRUE, 0, 0);
     TEST_LOCATE_STR("   ", TRUE, 3, 0);
     TEST_LOCATE_STR("a", TRUE, 0, 1);
     TEST_LOCATE_STR("ab", TRUE, 0, 2);
@@ -247,6 +250,32 @@
     TEST_MATCH_PATTERN("AB", "a", FALSE);
 }
 
+void test_matchCommand() {
+    bool_t result;
+    
+    #define TEST_MATCH_COMMAND(p, s, r)                         \
+    do {                                                        \
+        result = matchCommand(p, s, strlen(s));                 \
+        CU_ASSERT_EQUAL(result, r);                             \
+    } while(0)                                                  \
+
+    TEST_MATCH_COMMAND("A", "a", TRUE);
+    TEST_MATCH_COMMAND("Ab", "a", TRUE);
+    TEST_MATCH_COMMAND("Ab", "ab", TRUE);
+    TEST_MATCH_COMMAND("Ab", "aB", TRUE);
+    TEST_MATCH_COMMAND("AB", "a", FALSE);
+    TEST_MATCH_COMMAND("ABc:AACddd", "ab:aac", TRUE);
+    TEST_MATCH_COMMAND("ABc:AACddd", "abc:aac", TRUE);
+    TEST_MATCH_COMMAND("ABc:AACddd", "abc:aacddd", TRUE);
+    TEST_MATCH_COMMAND("ABc:AACddd", "abc:aacdd", FALSE);
+    TEST_MATCH_COMMAND("ABc:AACddd", "a:aac", FALSE);
+    TEST_MATCH_COMMAND("ABc:AACddd", ":ab:aac", TRUE);
+    TEST_MATCH_COMMAND("ABc:AACddd", ":abc:aac", TRUE);
+    TEST_MATCH_COMMAND("ABc:AACddd", ":abc:aacddd", TRUE);
+    TEST_MATCH_COMMAND("ABc:AACddd", ":abc:aacdd", FALSE);
+    TEST_MATCH_COMMAND("ABc:AACddd", ":a:aac", FALSE);
+}
+
 int main() {
     CU_pSuite pSuite = NULL;
 
@@ -272,6 +301,7 @@
             || (NULL == CU_add_test(pSuite, "locateText", test_locateText))
             || (NULL == CU_add_test(pSuite, "locateStr", test_locateStr))
             || (NULL == CU_add_test(pSuite, "matchPattern", test_matchPattern))
+            || (NULL == CU_add_test(pSuite, "matchCommand", test_matchCommand))
             ) {
         CU_cleanup_registry();
         return CU_get_error();

--
Gitblit v1.9.1