OSDN Git Service

* Added test code of the qs_get_destlang_attr() function.
authorkonn <konn@1a406e8e-add9-4483-a2c8-d8cac5b7c224>
Mon, 5 May 2008 18:12:01 +0000 (18:12 +0000)
committerkonn <konn@1a406e8e-add9-4483-a2c8-d8cac5b7c224>
Mon, 5 May 2008 18:12:01 +0000 (18:12 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/modchxj/mod_chxj/branches/RELEASE_0_12_0@2621 1a406e8e-add9-4483-a2c8-d8cac5b7c224

include/chxj_tag_util.h
src/chxj_tag_util.c
test/chxj_tag_util/test_chxj_tag_util.c

index f525791..552e5d5 100644 (file)
@@ -35,17 +35,8 @@ extern char *qs_get_accesskey_attr(Doc *doc, Node *tag, apr_pool_t *pool);
 extern char *qs_get_istyle_attr(Doc *doc, Node *tag, apr_pool_t *pool);
 extern char* qs_get_maxlength_attr(Doc *doc, Node *tag, apr_pool_t *pool);
 extern int qs_is_checked_checkbox_attr(Doc *doc, Node *tag, apr_pool_t *pool);
-
-extern int   chxj_chxjif_is_mine(
-  device_table *spec, 
-  Doc          *doc, 
-  Node         *tag);
-
-extern char* qs_get_destlang_attr(
-  Doc* doc, 
-  Node* tag, 
-  request_rec* r);
-
+extern int   chxj_chxjif_is_mine(device_table *spec, Doc *doc, Node *tag);
+extern char *qs_get_destlang_attr(Doc *doc, Node *tag, apr_pool_t *pool);
 extern char* qs_get_parse_attr(
   Doc*         doc, 
   Node*        tag, 
index 737b596..f685916 100644 (file)
@@ -522,12 +522,12 @@ chxj_chxjif_is_mine(device_table *spec, Doc *doc, Node *tag)
  *                 destination is specified.
  * @param tag  [i] The tag node to want to acquire the DESTLANG attribute
  *                 is specified.
- * @param r    [i] To use POOL, the pointer to request_rec is specified.
+ * @param r    [i] To use POOL.
  * @return The value of the DESTLANG attribute is returned. NULL is
  *         returned when not is.
  */
 char *
-qs_get_destlang_attr(Doc *doc, Node *tag, request_rec *r)
+qs_get_destlang_attr(Doc *doc, Node *tag, apr_pool_t *pool)
 {
   Attr  *attr;
   for (attr = qs_get_attr(doc,tag);
@@ -536,7 +536,7 @@ qs_get_destlang_attr(Doc *doc, Node *tag, request_rec *r)
     char *name  = qs_get_attr_name(doc,attr);
     char *value = qs_get_attr_value(doc,attr);
     if (STRCASEEQ('d','D',"destlang",name)) {
-      return apr_pstrdup(r->pool, value);
+      return apr_pstrdup(pool, value);
     }
   }
 
index c496c3d..425bc6f 100644 (file)
@@ -193,6 +193,13 @@ void test_chxj_chxjif_is_mine_068();
 void test_chxj_chxjif_is_mine_069();
 void test_chxj_chxjif_is_mine_070();
 void test_chxj_chxjif_is_mine_071();
+/*==============================================================*/
+/* qs_get_destlang_attr(Doc *doc, Node *tag, apr_pool_t *pool); */
+/*==============================================================*/
+void test_qs_get_destlang_attr_001();
+void test_qs_get_destlang_attr_002();
+void test_qs_get_destlang_attr_003();
+void test_qs_get_destlang_attr_004();
 /* pend */
 
 void test_log_rerror(const char *file, int line, int level, apr_status_t status, const request_rec *r, const char *fmt, ...)
@@ -394,6 +401,13 @@ main()
   CU_add_test(str_util_suite, "chxj_chxjif_is_mine() 069",                             test_chxj_chxjif_is_mine_069);
   CU_add_test(str_util_suite, "chxj_chxjif_is_mine() 070",                             test_chxj_chxjif_is_mine_070);
   CU_add_test(str_util_suite, "chxj_chxjif_is_mine() 071",                             test_chxj_chxjif_is_mine_071);
+  /*==============================================================*/
+  /* qs_get_destlang_attr(Doc *doc, Node *tag, apr_pool_t *pool); */
+  /*==============================================================*/
+  CU_add_test(str_util_suite, "qs_get_destlang_attr() 001",                            test_qs_get_destlang_attr_001);
+  CU_add_test(str_util_suite, "qs_get_destlang_attr() 002",                            test_qs_get_destlang_attr_002);
+  CU_add_test(str_util_suite, "qs_get_destlang_attr() 003",                            test_qs_get_destlang_attr_003);
+  CU_add_test(str_util_suite, "qs_get_destlang_attr() 004",                            test_qs_get_destlang_attr_004);
   /* aend */
 
   CU_basic_run_tests();
@@ -2578,6 +2592,76 @@ void test_chxj_chxjif_is_mine_071()
   APR_TERM;
 #undef TEST_STRING
 }
+/*==============================================================*/
+/* qs_get_destlang_attr(Doc *doc, Node *tag, apr_pool_t *pool); */
+/*==============================================================*/
+void test_qs_get_destlang_attr_001()
+{
+#define TEST_STRING "<input destlang>"
+#define RESULT_STRING ""
+  Node *node;
+  char *ret;
+  APR_INIT;
+  node = qs_parse_string(&doc, TEST_STRING, sizeof(TEST_STRING)); 
+  ret = qs_get_destlang_attr(&doc, node->child, p);
+  CU_ASSERT(ret != NULL);
+  CU_ASSERT(strcmp(ret, RESULT_STRING) == 0);
+
+  APR_TERM;
+#undef RESULT_STRING
+#undef TEST_STRING
+}
+void test_qs_get_destlang_attr_002()
+{
+#define TEST_STRING "<input>"
+#define RESULT_STRING ""
+  Node *node;
+  char *ret;
+  APR_INIT;
+  node = qs_parse_string(&doc, TEST_STRING, sizeof(TEST_STRING)); 
+  ret = qs_get_destlang_attr(&doc, node->child, p);
+  CU_ASSERT(ret == NULL);
+
+  APR_TERM;
+#undef RESULT_STRING
+#undef TEST_STRING
+}
+void test_qs_get_destlang_attr_003()
+{
+#define TEST_STRING "<input destlang=\"\">"
+#define RESULT_STRING ""
+  Node *node;
+  char *ret;
+  APR_INIT;
+  node = qs_parse_string(&doc, TEST_STRING, sizeof(TEST_STRING)); 
+  ret = qs_get_destlang_attr(&doc, node->child, p);
+  CU_ASSERT(ret != NULL);
+  CU_ASSERT(strcmp(ret, RESULT_STRING) == 0);
+
+  APR_TERM;
+#undef RESULT_STRING
+#undef TEST_STRING
+}
+void test_qs_get_destlang_attr_004()
+{
+#define TEST_STRING "<input destlang=\"abc\">"
+#define RESULT_STRING "abc"
+  Node *node;
+  char *ret;
+  APR_INIT;
+  node = qs_parse_string(&doc, TEST_STRING, sizeof(TEST_STRING)); 
+  ret = qs_get_destlang_attr(&doc, node->child, p);
+  CU_ASSERT(ret != NULL);
+  CU_ASSERT(strcmp(ret, RESULT_STRING) == 0);
+
+  APR_TERM;
+#undef RESULT_STRING
+#undef TEST_STRING
+}
 /*
  * vim:ts=2 et
  */