Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com --- dlls/wininet/Makefile.in | 3 ++ dlls/wininet/tests/internet.c | 60 ++++++++++++++++++++++++++++++++ dlls/wininet/winineterror.mc | 81 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 144 insertions(+) create mode 100644 dlls/wininet/winineterror.mc
diff --git a/dlls/wininet/Makefile.in b/dlls/wininet/Makefile.in index be69ea53b0..6789c9d336 100644 --- a/dlls/wininet/Makefile.in +++ b/dlls/wininet/Makefile.in @@ -17,3 +17,6 @@ C_SRCS = \ utility.c
RC_SRCS = wininet.rc + +MC_SRCS = \ + winineterror.mc diff --git a/dlls/wininet/tests/internet.c b/dlls/wininet/tests/internet.c index dd15a4b8a0..123a1becfd 100644 --- a/dlls/wininet/tests/internet.c +++ b/dlls/wininet/tests/internet.c @@ -1797,6 +1797,65 @@ todo_wine ok(!buffer[0], "Expected 0 bytes, got %u\n", lstrlenW(buffer)); }
+static void test_format_message(HMODULE hdll) +{ + DWORD ret; + CHAR out[0x100] = {0}; + + /* These messages come from wininet and not the system. */ + ret = FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM , NULL, ERROR_INTERNET_TIMEOUT, + MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), out, sizeof(out)/sizeof(CHAR), NULL); + ok(ret == 0, "FormatMessageA returned %d\n", ret); + + ret = FormatMessageA(FORMAT_MESSAGE_FROM_HMODULE, hdll, ERROR_INTERNET_TIMEOUT, + MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), out, sizeof(out)/sizeof(CHAR), NULL); + ok(ret != 0, "FormatMessageA returned %d\n", ret); + + ret = FormatMessageA(FORMAT_MESSAGE_FROM_HMODULE, hdll, ERROR_INTERNET_INTERNAL_ERROR, + MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), out, sizeof(out)/sizeof(CHAR), NULL); + ok(ret != 0, "FormatMessageA returned %d\n", ret); + + ret = FormatMessageA(FORMAT_MESSAGE_FROM_HMODULE, hdll, ERROR_INTERNET_INVALID_URL, + MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), out, sizeof(out)/sizeof(CHAR), NULL); + ok(ret != 0, "FormatMessageA returned %d\n", ret); + + ret = FormatMessageA(FORMAT_MESSAGE_FROM_HMODULE, hdll, ERROR_INTERNET_UNRECOGNIZED_SCHEME, + MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), out, sizeof(out)/sizeof(CHAR), NULL); + ok(ret != 0, "FormatMessageA returned %d\n", ret); + + ret = FormatMessageA(FORMAT_MESSAGE_FROM_HMODULE, hdll, ERROR_INTERNET_NAME_NOT_RESOLVED, + MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), out, sizeof(out)/sizeof(CHAR), NULL); + ok(ret != 0, "FormatMessageA returned %d\n", ret); + + ret = FormatMessageA(FORMAT_MESSAGE_FROM_HMODULE, hdll, ERROR_INTERNET_INVALID_OPERATION, + MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), out, sizeof(out)/sizeof(CHAR), NULL); + ok(ret != 0 || broken(!ret) /* XP, w2k3 */, "FormatMessageA returned %d\n", ret); + + ret = FormatMessageA(FORMAT_MESSAGE_FROM_HMODULE, hdll, ERROR_INTERNET_OPERATION_CANCELLED, + MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), out, sizeof(out)/sizeof(CHAR), NULL); + ok(ret != 0, "FormatMessageA returned %d\n", ret); + + ret = FormatMessageA(FORMAT_MESSAGE_FROM_HMODULE, hdll, ERROR_INTERNET_ITEM_NOT_FOUND, + MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), out, sizeof(out)/sizeof(CHAR), NULL); + ok(ret != 0, "FormatMessageA returned %d\n", ret); + + ret = FormatMessageA(FORMAT_MESSAGE_FROM_HMODULE, hdll, ERROR_INTERNET_CANNOT_CONNECT, + MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), out, sizeof(out)/sizeof(CHAR), NULL); + ok(ret != 0, "FormatMessageA returned %d\n", ret); + + ret = FormatMessageA(FORMAT_MESSAGE_FROM_HMODULE, hdll, ERROR_INTERNET_CONNECTION_ABORTED, + MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), out, sizeof(out)/sizeof(CHAR), NULL); + ok(ret != 0, "FormatMessageA returned %d\n", ret); + + ret = FormatMessageA(FORMAT_MESSAGE_FROM_HMODULE, hdll, ERROR_INTERNET_SEC_CERT_DATE_INVALID, + MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), out, sizeof(out)/sizeof(CHAR), NULL); + ok(ret != 0, "FormatMessageA returned %d\n", ret); + + ret = FormatMessageA(FORMAT_MESSAGE_FROM_HMODULE, hdll, ERROR_INTERNET_SEC_CERT_CN_INVALID, + MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), out, sizeof(out)/sizeof(CHAR), NULL); + ok(ret != 0, "FormatMessageA returned %d\n", ret); +} + /* ############################### */
START_TEST(internet) @@ -1863,4 +1922,5 @@ START_TEST(internet)
test_InternetSetOption(); test_end_browser_session(); + test_format_message(hdll); } diff --git a/dlls/wininet/winineterror.mc b/dlls/wininet/winineterror.mc new file mode 100644 index 0000000000..703a4dd30e --- /dev/null +++ b/dlls/wininet/winineterror.mc @@ -0,0 +1,81 @@ +; +; Copyright 2018 Alsitair Leslie-Hughes +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Lesser General Public +; License as published by the Free Software Foundation; either +; version 2.1 of the License, or (at your option) any later version. +; +; This library is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +; Lesser General Public License for more details. +; +; You should have received a copy of the GNU Lesser General Public +; License along with this library; if not, write to the Free Software +; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA +; + +LanguageNames=(ENU=0x409:winerr) + +MessageId=12002 +SymbolicName=ERROR_INTERNET_TIMEOUT +Language=ENU +The request has timed out. +. +MessageId=12004 +SymbolicName=ERROR_INTERNET_INTERNAL_ERROR +Language=ENU +An internal error has occurred. +. +MessageId=12005 +SymbolicName=ERROR_INTERNET_INVALID_URL +Language=ENU +The URL is invalid. +. +MessageId=12006 +SymbolicName=ERROR_INTERNET_UNRECOGNIZED_SCHEME +Language=ENU +The URL scheme could not be recognized or is not supported. +. +MessageId=12007 +SymbolicName=ERROR_INTERNET_NAME_NOT_RESOLVED +Language=ENU +The server name could not be resolved. +. +MessageId=12016 +SymbolicName=ERROR_INTERNET_INVALID_OPERATION +Language=ENU +The requested operation is invalid. +. +MessageId=12017 +SymbolicName=ERROR_INTERNET_OPERATION_CANCELLED +Language=ENU +The operation was canceled, usually because the handle on which the request was operating was closed before the operation completed. +. +MessageId=12028 +SymbolicName=ERROR_INTERNET_ITEM_NOT_FOUND +Language=ENU +The requested item could not be located. +. +MessageId=12029 +SymbolicName=ERROR_INTERNET_CANNOT_CONNECT +Language=ENU +The attempt to connect to the server failed. +. +MessageId=12030 +SymbolicName=ERROR_INTERNET_CONNECTION_ABORTED +Language=ENU +The connection with the server has been terminated. +. +MessageId=12037 +SymbolicName=ERROR_INTERNET_SEC_CERT_DATE_INVALID +Language=ENU +SSL certificate date that was received from the server is bad. The certificate is expired. +. +MessageId=12038 +SymbolicName=ERROR_INTERNET_SEC_CERT_CN_INVALID +Language=ENU +SSL certificate common name (host name field) is incorrect. +. +