Package: liburiparser1
Version: 0.8.0.1-2
Severity: normal

Dear Maintainer,

here is test program with expected empty output:

***********************************************
#include <stdio.h>
#include <uriparser/Uri.h>


int test(const char *ref, const char *base, const char *expected) {
        UriParserStateA stateA;

        // Base
        UriUriA baseUri;
        stateA.uri = &baseUri;
        int res = uriParseUriA(&stateA, base);
        if (res != 0) {
                return 0;
        }

        // Rel
        UriUriA relUri;
        stateA.uri = &relUri;
        res = uriParseUriA(&stateA, ref);
        if (res != 0) {
                uriFreeUriMembersA(&baseUri);
                return 0;
        }

        // Expected result
        UriUriA expectedUri;
        stateA.uri = &expectedUri;
        res = uriParseUriA(&stateA, expected);
        if (res != 0) {
                uriFreeUriMembersA(&baseUri);
                uriFreeUriMembersA(&relUri);
                uriFreeUriMembersA(&expectedUri);
                return 0;
        }

        // Transform
        UriUriA transformedUri;
        res = uriAddBaseUriA(&transformedUri, &relUri, &baseUri);
        if (res != 0) {
                uriFreeUriMembersA(&baseUri);
                uriFreeUriMembersA(&relUri);
                uriFreeUriMembersA(&expectedUri);
                uriFreeUriMembersA(&transformedUri);
                return 0;
        }

        const int equal = (URI_TRUE == uriEqualsUriA(&transformedUri, 
&expectedUri));
        if (!equal) {
                char transformedUriText[1024 * 8];
                char expectedUriText[1024 * 8];
                uriToStringA(transformedUriText, &transformedUri, 1024 * 8, 
NULL);
                uriToStringA(expectedUriText, &expectedUri, 1024 * 8, NULL);
                printf("\n\n\nExpected: \"%s\"\nReceived: \"%s\"\n\n\n", 
expectedUriText, transformedUriText);
        }

        uriFreeUriMembersA(&baseUri);
        uriFreeUriMembersA(&relUri);
        uriFreeUriMembersA(&expectedUri);
        uriFreeUriMembersA(&transformedUri);
        return equal;
}

int main(int argc, char *argv[]) {

        return test("/", "http://example.com/a";, "http://example.com/";);
}
***********************************************

But actual output is:


Expected: "http://example.com/";
Received: "http://example.com/a";



-- System Information:
Debian Release: jessie/sid
  APT prefers trusty-updates
  APT policy: (500, 'trusty-updates'), (500, 'trusty-security'), (500, 
'trusty'), (100, 'trusty-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.13.0-34-generic (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages liburiparser1 depends on:
ii  libc6  2.19-0ubuntu6.3

liburiparser1 recommends no packages.

liburiparser1 suggests no packages.

-- no debconf information


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to