MCPcopy Create free account
hub / github.com/OpenSIPS/opensips / test_parse_fcaps

Function test_parse_fcaps

parser/test/test_parse_fcaps.c:28–109  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

26#include "../../parser/parse_fcaps.h"
27
28void test_parse_fcaps(void)
29{
30 struct hdr_field hf;
31 fcaps_body_t *fcaps;
32 const str *hdr;
33
34 hdr = _str("Feature-Caps: +sip.pns=\"apns\"\r\n");
35 memset(&hf, 0, sizeof hf);
36 get_hdr_field(hdr->s, hdr->s + hdr->len, &hf);
37 ok(hf.type == HDR_FEATURE_CAPS_T, "fcaps-1");
38 ok(str_match(&hf.body, const_str("+sip.pns=\"apns\"")), "fcaps-2");
39
40 hdr = _str("fEATURE-cAPS:+sip.pns=\"apns\"\r\n");
41 memset(&hf, 0, sizeof hf);
42 get_hdr_field(hdr->s, hdr->s + hdr->len, &hf);
43 ok(hf.type == HDR_FEATURE_CAPS_T, "fcaps-3");
44 ok(str_match(&hf.body, const_str("+sip.pns=\"apns\"")), "fcaps-4");
45
46 hdr = _str("feature-caps: +sip.pns=\"apns\";+sip.pnsreg=\"130\"\r\n");
47 memset(&hf, 0, sizeof hf);
48 get_hdr_field(hdr->s, hdr->s + hdr->len, &hf);
49 ok(hf.type == HDR_FEATURE_CAPS_T, "fcaps-5");
50 ok(str_match(&hf.body, const_str("+sip.pns=\"apns\";+sip.pnsreg=\"130\"")), "fcaps-6");
51 free_fcaps((fcaps_body_t**)&hf.parsed);
52 ok(!hf.parsed, "fcaps-7");
53
54 ok(parse_fcaps(&hf) == 0, "fcaps-8");
55 fcaps = (fcaps_body_t *)hf.parsed;
56 ok(str_match(&fcaps->pns, const_str("apns")), "fcaps-9");
57 free_fcaps((fcaps_body_t**)&hf.parsed);
58
59 hf.body = *_str("");
60 ok(parse_fcaps(&hf) != 0, "fcaps-10");
61
62 hf.body = *_str("+sip.pns");
63 ok(parse_fcaps(&hf) != 0, "fcaps-11");
64
65 hf.body = *_str("+sip.pns=");
66 ok(parse_fcaps(&hf) != 0, "fcaps-12");
67
68 hf.body = *_str("+sip.pns=x");
69 ok(parse_fcaps(&hf) != 0, "fcaps-13");
70
71 hf.body = *_str("+sip.pns=\"");
72 ok(parse_fcaps(&hf) != 0, "fcaps-14");
73
74 hf.body = *_str("+sip.pns=\"x");
75 ok(parse_fcaps(&hf) != 0, "fcaps-15");
76
77 hf.body = *_str("+sip.pns=x\"");
78 ok(parse_fcaps(&hf) != 0, "fcaps-16");
79
80 hf.body = *_str("+sip.pns=\"x\"");
81 ok(parse_fcaps(&hf) == 0, "fcaps-17");
82 fcaps = (fcaps_body_t *)hf.parsed;
83 ok(str_match(&fcaps->pns, const_str("x")), "fcaps-18");
84 free_fcaps((fcaps_body_t**)&hf.parsed);
85

Callers 1

test_parserFunction · 0.85

Calls 4

_strClass · 0.85
str_matchFunction · 0.85
free_fcapsFunction · 0.85
parse_fcapsFunction · 0.85

Tested by

no test coverage detected