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

Function testAddBaseHelper

3rd/uriparser/test/test.cpp:961–1026  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

959
960namespace {
961 bool testAddBaseHelper(const wchar_t * base, const wchar_t * rel, const wchar_t * expectedResult, bool backward_compatibility = false) {
962 UriParserStateW stateW;
963
964 // Base
965 UriUriW baseUri;
966 stateW.uri = &baseUri;
967 int res = uriParseUriW(&stateW, base);
968 if (res != 0) {
969 uriFreeUriMembersW(&baseUri);
970 return false;
971 }
972
973 // Rel
974 UriUriW relUri;
975 stateW.uri = &relUri;
976 res = uriParseUriW(&stateW, rel);
977 if (res != 0) {
978 uriFreeUriMembersW(&baseUri);
979 uriFreeUriMembersW(&relUri);
980 return false;
981 }
982
983 // Expected result
984 UriUriW expectedUri;
985 stateW.uri = &expectedUri;
986 res = uriParseUriW(&stateW, expectedResult);
987 if (res != 0) {
988 uriFreeUriMembersW(&baseUri);
989 uriFreeUriMembersW(&relUri);
990 uriFreeUriMembersW(&expectedUri);
991 return false;
992 }
993
994 // Transform
995 UriUriW transformedUri;
996 if (backward_compatibility) {
997 res = uriAddBaseUriExW(&transformedUri, &relUri, &baseUri, URI_RESOLVE_IDENTICAL_SCHEME_COMPAT);
998 } else {
999 res = uriAddBaseUriW(&transformedUri, &relUri, &baseUri);
1000 }
1001
1002 if (res != 0) {
1003 uriFreeUriMembersW(&baseUri);
1004 uriFreeUriMembersW(&relUri);
1005 uriFreeUriMembersW(&expectedUri);
1006 uriFreeUriMembersW(&transformedUri);
1007 return false;
1008 }
1009
1010 const bool equal = (URI_TRUE == uriEqualsUriW(&transformedUri, &expectedUri));
1011 if (!equal) {
1012 wchar_t transformedUriText[1024 * 8];
1013 wchar_t expectedUriText[1024 * 8];
1014 uriToStringW(transformedUriText, &transformedUri, 1024 * 8, NULL);
1015 uriToStringW(expectedUriText, &expectedUri, 1024 * 8, NULL);
1016#ifdef HAVE_WPRINTF
1017 wprintf(L"\n\n\nExpected: \"%s\"\nReceived: \"%s\"\n\n\n", expectedUriText, transformedUriText);
1018#endif

Callers 1

TESTFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected