summaryrefslogtreecommitdiff
path: root/pjsip/src/test
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2010-08-01 09:24:58 +0000
committerBenny Prijono <bennylp@teluu.com>2010-08-01 09:24:58 +0000
commit42cd3a38756cc1baef47cd808273435518c56401 (patch)
tree2092f37d8bcc0bb0cb170a08a79a4d382fb92fc2 /pjsip/src/test
parent311528e2bc573606fb611175fbd7b981780664e2 (diff)
Re #1070 (support for multipart bodies): modified the param field of pjsip_media_type from a simple string to pjsip_param, to support a more complex use of this field
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3241 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/test')
-rw-r--r--pjsip/src/test/msg_test.c30
1 files changed, 25 insertions, 5 deletions
diff --git a/pjsip/src/test/msg_test.c b/pjsip/src/test/msg_test.c
index 3bb58f69..a7ce838b 100644
--- a/pjsip/src/test/msg_test.c
+++ b/pjsip/src/test/msg_test.c
@@ -481,6 +481,7 @@ static pjsip_msg *create_msg0(pj_pool_t *pool)
pjsip_routing_hdr *routing;
pjsip_via_hdr *via;
pjsip_generic_string_hdr *generic;
+ pjsip_param *prm;
pj_str_t str;
msg = pjsip_msg_create(pool, PJSIP_REQUEST_MSG);
@@ -569,7 +570,10 @@ static pjsip_msg *create_msg0(pj_pool_t *pool)
pjsip_msg_add_hdr(msg, (pjsip_hdr*)ctype);
pj_strdup2(pool, &ctype->media.type, "text");
pj_strdup2(pool, &ctype->media.subtype, "html");
- pj_strdup2(pool, &ctype->media.param, ";charset=ISO-8859-4");
+ prm = PJ_POOL_ALLOC_T(pool, pjsip_param);
+ prm->name = pj_str("charset");
+ prm->value = pj_str("ISO-8859-4");
+ pj_list_push_back(&ctype->media.param, prm);
/* "Route: <sip:bigbox3.site3.atlanta.com;lr>,\r\n" */
routing = pjsip_route_hdr_create(pool);
@@ -1590,6 +1594,7 @@ static int hdr_test_content_length(pjsip_hdr *h)
static int hdr_test_content_type(pjsip_hdr *h)
{
pjsip_ctype_hdr *hdr = (pjsip_ctype_hdr*)h;
+ const pjsip_param *prm;
if (h->type != PJSIP_H_CONTENT_TYPE)
return -1910;
@@ -1603,10 +1608,25 @@ static int hdr_test_content_type(pjsip_hdr *h)
/* Currently, if the media parameter contains escaped characters,
* pjsip will print the parameter unescaped.
*/
- PJ_TODO(FIX_PARAMETER_IN_MEDIA_TYPE);
-
- if (pj_strcmp2(&hdr->media.param, ";" GENERIC_PARAM_PARSED))
- return -1940;
+ prm = hdr->media.param.next;
+ if (prm == &hdr->media.param) return -1940;
+ if (pj_strcmp2(&prm->name, "p0")) return -1941;
+ if (pj_strcmp2(&prm->value, "a")) return -1942;
+
+ prm = prm->next;
+ if (prm == &hdr->media.param) return -1950;
+ if (pj_strcmp2(&prm->name, "p1")) { PJ_LOG(3,("", "%.*s", (int)prm->name.slen, prm->name.ptr)); return -1951; }
+ if (pj_strcmp2(&prm->value, "\"ab:;cd\"")) { PJ_LOG(3,("", "%.*s", (int)prm->value.slen, prm->value.ptr)); return -1952; }
+
+ prm = prm->next;
+ if (prm == &hdr->media.param) return -1960;
+ if (pj_strcmp2(&prm->name, "p2")) return -1961;
+ if (pj_strcmp2(&prm->value, "ab:cd")) return -1962;
+
+ prm = prm->next;
+ if (prm == &hdr->media.param) return -1970;
+ if (pj_strcmp2(&prm->name, "p3")) return -1971;
+ if (pj_strcmp2(&prm->value, "")) return -1972;
return 0;
}