From 68272bac314675ac80d299825538d366fcb7eb8e Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Thu, 4 Nov 2010 13:01:42 +0100 Subject: [PATCH] urlmon: Compute expected Uri_HAS_* flags from property arrays. --- dlls/urlmon/tests/uri.c | 621 +++------------------------------------- 1 file changed, 32 insertions(+), 589 deletions(-) diff --git a/dlls/urlmon/tests/uri.c b/dlls/urlmon/tests/uri.c index 7b59e7f08c9..51a06943daa 100644 --- a/dlls/urlmon/tests/uri.c +++ b/dlls/urlmon/tests/uri.c @@ -75,8 +75,6 @@ typedef struct _uri_properties { DWORD create_flags; HRESULT create_expected; BOOL create_todo; - DWORD props; - BOOL props_todo; uri_str_property str_props[URI_STR_PROPERTY_COUNT]; uri_dword_property dword_props[URI_DWORD_PROPERTY_COUNT]; @@ -84,11 +82,6 @@ typedef struct _uri_properties { static const uri_properties uri_tests[] = { { "http://www.winehq.org/tests/../tests/../..", 0, S_OK, FALSE, - /* A flag bitmap containing all the Uri_HAS_* flags that correspond to this uri. */ - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE| - Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://www.winehq.org/",S_OK,FALSE}, /* ABSOLUTE_URI */ {"www.winehq.org",S_OK,FALSE}, /* AUTHORITY */ @@ -114,10 +107,6 @@ static const uri_properties uri_tests[] = { } }, { "http://winehq.org/tests/.././tests", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE| - Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://winehq.org/tests",S_OK,FALSE}, {"winehq.org",S_OK,FALSE}, @@ -143,10 +132,6 @@ static const uri_properties uri_tests[] = { } }, { "HtTp://www.winehq.org/tests/..?query=x&return=y", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_HOST| - Uri_HAS_DOMAIN|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://www.winehq.org/?query=x&return=y",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -172,10 +157,6 @@ static const uri_properties uri_tests[] = { } }, { "hTTp://us%45r%3Ainfo@examp%4CE.com:80/path/a/b/./c/../%2E%2E/Forbidden'<|> Characters", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_HOST|Uri_HAS_PATH| - Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_USER_INFO|Uri_HAS_USER_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://usEr%3Ainfo@example.com/path/a/Forbidden'%3C%7C%3E%20Characters",S_OK,FALSE}, {"usEr%3Ainfo@example.com",S_OK,FALSE}, @@ -201,11 +182,6 @@ static const uri_properties uri_tests[] = { } }, { "ftp://winepass:wine@ftp.winehq.org:9999/dir/foo bar.txt", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_EXTENSION| - Uri_HAS_HOST|Uri_HAS_PASSWORD|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_USER_INFO|Uri_HAS_USER_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT| - Uri_HAS_SCHEME, - FALSE, { {"ftp://winepass:wine@ftp.winehq.org:9999/dir/foo%20bar.txt",S_OK,FALSE}, {"winepass:wine@ftp.winehq.org:9999",S_OK,FALSE}, @@ -231,9 +207,6 @@ static const uri_properties uri_tests[] = { } }, { "file://c:\\tests\\../tests/foo%20bar.mp3", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH| - Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"file:///c:/tests/foo%2520bar.mp3",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -259,9 +232,6 @@ static const uri_properties uri_tests[] = { } }, { "FILE://localhost/test dir\\../tests/test%20file.README.txt", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH| - Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"file:///tests/test%20file.README.txt",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -287,9 +257,6 @@ static const uri_properties uri_tests[] = { } }, { "urn:nothing:should:happen here", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY| - Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"urn:nothing:should:happen here",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -315,10 +282,6 @@ static const uri_properties uri_tests[] = { } }, { "http://127.0.0.1/tests/../test dir/./test.txt", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://127.0.0.1/test%20dir/test.txt",S_OK,FALSE}, {"127.0.0.1",S_OK,FALSE}, @@ -344,10 +307,6 @@ static const uri_properties uri_tests[] = { } }, { "http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://[fedc:ba98:7654:3210:fedc:ba98:7654:3210]/",S_OK,FALSE}, {"[fedc:ba98:7654:3210:fedc:ba98:7654:3210]",S_OK,FALSE}, @@ -373,10 +332,6 @@ static const uri_properties uri_tests[] = { } }, { "ftp://[::13.1.68.3]", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"ftp://[::13.1.68.3]/",S_OK,FALSE}, {"[::13.1.68.3]",S_OK,FALSE}, @@ -402,10 +357,6 @@ static const uri_properties uri_tests[] = { } }, { "http://[FEDC:BA98:0:0:0:0:0:3210]", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://[fedc:ba98::3210]/",S_OK,FALSE}, {"[fedc:ba98::3210]",S_OK,FALSE}, @@ -431,10 +382,6 @@ static const uri_properties uri_tests[] = { } }, { "1234://www.winehq.org", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"1234://www.winehq.org/",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -461,9 +408,6 @@ static const uri_properties uri_tests[] = { }, /* Test's to make sure the parser/canonicalizer handles implicit file schemes correctly. */ { "C:/test/test.mp3", Uri_CREATE_ALLOW_IMPLICIT_FILE_SCHEME, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH| - Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"file:///C:/test/test.mp3",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -490,10 +434,6 @@ static const uri_properties uri_tests[] = { }, /* Test's to make sure the parser/canonicalizer handles implicit file schemes correctly. */ { "\\\\Server/test.mp3", Uri_CREATE_ALLOW_IMPLICIT_FILE_SCHEME, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_HOST|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"file://server/test.mp3",S_OK,FALSE}, {"server",S_OK,FALSE}, @@ -519,10 +459,6 @@ static const uri_properties uri_tests[] = { } }, { "www.winehq.org/test", Uri_CREATE_ALLOW_IMPLICIT_WILDCARD_SCHEME, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE| - Uri_HAS_SCHEME, - FALSE, { {"*:www.winehq.org/test",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -549,10 +485,6 @@ static const uri_properties uri_tests[] = { }, /* Valid since the '*' is the only character in the scheme name. */ { "*:www.winehq.org/test", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE| - Uri_HAS_SCHEME, - FALSE, { {"*:www.winehq.org/test",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -578,9 +510,6 @@ static const uri_properties uri_tests[] = { } }, { "/../some dir/test.ext", Uri_CREATE_ALLOW_RELATIVE, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH| - Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"/../some dir/test.ext",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -606,9 +535,6 @@ static const uri_properties uri_tests[] = { } }, { "//implicit/wildcard/uri scheme", Uri_CREATE_ALLOW_RELATIVE|Uri_CREATE_ALLOW_IMPLICIT_WILDCARD_SCHEME, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST|Uri_HAS_PATH| - Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"*://implicit/wildcard/uri%20scheme",S_OK,FALSE}, {"",S_OK,FALSE}, @@ -635,10 +561,6 @@ static const uri_properties uri_tests[] = { }, /* URI is considered opaque since CREATE_NO_CRACK_UNKNOWN_SCHEMES is set and its an unknown scheme. */ { "zip://google.com", Uri_CREATE_NO_CRACK_UNKNOWN_SCHEMES, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH| - Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME_NAME| - Uri_HAS_SCHEME, - FALSE, { {"zip:/.//google.com",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -665,11 +587,6 @@ static const uri_properties uri_tests[] = { }, /* Windows uses the first occurrence of ':' to delimit the userinfo. */ { "ftp://user:pass:word@winehq.org/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PASSWORD|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_USER_INFO|Uri_HAS_USER_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT| - Uri_HAS_SCHEME, - FALSE, { {"ftp://user:pass:word@winehq.org/",S_OK,FALSE}, {"user:pass:word@winehq.org",S_OK,FALSE}, @@ -696,11 +613,6 @@ static const uri_properties uri_tests[] = { }, /* Make sure % encoded unreserved characters are decoded. */ { "ftp://w%49%4Ee:PA%53%53@ftp.google.com/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PASSWORD|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_USER_INFO|Uri_HAS_USER_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT| - Uri_HAS_SCHEME, - FALSE, { {"ftp://wINe:PASS@ftp.google.com/",S_OK,FALSE}, {"wINe:PASS@ftp.google.com",S_OK,FALSE}, @@ -727,11 +639,6 @@ static const uri_properties uri_tests[] = { }, /* Make sure % encoded characters which are NOT unreserved are NOT decoded. */ { "ftp://w%5D%5Be:PA%7B%7D@ftp.google.com/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PASSWORD|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_USER_INFO|Uri_HAS_USER_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT| - Uri_HAS_SCHEME, - FALSE, { {"ftp://w%5D%5Be:PA%7B%7D@ftp.google.com/",S_OK,FALSE}, {"w%5D%5Be:PA%7B%7D@ftp.google.com",S_OK,FALSE}, @@ -758,11 +665,6 @@ static const uri_properties uri_tests[] = { }, /* You're allowed to have an empty password portion in the userinfo section. */ { "ftp://empty:@ftp.google.com/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PASSWORD|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_USER_INFO|Uri_HAS_USER_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT| - Uri_HAS_SCHEME, - FALSE, { {"ftp://empty:@ftp.google.com/",S_OK,FALSE}, {"empty:@ftp.google.com",S_OK,FALSE}, @@ -789,11 +691,6 @@ static const uri_properties uri_tests[] = { }, /* Make sure forbidden characters in "userinfo" get encoded. */ { "ftp://\" \"weird@ftp.google.com/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_USER_INFO|Uri_HAS_USER_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT| - Uri_HAS_SCHEME, - FALSE, { {"ftp://%22%20%22weird@ftp.google.com/",S_OK,FALSE}, {"%22%20%22weird@ftp.google.com",S_OK,FALSE}, @@ -820,11 +717,6 @@ static const uri_properties uri_tests[] = { }, /* Make sure the forbidden characters don't get percent encoded. */ { "ftp://\" \"weird@ftp.google.com/", Uri_CREATE_NO_ENCODE_FORBIDDEN_CHARACTERS, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_USER_INFO|Uri_HAS_USER_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT| - Uri_HAS_SCHEME, - FALSE, { {"ftp://\" \"weird@ftp.google.com/",S_OK,FALSE}, {"\" \"weird@ftp.google.com",S_OK,FALSE}, @@ -851,10 +743,6 @@ static const uri_properties uri_tests[] = { }, /* Allowed to have invalid % encoded because its an unknown scheme type. */ { "zip://%xy:word@winehq.org/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PASSWORD|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_USER_INFO|Uri_HAS_USER_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://%xy:word@winehq.org/",S_OK,FALSE}, {"%xy:word@winehq.org",S_OK,FALSE}, @@ -883,10 +771,6 @@ static const uri_properties uri_tests[] = { * isn't known. */ { "zip://%2E:%52%53ord@winehq.org/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PASSWORD|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_USER_INFO|Uri_HAS_USER_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://%2E:%52%53ord@winehq.org/",S_OK,FALSE}, {"%2E:%52%53ord@winehq.org",S_OK,FALSE}, @@ -912,11 +796,6 @@ static const uri_properties uri_tests[] = { } }, { "ftp://[](),'test':word@winehq.org/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PASSWORD|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_USER_INFO|Uri_HAS_USER_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT| - Uri_HAS_SCHEME, - FALSE, { {"ftp://[](),'test':word@winehq.org/",S_OK,FALSE}, {"[](),'test':word@winehq.org",S_OK,FALSE}, @@ -942,10 +821,6 @@ static const uri_properties uri_tests[] = { } }, { "ftp://test?:word@winehq.org/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"ftp://test/?:word@winehq.org/",S_OK,FALSE}, {"test",S_OK,FALSE}, @@ -971,10 +846,6 @@ static const uri_properties uri_tests[] = { } }, { "ftp://test#:word@winehq.org/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_FRAGMENT|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"ftp://test/#:word@winehq.org/",S_OK,FALSE}, {"test",S_OK,FALSE}, @@ -1001,10 +872,6 @@ static const uri_properties uri_tests[] = { }, /* Allowed to have a backslash in the userinfo since it's an unknown scheme. */ { "zip://test\\:word@winehq.org/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_HOST| - Uri_HAS_PASSWORD|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_USER_INFO|Uri_HAS_USER_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://test\\:word@winehq.org/",S_OK,FALSE}, {"test\\:word@winehq.org",S_OK,FALSE}, @@ -1031,10 +898,6 @@ static const uri_properties uri_tests[] = { }, /* It normalizes IPv4 addresses correctly. */ { "http://127.000.000.100/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://127.0.0.100/",S_OK,FALSE}, {"127.0.0.100",S_OK,FALSE}, @@ -1061,10 +924,6 @@ static const uri_properties uri_tests[] = { }, /* Make sure it normalizes partial IPv4 addresses correctly. */ { "http://127.0/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://127.0.0.0/",S_OK,FALSE}, {"127.0.0.0",S_OK,FALSE}, @@ -1091,10 +950,6 @@ static const uri_properties uri_tests[] = { }, /* Make sure it converts implicit IPv4's correctly. */ { "http://123456/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://0.1.226.64/",S_OK,FALSE}, {"0.1.226.64",S_OK,FALSE}, @@ -1121,10 +976,6 @@ static const uri_properties uri_tests[] = { }, /* UINT_MAX */ { "http://4294967295/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://255.255.255.255/",S_OK,FALSE}, {"255.255.255.255",S_OK,FALSE}, @@ -1151,10 +1002,6 @@ static const uri_properties uri_tests[] = { }, /* UINT_MAX+1 */ { "http://4294967296/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://4294967296/",S_OK,FALSE}, {"4294967296",S_OK,FALSE}, @@ -1181,10 +1028,6 @@ static const uri_properties uri_tests[] = { }, /* Window's doesn't normalize IP address for unknown schemes. */ { "1234://4294967295/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"1234://4294967295/",S_OK,FALSE}, {"4294967295",S_OK,FALSE}, @@ -1211,10 +1054,6 @@ static const uri_properties uri_tests[] = { }, /* Window's doesn't normalize IP address for unknown schemes. */ { "1234://127.001/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"1234://127.001/",S_OK,FALSE}, {"127.001",S_OK,FALSE}, @@ -1240,10 +1079,6 @@ static const uri_properties uri_tests[] = { } }, { "http://[FEDC:BA98::3210]", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://[fedc:ba98::3210]/",S_OK,FALSE}, {"[fedc:ba98::3210]",S_OK,FALSE}, @@ -1269,10 +1104,6 @@ static const uri_properties uri_tests[] = { } }, { "http://[::]", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://[::]/",S_OK,FALSE}, {"[::]",S_OK,FALSE}, @@ -1298,10 +1129,6 @@ static const uri_properties uri_tests[] = { } }, { "http://[FEDC:BA98::]", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://[fedc:ba98::]/",S_OK,FALSE}, {"[fedc:ba98::]",S_OK,FALSE}, @@ -1328,10 +1155,6 @@ static const uri_properties uri_tests[] = { }, /* Valid even with 2 byte elision because it doesn't appear the beginning or end. */ { "http://[1::3:4:5:6:7:8]", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://[1:0:3:4:5:6:7:8]/",S_OK,FALSE}, {"[1:0:3:4:5:6:7:8]",S_OK,FALSE}, @@ -1357,10 +1180,6 @@ static const uri_properties uri_tests[] = { } }, { "http://[v2.34]/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://[v2.34]/",S_OK,FALSE}, {"[v2.34]",S_OK,FALSE}, @@ -1387,10 +1206,6 @@ static const uri_properties uri_tests[] = { }, /* Windows ignores ':' if they appear after a '[' on a non-IPLiteral host. */ { "http://[xyz:12345.com/test", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://[xyz:12345.com/test",S_OK,FALSE}, {"[xyz:12345.com",S_OK,FALSE}, @@ -1419,10 +1234,6 @@ static const uri_properties uri_tests[] = { * of the host name (respectively). */ { "ftp://www.[works].com/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"ftp://www.[works].com/",S_OK,FALSE}, {"www.[works].com",S_OK,FALSE}, @@ -1449,10 +1260,6 @@ static const uri_properties uri_tests[] = { }, /* Considers ':' a delimiter since it appears after the ']'. */ { "http://www.google.com]:12345/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://www.google.com]:12345/",S_OK,FALSE}, {"www.google.com]:12345",S_OK,FALSE}, @@ -1479,10 +1286,6 @@ static const uri_properties uri_tests[] = { }, /* Unknown scheme types can have invalid % encoded data in the hostname. */ { "zip://w%XXw%GEw.google.com/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://w%XXw%GEw.google.com/",S_OK,FALSE}, {"w%XXw%GEw.google.com",S_OK,FALSE}, @@ -1509,10 +1312,6 @@ static const uri_properties uri_tests[] = { }, /* Unknown scheme types hostname doesn't get lower cased. */ { "zip://GOOGLE.com/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://GOOGLE.com/",S_OK,FALSE}, {"GOOGLE.com",S_OK,FALSE}, @@ -1539,10 +1338,6 @@ static const uri_properties uri_tests[] = { }, /* Hostname get's lower cased for known scheme types. */ { "http://WWW.GOOGLE.com/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://www.google.com/",S_OK,FALSE}, {"www.google.com",S_OK,FALSE}, @@ -1571,10 +1366,6 @@ static const uri_properties uri_tests[] = { * encoded forms lower cased. */ { "http://www.%7Cgoogle|.com/", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://www.%7cgoogle%7c.com/",S_OK,FALSE}, {"www.%7cgoogle%7c.com",S_OK,FALSE}, @@ -1601,10 +1392,6 @@ static const uri_properties uri_tests[] = { }, /* IPv4 addresses attached to IPv6 can be included in elisions. */ { "http://[1:2:3:4:5:6:0.0.0.0]", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://[1:2:3:4:5:6::]/",S_OK,FALSE}, {"[1:2:3:4:5:6::]",S_OK,FALSE}, @@ -1631,10 +1418,6 @@ static const uri_properties uri_tests[] = { }, /* IPv4 addresses get normalized. */ { "http://[::001.002.003.000]", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://[::1.2.3.0]/",S_OK,FALSE}, {"[::1.2.3.0]",S_OK,FALSE}, @@ -1661,10 +1444,6 @@ static const uri_properties uri_tests[] = { }, /* Windows doesn't do anything to IPv6's in unknown schemes. */ { "zip://[0001:0:000:0004:0005:0006:001.002.003.000]", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://[0001:0:000:0004:0005:0006:001.002.003.000]/",S_OK,FALSE}, {"[0001:0:000:0004:0005:0006:001.002.003.000]",S_OK,FALSE}, @@ -1691,10 +1470,6 @@ static const uri_properties uri_tests[] = { }, /* IPv4 address is converted into 2 h16 components. */ { "http://[ffff::192.222.111.32]", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://[ffff::c0de:6f20]/",S_OK,FALSE}, {"[ffff::c0de:6f20]",S_OK,FALSE}, @@ -1721,10 +1496,6 @@ static const uri_properties uri_tests[] = { }, /* Max value for a port. */ { "http://google.com:65535", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://google.com:65535/",S_OK,FALSE}, {"google.com:65535",S_OK,FALSE}, @@ -1750,10 +1521,6 @@ static const uri_properties uri_tests[] = { } }, { "zip://google.com:65536", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://google.com:65536/",S_OK,FALSE}, {"google.com:65536",S_OK,FALSE}, @@ -1779,10 +1546,6 @@ static const uri_properties uri_tests[] = { } }, { "zip://google.com:65536:25", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://google.com:65536:25/",S_OK,FALSE}, {"google.com:65536:25",S_OK,FALSE}, @@ -1808,10 +1571,6 @@ static const uri_properties uri_tests[] = { } }, { "zip://[::ffff]:abcd", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://[::ffff]:abcd/",S_OK,FALSE}, {"[::ffff]:abcd",S_OK,FALSE}, @@ -1837,10 +1596,6 @@ static const uri_properties uri_tests[] = { } }, { "zip://127.0.0.1:abcd", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://127.0.0.1:abcd/",S_OK,FALSE}, {"127.0.0.1:abcd",S_OK,FALSE}, @@ -1867,9 +1622,6 @@ static const uri_properties uri_tests[] = { }, /* Port is just copied over. */ { "http://google.com:00035", Uri_CREATE_NO_CANONICALIZE, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://google.com:00035",S_OK,FALSE}, {"google.com:00035",S_OK,FALSE}, @@ -1896,9 +1648,6 @@ static const uri_properties uri_tests[] = { }, /* Default port is copied over. */ { "http://google.com:80", Uri_CREATE_NO_CANONICALIZE, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://google.com:80",S_OK,FALSE}, {"google.com:80",S_OK,FALSE}, @@ -1924,10 +1673,6 @@ static const uri_properties uri_tests[] = { } }, { "http://google.com.uk", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://google.com.uk/",S_OK,FALSE}, {"google.com.uk",S_OK,FALSE}, @@ -1953,10 +1698,6 @@ static const uri_properties uri_tests[] = { } }, { "http://google.com.com", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://google.com.com/",S_OK,FALSE}, {"google.com.com",S_OK,FALSE}, @@ -1982,10 +1723,6 @@ static const uri_properties uri_tests[] = { } }, { "http://google.uk.1", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://google.uk.1/",S_OK,FALSE}, {"google.uk.1",S_OK,FALSE}, @@ -2012,10 +1749,6 @@ static const uri_properties uri_tests[] = { }, /* Since foo isn't a recognized 3 character TLD its considered the domain name. */ { "http://google.foo.uk", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://google.foo.uk/",S_OK,FALSE}, {"google.foo.uk",S_OK,FALSE}, @@ -2041,10 +1774,6 @@ static const uri_properties uri_tests[] = { } }, { "http://.com", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://.com/",S_OK,FALSE}, {".com",S_OK,FALSE}, @@ -2070,10 +1799,6 @@ static const uri_properties uri_tests[] = { } }, { "http://.uk", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://.uk/",S_OK,FALSE}, {".uk",S_OK,FALSE}, @@ -2099,10 +1824,6 @@ static const uri_properties uri_tests[] = { } }, { "http://www.co.google.com.[]", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://www.co.google.com.[]/",S_OK,FALSE}, {"www.co.google.com.[]",S_OK,FALSE}, @@ -2128,10 +1849,6 @@ static const uri_properties uri_tests[] = { } }, { "http://co.uk", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://co.uk/",S_OK,FALSE}, {"co.uk",S_OK,FALSE}, @@ -2157,10 +1874,6 @@ static const uri_properties uri_tests[] = { } }, { "http://www.co.google.us.test", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://www.co.google.us.test/",S_OK,FALSE}, {"www.co.google.us.test",S_OK,FALSE}, @@ -2186,10 +1899,6 @@ static const uri_properties uri_tests[] = { } }, { "http://gov.uk", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://gov.uk/",S_OK,FALSE}, {"gov.uk",S_OK,FALSE}, @@ -2215,9 +1924,6 @@ static const uri_properties uri_tests[] = { } }, { "zip://www.google.com\\test", Uri_CREATE_NO_CANONICALIZE, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://www.google.com\\test",S_OK,FALSE}, {"www.google.com\\test",S_OK,FALSE}, @@ -2243,9 +1949,6 @@ static const uri_properties uri_tests[] = { } }, { "urn:excepts:bad:%XY:encoded", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY| - Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"urn:excepts:bad:%XY:encoded",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -2274,9 +1977,6 @@ static const uri_properties uri_tests[] = { * are decoded and all '%' are encoded. */ { "file://C:/te%3Es%2Et/tes%t.mp3", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH| - Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"file:///C:/te%253Es%252Et/tes%25t.mp3",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -2305,9 +2005,6 @@ static const uri_properties uri_tests[] = { * is decoded and only %'s in front of invalid hex digits are encoded. */ { "file:///C:/te%3Es%2Et/t%23es%t.mp3", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH| - Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"file:///C:/te%3Es.t/t#es%25t.mp3",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -2334,10 +2031,6 @@ static const uri_properties uri_tests[] = { }, /* Only unreserved percent encoded characters are decoded for known schemes that aren't file. */ { "http://[::001.002.003.000]/%3F%23%2E%54/test", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://[::1.2.3.0]/%3F%23.T/test",S_OK,FALSE}, {"[::1.2.3.0]",S_OK,FALSE}, @@ -2364,9 +2057,6 @@ static const uri_properties uri_tests[] = { }, /* Forbidden characters are always encoded for file URIs. */ { "file:///C:/\"test\"/test.mp3", Uri_CREATE_NO_ENCODE_FORBIDDEN_CHARACTERS, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH| - Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"file:///C:/%22test%22/test.mp3",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -2393,10 +2083,6 @@ static const uri_properties uri_tests[] = { }, /* Forbidden characters are never encoded for unknown scheme types. */ { "1234://4294967295/<|>\" test<|>", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"1234://4294967295/<|>\" test<|>",S_OK,FALSE}, {"4294967295",S_OK,FALSE}, @@ -2423,10 +2109,6 @@ static const uri_properties uri_tests[] = { }, /* Make sure forbidden characters are percent encoded. */ { "http://gov.uk/<|> test<|>", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://gov.uk/%3C%7C%3E%20test%3C%7C%3E",S_OK,FALSE}, {"gov.uk",S_OK,FALSE}, @@ -2452,10 +2134,6 @@ static const uri_properties uri_tests[] = { } }, { "http://gov.uk/test/../test2/././../test3/.././././", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://gov.uk/",S_OK,FALSE}, {"gov.uk",S_OK,FALSE}, @@ -2481,10 +2159,6 @@ static const uri_properties uri_tests[] = { } }, { "http://gov.uk/test/test2/../../..", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://gov.uk/",S_OK,FALSE}, {"gov.uk",S_OK,FALSE}, @@ -2510,10 +2184,6 @@ static const uri_properties uri_tests[] = { } }, { "http://gov.uk/test/test2/../../.", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://gov.uk/",S_OK,FALSE}, {"gov.uk",S_OK,FALSE}, @@ -2539,9 +2209,6 @@ static const uri_properties uri_tests[] = { } }, { "file://c:\\tests\\../tests\\./.\\..\\foo%20bar.mp3", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH| - Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"file:///c:/foo%2520bar.mp3",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -2568,10 +2235,6 @@ static const uri_properties uri_tests[] = { }, /* Dot removal happens for unknown scheme types. */ { "zip://gov.uk/test/test2/../../.", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://gov.uk/",S_OK,FALSE}, {"gov.uk",S_OK,FALSE}, @@ -2598,10 +2261,6 @@ static const uri_properties uri_tests[] = { }, /* Dot removal doesn't happen if NO_CANONICALIZE is set. */ { "http://gov.uk/test/test2/../../.", Uri_CREATE_NO_CANONICALIZE, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://gov.uk/test/test2/../../.",S_OK,FALSE}, {"gov.uk",S_OK,FALSE}, @@ -2628,10 +2287,6 @@ static const uri_properties uri_tests[] = { }, /* Dot removal doesn't happen for wildcard scheme types. */ { "*:gov.uk/test/test2/../../.", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"*:gov.uk/test/test2/../../.",S_OK,FALSE}, {"gov.uk",S_OK,FALSE}, @@ -2658,9 +2313,6 @@ static const uri_properties uri_tests[] = { }, /* Forbidden characters are encoded for opaque known scheme types. */ { "mailto:\"acco<|>unt@example.com\"", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY| - Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"mailto:%22acco%3C%7C%3Eunt@example.com%22",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -2686,9 +2338,6 @@ static const uri_properties uri_tests[] = { } }, { "news:test.tes<|>t.com", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY| - Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"news:test.tes%3C%7C%3Et.com",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -2715,9 +2364,6 @@ static const uri_properties uri_tests[] = { }, /* Don't encode forbidden characters. */ { "news:test.tes<|>t.com", Uri_CREATE_NO_ENCODE_FORBIDDEN_CHARACTERS, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY| - Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"news:test.tes<|>t.com",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -2744,9 +2390,6 @@ static const uri_properties uri_tests[] = { }, /* Forbidden characters aren't encoded for unknown, opaque URIs. */ { "urn:test.tes<|>t.com", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY| - Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"urn:test.tes<|>t.com",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -2773,9 +2416,6 @@ static const uri_properties uri_tests[] = { }, /* Percent encoded unreserved characters are decoded for known opaque URIs. */ { "news:test.%74%65%73%74.com", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY| - Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"news:test.test.com",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -2802,9 +2442,6 @@ static const uri_properties uri_tests[] = { }, /* Percent encoded characters are still decoded for known scheme types. */ { "news:test.%74%65%73%74.com", Uri_CREATE_NO_CANONICALIZE, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY| - Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"news:test.test.com",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -2831,9 +2468,6 @@ static const uri_properties uri_tests[] = { }, /* Percent encoded characters aren't decoded for unknown scheme types. */ { "urn:test.%74%65%73%74.com", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY| - Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"urn:test.%74%65%73%74.com",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -2860,10 +2494,6 @@ static const uri_properties uri_tests[] = { }, /* Unknown scheme types can have invalid % encoded data in query string. */ { "zip://www.winehq.org/tests/..?query=%xx&return=y", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_HOST| - Uri_HAS_DOMAIN|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://www.winehq.org/?query=%xx&return=y",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -2890,10 +2520,6 @@ static const uri_properties uri_tests[] = { }, /* Known scheme types can have invalid % encoded data with the right flags. */ { "http://www.winehq.org/tests/..?query=%xx&return=y", Uri_CREATE_NO_DECODE_EXTRA_INFO, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_HOST| - Uri_HAS_DOMAIN|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_PORT|Uri_HAS_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"http://www.winehq.org/?query=%xx&return=y",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -2920,10 +2546,6 @@ static const uri_properties uri_tests[] = { }, /* Forbidden characters in query aren't percent encoded for known scheme types with this flag. */ { "http://www.winehq.org/tests/..?query=<|>&return=y", Uri_CREATE_NO_DECODE_EXTRA_INFO, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_HOST| - Uri_HAS_DOMAIN|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_PORT|Uri_HAS_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"http://www.winehq.org/?query=<|>&return=y",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -2950,10 +2572,6 @@ static const uri_properties uri_tests[] = { }, /* Forbidden characters in query aren't percent encoded for known scheme types with this flag. */ { "http://www.winehq.org/tests/..?query=<|>&return=y", Uri_CREATE_NO_ENCODE_FORBIDDEN_CHARACTERS, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_HOST| - Uri_HAS_DOMAIN|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_PORT|Uri_HAS_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"http://www.winehq.org/?query=<|>&return=y",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -2980,10 +2598,6 @@ static const uri_properties uri_tests[] = { }, /* Forbidden characters are encoded for known scheme types. */ { "http://www.winehq.org/tests/..?query=<|>&return=y", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_HOST| - Uri_HAS_DOMAIN|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_PORT|Uri_HAS_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"http://www.winehq.org/?query=%3C%7C%3E&return=y",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -3010,10 +2624,6 @@ static const uri_properties uri_tests[] = { }, /* Forbidden characters are not encoded for unknown scheme types. */ { "zip://www.winehq.org/tests/..?query=<|>&return=y", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_HOST| - Uri_HAS_DOMAIN|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://www.winehq.org/?query=<|>&return=y",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -3040,10 +2650,6 @@ static const uri_properties uri_tests[] = { }, /* Percent encoded, unreserved characters are decoded for known scheme types. */ { "http://www.winehq.org/tests/..?query=%30%31&return=y", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_HOST| - Uri_HAS_DOMAIN|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_PORT|Uri_HAS_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"http://www.winehq.org/?query=01&return=y",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -3070,10 +2676,6 @@ static const uri_properties uri_tests[] = { }, /* Percent encoded, unreserved characters aren't decoded for unknown scheme types. */ { "zip://www.winehq.org/tests/..?query=%30%31&return=y", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_HOST| - Uri_HAS_DOMAIN|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://www.winehq.org/?query=%30%31&return=y",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -3100,10 +2702,6 @@ static const uri_properties uri_tests[] = { }, /* Percent encoded characters aren't decoded when NO_DECODE_EXTRA_INFO is set. */ { "http://www.winehq.org/tests/..?query=%30%31&return=y", Uri_CREATE_NO_DECODE_EXTRA_INFO, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_HOST| - Uri_HAS_DOMAIN|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_PORT|Uri_HAS_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"http://www.winehq.org/?query=%30%31&return=y",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -3129,10 +2727,6 @@ static const uri_properties uri_tests[] = { } }, { "http://www.winehq.org?query=12&return=y", Uri_CREATE_NO_CANONICALIZE, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_HOST| - Uri_HAS_DOMAIN|Uri_HAS_PATH_AND_QUERY|Uri_HAS_PORT|Uri_HAS_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"http://www.winehq.org?query=12&return=y",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -3159,10 +2753,6 @@ static const uri_properties uri_tests[] = { }, /* Unknown scheme types can have invalid % encoded data in fragments. */ { "zip://www.winehq.org/tests/#Te%xx", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_FRAGMENT| - Uri_HAS_HOST|Uri_HAS_DOMAIN|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://www.winehq.org/tests/#Te%xx",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -3189,10 +2779,6 @@ static const uri_properties uri_tests[] = { }, /* Forbidden characters in fragment aren't encoded for unknown schemes. */ { "zip://www.winehq.org/tests/#Te<|>", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_FRAGMENT| - Uri_HAS_HOST|Uri_HAS_DOMAIN|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://www.winehq.org/tests/#Te<|>",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -3219,10 +2805,6 @@ static const uri_properties uri_tests[] = { }, /* Forbidden characters in the fragment are percent encoded for known schemes. */ { "http://www.winehq.org/tests/#Te<|>", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_FRAGMENT| - Uri_HAS_HOST|Uri_HAS_DOMAIN|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://www.winehq.org/tests/#Te%3C%7C%3E",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -3249,10 +2831,6 @@ static const uri_properties uri_tests[] = { }, /* Forbidden characters aren't encoded in the fragment with this flag. */ { "http://www.winehq.org/tests/#Te<|>", Uri_CREATE_NO_DECODE_EXTRA_INFO, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_FRAGMENT| - Uri_HAS_HOST|Uri_HAS_DOMAIN|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://www.winehq.org/tests/#Te<|>",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -3279,10 +2857,6 @@ static const uri_properties uri_tests[] = { }, /* Forbidden characters aren't encoded in the fragment with this flag. */ { "http://www.winehq.org/tests/#Te<|>", Uri_CREATE_NO_ENCODE_FORBIDDEN_CHARACTERS, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_FRAGMENT| - Uri_HAS_HOST|Uri_HAS_DOMAIN|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://www.winehq.org/tests/#Te<|>",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -3309,10 +2883,6 @@ static const uri_properties uri_tests[] = { }, /* Percent encoded, unreserved characters aren't decoded for known scheme types. */ { "zip://www.winehq.org/tests/#Te%30%31%32", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_FRAGMENT| - Uri_HAS_HOST|Uri_HAS_DOMAIN|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://www.winehq.org/tests/#Te%30%31%32",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -3339,10 +2909,6 @@ static const uri_properties uri_tests[] = { }, /* Percent encoded, unreserved characters are decoded for known schemes. */ { "http://www.winehq.org/tests/#Te%30%31%32", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_FRAGMENT| - Uri_HAS_HOST|Uri_HAS_DOMAIN|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://www.winehq.org/tests/#Te012",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -3369,10 +2935,6 @@ static const uri_properties uri_tests[] = { }, /* Percent encoded, unreserved characters are decoded even if NO_CANONICALIZE is set. */ { "http://www.winehq.org/tests/#Te%30%31%32", Uri_CREATE_NO_CANONICALIZE, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_FRAGMENT| - Uri_HAS_HOST|Uri_HAS_DOMAIN|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://www.winehq.org/tests/#Te012",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -3399,10 +2961,6 @@ static const uri_properties uri_tests[] = { }, /* Percent encoded, unreserved characters aren't decoded when NO_DECODE_EXTRA is set. */ { "http://www.winehq.org/tests/#Te%30%31%32", Uri_CREATE_NO_DECODE_EXTRA_INFO, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN|Uri_HAS_FRAGMENT| - Uri_HAS_HOST|Uri_HAS_DOMAIN|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://www.winehq.org/tests/#Te%30%31%32",S_OK,FALSE}, {"www.winehq.org",S_OK,FALSE}, @@ -3429,10 +2987,6 @@ static const uri_properties uri_tests[] = { }, /* Leading/Trailing whitespace is removed. */ { " http://google.com/ ", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://google.com/",S_OK,FALSE}, {"google.com",S_OK,FALSE}, @@ -3458,10 +3012,6 @@ static const uri_properties uri_tests[] = { } }, { "\t\t\r\nhttp\n://g\noogle.co\rm/\n\n\n", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://google.com/",S_OK,FALSE}, {"google.com",S_OK,FALSE}, @@ -3487,10 +3037,6 @@ static const uri_properties uri_tests[] = { } }, { "http://g\noogle.co\rm/\n\n\n", Uri_CREATE_NO_PRE_PROCESS_HTML_URI, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://g%0aoogle.co%0dm/%0A%0A%0A",S_OK,FALSE}, {"g%0aoogle.co%0dm",S_OK,FALSE}, @@ -3516,10 +3062,6 @@ static const uri_properties uri_tests[] = { } }, { "zip://g\noogle.co\rm/\n\n\n", Uri_CREATE_NO_PRE_PROCESS_HTML_URI, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://g\noogle.co\rm/\n\n\n",S_OK,FALSE}, {"g\noogle.co\rm",S_OK,FALSE}, @@ -3548,8 +3090,6 @@ static const uri_properties uri_tests[] = { * for the absolute URI property since it was declared as an opaque URI. */ { "file:index.html", 0, S_OK, FALSE, - Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY - |Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, FALSE, { {"",S_FALSE,FALSE}, {"",S_FALSE,FALSE}, @@ -3576,8 +3116,6 @@ static const uri_properties uri_tests[] = { }, /* Doesn't have an absolute since it's opaque, but gets it port set. */ { "http:test.com/index.html", 0, S_OK, FALSE, - Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY - |Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, FALSE, { {"",S_FALSE,FALSE}, {"",S_FALSE,FALSE}, @@ -3603,8 +3141,6 @@ static const uri_properties uri_tests[] = { } }, { "ftp:test.com/index.html", 0, S_OK, FALSE, - Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY - |Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, FALSE, { {"",S_FALSE,FALSE}, {"",S_FALSE,FALSE}, @@ -3630,9 +3166,6 @@ static const uri_properties uri_tests[] = { } }, { "file://C|/test.mp3", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH| - Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"file:///C:/test.mp3",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -3658,9 +3191,6 @@ static const uri_properties uri_tests[] = { } }, { "file:///C|/test.mp3", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH| - Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"file:///C:/test.mp3",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -3689,9 +3219,6 @@ static const uri_properties uri_tests[] = { * to '\\'. */ { "file://c:/dir/index.html", Uri_CREATE_FILE_USE_DOS_PATH, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH - |Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE - |Uri_HAS_SCHEME, FALSE, { {"file://c:\\dir\\index.html",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -3718,9 +3245,6 @@ static const uri_properties uri_tests[] = { }, /* Extra '/' after "file://" is removed. */ { "file:///c:/dir/index.html", Uri_CREATE_FILE_USE_DOS_PATH, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH - |Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE - |Uri_HAS_SCHEME, FALSE, { {"file://c:\\dir\\index.html",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -3747,9 +3271,6 @@ static const uri_properties uri_tests[] = { }, /* Allow more characters when Uri_CREATE_FILE_USE_DOS_PATH is specified */ { "file:///c:/dir\%%61%20%5Fname/file%2A.html", Uri_CREATE_FILE_USE_DOS_PATH, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH - |Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE - |Uri_HAS_SCHEME, FALSE, { {"file://c:\\dir\%a _name\\file*.html",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -3775,9 +3296,6 @@ static const uri_properties uri_tests[] = { } }, { "file://c|/dir\\index.html", Uri_CREATE_FILE_USE_DOS_PATH, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH - |Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE - |Uri_HAS_SCHEME, FALSE, { {"file://c:\\dir\\index.html",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -3804,9 +3322,6 @@ static const uri_properties uri_tests[] = { }, /* The backslashes after the scheme name are converted to forward slashes. */ { "file:\\\\c:\\dir\\index.html", Uri_CREATE_FILE_USE_DOS_PATH, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH - |Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE - |Uri_HAS_SCHEME, FALSE, { {"file://c:\\dir\\index.html",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -3832,9 +3347,6 @@ static const uri_properties uri_tests[] = { } }, { "file:\\\\c:/dir/index.html", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH - |Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE - |Uri_HAS_SCHEME, FALSE, { {"file:///c:/dir/index.html",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -3860,10 +3372,6 @@ static const uri_properties uri_tests[] = { } }, { "http:\\\\google.com", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://google.com/",S_OK,FALSE}, {"google.com",S_OK,FALSE}, @@ -3890,10 +3398,6 @@ static const uri_properties uri_tests[] = { }, /* the "\\\\" aren't converted to "//" for unknown scheme types and it's considered opaque. */ { "zip:\\\\google.com", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH| - Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_SCHEME| - Uri_HAS_HOST_TYPE, - FALSE, { {"zip:\\\\google.com",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -3920,9 +3424,6 @@ static const uri_properties uri_tests[] = { }, /* Dot segments aren't removed. */ { "file://c:\\dir\\../..\\./index.html", Uri_CREATE_FILE_USE_DOS_PATH, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH - |Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE - |Uri_HAS_SCHEME, FALSE, { {"file://c:\\dir\\..\\..\\.\\index.html",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -3949,9 +3450,6 @@ static const uri_properties uri_tests[] = { }, /* Forbidden characters aren't percent encoded. */ { "file://c:\\dir\\i^|ndex.html", Uri_CREATE_FILE_USE_DOS_PATH, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH - |Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE - |Uri_HAS_SCHEME, FALSE, { {"file://c:\\dir\\i^|ndex.html",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -3978,8 +3476,6 @@ static const uri_properties uri_tests[] = { }, /* The '\' are still converted to '/' even though it's an opaque file URI. */ { "file:c:\\dir\\../..\\index.html", 0, S_OK, FALSE, - Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY - |Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, FALSE, { {"",S_FALSE,FALSE}, {"",S_FALSE,FALSE}, @@ -4006,8 +3502,6 @@ static const uri_properties uri_tests[] = { }, /* '/' are still converted to '\' even though it's an opaque URI. */ { "file:c:/dir\\../..\\index.html", Uri_CREATE_FILE_USE_DOS_PATH, S_OK, FALSE, - Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY - |Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, FALSE, { {"",S_FALSE,FALSE}, {"",S_FALSE,FALSE}, @@ -4034,8 +3528,6 @@ static const uri_properties uri_tests[] = { }, /* Forbidden characters aren't percent encoded. */ { "file:c:\\in^|dex.html", Uri_CREATE_FILE_USE_DOS_PATH, S_OK, FALSE, - Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY - |Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, FALSE, { {"",S_FALSE,FALSE}, {"",S_FALSE,FALSE}, @@ -4064,10 +3556,6 @@ static const uri_properties uri_tests[] = { * userinfo section. */ { "http://:password@gov.uk", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PASSWORD|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_USER_INFO|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://:password@gov.uk/",S_OK,FALSE}, {":password@gov.uk",S_OK,FALSE}, @@ -4094,10 +3582,6 @@ static const uri_properties uri_tests[] = { }, /* Has a UserName since the userinfo section doesn't contain a password. */ { "http://@gov.uk", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_USER_INFO|Uri_HAS_USER_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://gov.uk/",S_OK,FALSE,"http://@gov.uk/"}, {"@gov.uk",S_OK,FALSE}, @@ -4124,10 +3608,6 @@ static const uri_properties uri_tests[] = { }, /* ":@" not included in the absolute URI. */ { "http://:@gov.uk", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PASSWORD|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_USER_INFO|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://gov.uk/",S_OK,FALSE,"http://:@gov.uk/"}, {":@gov.uk",S_OK,FALSE}, @@ -4154,10 +3634,6 @@ static const uri_properties uri_tests[] = { }, /* '@' is included because it's an unknown scheme type. */ { "zip://@gov.uk", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME| - Uri_HAS_USER_INFO|Uri_HAS_USER_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://@gov.uk/",S_OK,FALSE}, {"@gov.uk",S_OK,FALSE}, @@ -4184,10 +3660,6 @@ static const uri_properties uri_tests[] = { }, /* ":@" are included because it's an unknown scheme type. */ { "zip://:@gov.uk", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_HOST| - Uri_HAS_PASSWORD|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_USER_INFO|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"zip://:@gov.uk/",S_OK,FALSE}, {":@gov.uk",S_OK,FALSE}, @@ -4213,9 +3685,6 @@ static const uri_properties uri_tests[] = { } }, { "about:blank", 0, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"about:blank",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -4241,9 +3710,6 @@ static const uri_properties uri_tests[] = { } }, { "mk:@MSITStore:C:\\Program Files/AutoCAD 2008\\Help/acad_acg.chm::/WSfacf1429558a55de1a7524c1004e616f8b-322b.htm",0,S_OK,FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY| - Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"mk:@MSITStore:C:\\Program%20Files/AutoCAD%202008\\Help/acad_acg.chm::/WSfacf1429558a55de1a7524c1004e616f8b-322b.htm",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -4269,9 +3735,6 @@ static const uri_properties uri_tests[] = { } }, { "mk:@MSITStore:Z:\\home\\test\\chm\\silqhelp.chm::/thesilqquickstartguide.htm",0,S_OK,FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY| - Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_SCHEME, - FALSE, { {"mk:@MSITStore:Z:\\home\\test\\chm\\silqhelp.chm::/thesilqquickstartguide.htm",S_OK,FALSE}, {"",S_FALSE,FALSE}, @@ -4298,9 +3761,6 @@ static const uri_properties uri_tests[] = { }, /* Two '\' are added to the URI when USE_DOS_PATH is set, and it's a UNC path. */ { "file://server/dir/index.html", Uri_CREATE_FILE_USE_DOS_PATH, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_EXTENSION|Uri_HAS_HOST| - Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI|Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE| - Uri_HAS_SCHEME, FALSE, { {"file://\\\\server\\dir\\index.html",S_OK,FALSE}, {"server",S_OK,FALSE}, @@ -4329,10 +3789,6 @@ static const uri_properties uri_tests[] = { * authority. */ { "http://google.com:80/", Uri_CREATE_NO_CANONICALIZE, S_OK, FALSE, - Uri_HAS_ABSOLUTE_URI|Uri_HAS_AUTHORITY|Uri_HAS_DISPLAY_URI|Uri_HAS_DOMAIN| - Uri_HAS_HOST|Uri_HAS_PATH|Uri_HAS_PATH_AND_QUERY|Uri_HAS_RAW_URI| - Uri_HAS_SCHEME_NAME|Uri_HAS_HOST_TYPE|Uri_HAS_PORT|Uri_HAS_SCHEME, - FALSE, { {"http://google.com:80/",S_OK,FALSE}, {"google.com:80",S_OK,FALSE}, @@ -7253,6 +6709,23 @@ static void test_IUri_GetPropertyLength(void) { } } +static DWORD compute_expected_props(uri_properties *test) +{ + DWORD ret = 0, i; + + for(i=Uri_PROPERTY_STRING_START; i <= Uri_PROPERTY_STRING_LAST; i++) { + if(test->str_props[i-Uri_PROPERTY_STRING_START].expected == S_OK) + ret |= 1<dword_props[i-Uri_PROPERTY_DWORD_START].expected == S_OK) + ret |= 1<