From f335354c9acd8ff39510252f42207d6672114d46 Mon Sep 17 00:00:00 2001 From: Jan Breuer <jan.breuer@jaybee.cz> Date: ćšć, 19 9æ 2013 18:50:49 +0800 Subject: [PATCH] Resolve issue with space between commands --- 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