From efbd933813a6d273962a3957e17fdf4fb40f5b04 Mon Sep 17 00:00:00 2001
From: Jan Breuer <jan.breuer@jaybee.cz>
Date: 周五, 19 4月 2013 17:20:17 +0800
Subject: [PATCH] Resolve bug with short commands

---
 libscpi/test/test_scpi_utils.c |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/libscpi/test/test_scpi_utils.c b/libscpi/test/test_scpi_utils.c
index 059cc97..1081d6e 100644
--- a/libscpi/test/test_scpi_utils.c
+++ b/libscpi/test/test_scpi_utils.c
@@ -250,6 +250,27 @@
     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);
+}
+
 int main() {
     CU_pSuite pSuite = NULL;
 
@@ -275,6 +296,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