slc/tests: Add tests for SLGetWindowsInformationDWORD.

oldstable
Sebastian Lackner 2014-12-22 07:26:37 +01:00 committed by Alexandre Julliard
parent c6fcb427a2
commit 15e609ba5b
5 changed files with 88 additions and 0 deletions

1
configure vendored
View File

@ -17530,6 +17530,7 @@ wine_fn_config_dll shlwapi enable_shlwapi implib,po
wine_fn_config_test dlls/shlwapi/tests shlwapi_test
wine_fn_config_dll slbcsp enable_slbcsp
wine_fn_config_dll slc enable_slc implib
wine_fn_config_test dlls/slc/tests slc_test
wine_fn_config_dll snmpapi enable_snmpapi implib
wine_fn_config_test dlls/snmpapi/tests snmpapi_test
wine_fn_config_dll softpub enable_softpub

View File

@ -3244,6 +3244,7 @@ WINE_CONFIG_DLL(shlwapi,,[implib,po])
WINE_CONFIG_TEST(dlls/shlwapi/tests)
WINE_CONFIG_DLL(slbcsp)
WINE_CONFIG_DLL(slc,,[implib])
WINE_CONFIG_TEST(dlls/slc/tests)
WINE_CONFIG_DLL(snmpapi,,[implib])
WINE_CONFIG_TEST(dlls/snmpapi/tests)
WINE_CONFIG_DLL(softpub)

View File

@ -0,0 +1,5 @@
TESTDLL = slc.dll
IMPORTS = slc
C_SRCS = \
slc.c

View File

@ -0,0 +1,80 @@
/*
* Copyright 2014 Sebastian Lackner
*
* 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 <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "winerror.h"
#include "slpublic.h"
#include "slerror.h"
#include <wine/test.h>
static void test_SLGetWindowsInformationDWORD(void)
{
static const WCHAR NonexistentLicenseValueW[] = {'N','o','n','e','x','i','s','t','e','n','t','-',
'L','i','c','e','n','s','e','-','V','a','l','u','e',0};
static const WCHAR KernelMUILanguageAllowedW[] = {'K','e','r','n','e','l','-','M','U','I','-',
'L','a','n','g','u','a','g','e','-','A','l','l','o','w','e','d',0};
static const WCHAR KernelMUINumberAllowedW[] = {'K','e','r','n','e','l','-','M','U','I','-',
'N','u','m','b','e','r','-','A','l','l','o','w','e','d',0};
static const WCHAR emptyW[] = {0};
DWORD value;
HRESULT res;
res = SLGetWindowsInformationDWORD(NonexistentLicenseValueW, NULL);
todo_wine
ok(res == E_INVALIDARG, "expected E_INVALIDARG, got %08x\n", res);
res = SLGetWindowsInformationDWORD(NULL, &value);
todo_wine
ok(res == E_INVALIDARG, "expected E_INVALIDARG, got %08x\n", res);
value = 0xdeadbeef;
res = SLGetWindowsInformationDWORD(NonexistentLicenseValueW, &value);
todo_wine
ok(res == SL_E_VALUE_NOT_FOUND, "expected SL_E_VALUE_NOT_FOUND, got %08x\n", res);
ok(value == 0xdeadbeef, "expected value = 0xdeadbeef, got %u\n", value);
value = 0xdeadbeef;
res = SLGetWindowsInformationDWORD(emptyW, &value);
ok(res == SL_E_RIGHT_NOT_GRANTED || broken(res == 0xd000000d) /* Win 8 */,
"expected SL_E_RIGHT_NOT_GRANTED, got %08x\n", res);
ok(value == 0xdeadbeef, "expected value = 0xdeadbeef, got %u\n", value);
value = 0xdeadbeef;
res = SLGetWindowsInformationDWORD(KernelMUILanguageAllowedW, &value);
todo_wine
ok(res == SL_E_DATATYPE_MISMATCHED, "expected SL_E_DATATYPE_MISMATCHED, got %08x\n", res);
ok(value == 0xdeadbeef, "expected value = 0xdeadbeef, got %u\n", value);
value = 0xdeadbeef;
res = SLGetWindowsInformationDWORD(KernelMUINumberAllowedW, &value);
todo_wine
ok(res == S_OK, "expected S_OK, got %u\n", res);
todo_wine
ok(value != 0xdeadbeef, "expected value != 0xdeadbeef\n");
}
START_TEST(slc)
{
test_SLGetWindowsInformationDWORD();
}

View File

@ -19,6 +19,7 @@
#ifndef __WINE_SLERROR_H
#define __WINE_SLERROR_H
#define SL_E_VALUE_NOT_FOUND 0xC004F012
#define SL_E_RIGHT_NOT_GRANTED 0xC004F013
#define SL_E_DATATYPE_MISMATCHED 0xC004F01E