Hans Leidekker : webservices: Add tests.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Sep 11 08:02:19 CDT 2015


Module: wine
Branch: master
Commit: 0194595d9ad1c3037a33d102230b0131fca78622
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=0194595d9ad1c3037a33d102230b0131fca78622

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Fri Sep 11 11:00:20 2015 +0200

webservices: Add tests.

---

 configure                          |   1 +
 configure.ac                       |   1 +
 dlls/webservices/tests/Makefile.in |   5 ++
 dlls/webservices/tests/reader.c    | 118 +++++++++++++++++++++++++++++++++++++
 4 files changed, 125 insertions(+)

diff --git a/configure b/configure
index 15a122b..aeec729 100755
--- a/configure
+++ b/configure
@@ -17823,6 +17823,7 @@ wine_fn_config_test dlls/wbemdisp/tests wbemdisp_test
 wine_fn_config_dll wbemprox enable_wbemprox clean
 wine_fn_config_test dlls/wbemprox/tests wbemprox_test
 wine_fn_config_dll webservices enable_webservices implib
+wine_fn_config_test dlls/webservices/tests webservices_test
 wine_fn_config_dll wer enable_wer implib
 wine_fn_config_test dlls/wer/tests wer_test
 wine_fn_config_dll wevtapi enable_wevtapi
diff --git a/configure.ac b/configure.ac
index aec53f6..ed7030f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3375,6 +3375,7 @@ WINE_CONFIG_TEST(dlls/wbemdisp/tests)
 WINE_CONFIG_DLL(wbemprox,,[clean])
 WINE_CONFIG_TEST(dlls/wbemprox/tests)
 WINE_CONFIG_DLL(webservices,,[implib])
+WINE_CONFIG_TEST(dlls/webservices/tests)
 WINE_CONFIG_DLL(wer,,[implib])
 WINE_CONFIG_TEST(dlls/wer/tests)
 WINE_CONFIG_DLL(wevtapi)
diff --git a/dlls/webservices/tests/Makefile.in b/dlls/webservices/tests/Makefile.in
new file mode 100644
index 0000000..d19fdc2
--- /dev/null
+++ b/dlls/webservices/tests/Makefile.in
@@ -0,0 +1,5 @@
+TESTDLL   = webservices.dll
+IMPORTS   = webservices
+
+C_SRCS = \
+	reader.c
diff --git a/dlls/webservices/tests/reader.c b/dlls/webservices/tests/reader.c
new file mode 100644
index 0000000..0db68a0
--- /dev/null
+++ b/dlls/webservices/tests/reader.c
@@ -0,0 +1,118 @@
+/*
+ * Copyright 2015 Hans Leidekker for CodeWeavers
+ *
+ * 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
+ */
+
+#include <stdio.h>
+#include "windows.h"
+#include "webservices.h"
+#include "wine/test.h"
+
+static void test_WsCreateError(void)
+{
+    HRESULT hr;
+    WS_ERROR *error;
+    WS_ERROR_PROPERTY prop;
+    ULONG size, code, count;
+    LANGID langid;
+
+    hr = WsCreateError( NULL, 0, NULL );
+    ok( hr == E_INVALIDARG, "got %08x\n", hr );
+
+    error = NULL;
+    hr = WsCreateError( NULL, 0, &error );
+    ok( hr == S_OK, "got %08x\n", hr );
+    ok( error != NULL, "error not set\n" );
+
+    count = 0xdeadbeef;
+    size = sizeof(count);
+    hr = WsGetErrorProperty( error, WS_ERROR_PROPERTY_STRING_COUNT, &count, size );
+    ok( hr == S_OK, "got %08x\n", hr );
+    ok( !count, "got %u\n", count );
+
+    hr = WsSetErrorProperty( error, WS_ERROR_PROPERTY_STRING_COUNT, &count, size );
+    ok( hr == E_INVALIDARG, "got %08x\n", hr );
+
+    code = 0xdeadbeef;
+    size = sizeof(code);
+    hr = WsGetErrorProperty( error, WS_ERROR_PROPERTY_ORIGINAL_ERROR_CODE, &code, size );
+    ok( hr == S_OK, "got %08x\n", hr );
+    ok( !code, "got %u\n", code );
+
+    code = 0xdeadbeef;
+    hr = WsSetErrorProperty( error, WS_ERROR_PROPERTY_ORIGINAL_ERROR_CODE, &code, size );
+    ok( hr == S_OK, "got %08x\n", hr );
+    hr = WsGetErrorProperty( error, WS_ERROR_PROPERTY_ORIGINAL_ERROR_CODE, &code, size );
+    ok( hr == S_OK, "got %08x\n", hr );
+    ok( code == 0xdeadbeef, "got %u\n", code );
+
+    langid = 0xdead;
+    size = sizeof(langid);
+    hr = WsGetErrorProperty( error, WS_ERROR_PROPERTY_LANGID, &langid, size );
+    ok( hr == S_OK, "got %08x\n", hr );
+    ok( langid == GetUserDefaultUILanguage(), "got %u\n", langid );
+
+    langid = MAKELANGID( LANG_DUTCH, SUBLANG_DEFAULT );
+    hr = WsSetErrorProperty( error, WS_ERROR_PROPERTY_LANGID, &langid, size );
+    ok( hr == WS_E_INVALID_OPERATION, "got %08x\n", hr );
+
+    count = 0xdeadbeef;
+    size = sizeof(count);
+    hr = WsGetErrorProperty( error, WS_ERROR_PROPERTY_LANGID + 1, &count, size );
+    ok( hr == E_INVALIDARG, "got %08x\n", hr );
+    ok( count == 0xdeadbeef, "got %u\n", count );
+    WsFreeError( error );
+
+    count = 1;
+    prop.id = WS_ERROR_PROPERTY_STRING_COUNT;
+    prop.value = &count;
+    prop.valueSize = sizeof(count);
+    hr = WsCreateError( &prop, 1, &error );
+    ok( hr == E_INVALIDARG, "got %08x\n", hr );
+
+    code = 0xdeadbeef;
+    prop.id = WS_ERROR_PROPERTY_ORIGINAL_ERROR_CODE;
+    prop.value = &code;
+    prop.valueSize = sizeof(code);
+    hr = WsCreateError( &prop, 1, &error );
+    ok( hr == E_INVALIDARG, "got %08x\n", hr );
+
+    langid = MAKELANGID( LANG_DUTCH, SUBLANG_DEFAULT );
+    prop.id = WS_ERROR_PROPERTY_LANGID;
+    prop.value = &langid;
+    prop.valueSize = sizeof(langid);
+    hr = WsCreateError( &prop, 1, &error );
+    ok( hr == S_OK, "got %08x\n", hr );
+
+    langid = 0xdead;
+    size = sizeof(langid);
+    hr = WsGetErrorProperty( error, WS_ERROR_PROPERTY_LANGID, &langid, size );
+    ok( hr == S_OK, "got %08x\n", hr );
+    ok( langid == MAKELANGID( LANG_DUTCH, SUBLANG_DEFAULT ), "got %u\n", langid );
+    WsFreeError( error );
+
+    count = 0xdeadbeef;
+    prop.id = WS_ERROR_PROPERTY_LANGID + 1;
+    prop.value = &count;
+    prop.valueSize = sizeof(count);
+    hr = WsCreateError( &prop, 1, &error );
+    ok( hr == E_INVALIDARG, "got %08x\n", hr );
+}
+
+START_TEST(reader)
+{
+    test_WsCreateError();
+}




More information about the wine-cvs mailing list