MCPcopy Create free account
hub / github.com/CppCXY/EmmyLuaCodeStyle / testAddOrRemoveBaseHelper

Function testAddOrRemoveBaseHelper

3rd/uriparser/test/FourSuite.cpp:34–96  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

32namespace {
33
34bool testAddOrRemoveBaseHelper(const char * ref, const char * base,
35 const char * expected, bool add = true, bool domainRootMode = false) {
36 UriParserStateA stateA;
37
38 // Base
39 UriUriA baseUri;
40 stateA.uri = &baseUri;
41 int res = uriParseUriA(&stateA, base);
42 if (res != 0) {
43 return false;
44 }
45
46 // Rel
47 UriUriA relUri;
48 stateA.uri = &relUri;
49 res = uriParseUriA(&stateA, ref);
50 if (res != 0) {
51 uriFreeUriMembersA(&baseUri);
52 return false;
53 }
54
55 // Expected result
56 UriUriA expectedUri;
57 stateA.uri = &expectedUri;
58 res = uriParseUriA(&stateA, expected);
59 if (res != 0) {
60 uriFreeUriMembersA(&baseUri);
61 uriFreeUriMembersA(&relUri);
62 uriFreeUriMembersA(&expectedUri);
63 return false;
64 }
65
66 // Transform
67 UriUriA transformedUri;
68 if (add) {
69 res = uriAddBaseUriA(&transformedUri, &relUri, &baseUri);
70 } else {
71 res = uriRemoveBaseUriA(&transformedUri, &relUri, &baseUri,
72 domainRootMode ? URI_TRUE : URI_FALSE);
73 }
74 if (res != 0) {
75 uriFreeUriMembersA(&baseUri);
76 uriFreeUriMembersA(&relUri);
77 uriFreeUriMembersA(&expectedUri);
78 uriFreeUriMembersA(&transformedUri);
79 return false;
80 }
81
82 const bool equal = (URI_TRUE == uriEqualsUriA(&transformedUri, &expectedUri));
83 if (!equal) {
84 char transformedUriText[1024 * 8];
85 char expectedUriText[1024 * 8];
86 uriToStringA(transformedUriText, &transformedUri, 1024 * 8, NULL);
87 uriToStringA(expectedUriText, &expectedUri, 1024 * 8, NULL);
88 printf("\n\n\nExpected: \"%s\"\nReceived: \"%s\"\n\n\n", expectedUriText, transformedUriText);
89 }
90
91 uriFreeUriMembersA(&baseUri);

Callers 1

TESTFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected