1 /*
2 * PROJECT: ReactOS api tests
3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4 * PURPOSE: Tests for GetClassInfo
5 * COPYRIGHT: Copyright 2023 Timo Kreuzer <timo.kreuzer@reactos.org>
6 */
7
8 #include "precomp.h"
9
START_TEST(GetSetWindowInt)10 START_TEST(GetSetWindowInt)
11 {
12 WNDCLASSEXW wcex = { 0 };
13 ATOM atom;
14 HWND hwnd;
15
16 wcex.cbSize = sizeof(WNDCLASSEXW);
17 wcex.style = 0x1;
18 wcex.lpfnWndProc = DefWindowProcW;
19 wcex.cbClsExtra = 1;
20 wcex.cbWndExtra = 5;
21 wcex.hInstance = GetModuleHandle(NULL);
22 wcex.lpszClassName = L"ProTestClass1";
23
24 atom = RegisterClassExW(&wcex);
25 ok(atom != 0, "Failed to register class!\n");
26
27 hwnd = CreateWindowW(wcex.lpszClassName,
28 L"WindowTitle",
29 WS_POPUP,
30 CW_USEDEFAULT,
31 CW_USEDEFAULT,
32 CW_USEDEFAULT,
33 CW_USEDEFAULT,
34 NULL,
35 NULL,
36 GetModuleHandle(NULL),
37 NULL);
38 ok(hwnd != 0, "\n");
39
40 SetLastError(0xdeadbeef);
41 ok_hex(SetWindowWord(hwnd, 0, 0x1234), 0);
42 ok_hex(GetWindowWord(hwnd, 0), 0x1234);
43 ok_hex(SetWindowWord(hwnd, 1, 0x2345), 0x12);
44 ok_hex(GetWindowWord(hwnd, 1), 0x2345);
45 ok_hex(SetWindowWord(hwnd, 2, 0x3456), 0x23);
46 ok_hex(GetWindowWord(hwnd, 2), 0x3456);
47 ok_hex(SetWindowWord(hwnd, 3, 0x4567), 0x34);
48 ok_hex(GetWindowWord(hwnd, 3), 0x4567);
49 ok_err(0xdeadbeef);
50 ok_hex(SetWindowWord(hwnd, 4, 0x5678), 0);
51 ok_err(ERROR_INVALID_INDEX);
52 SetLastError(0xdeadbeef);
53 ok_hex(GetWindowWord(hwnd, 4), 0);
54 ok_err(ERROR_INVALID_INDEX);
55
56 SetLastError(0xdeadbeef);
57 ok_hex(SetWindowLong(hwnd, 0, 0x12345678), 0x67564534);
58 ok_hex(GetWindowLong(hwnd, 0), 0x12345678);
59 ok_hex(SetWindowLong(hwnd, 1, 0x23456789), 0x45123456);
60 ok_hex(GetWindowLong(hwnd, 1), 0x23456789);
61 ok_err(0xdeadbeef);
62 ok_hex(SetWindowLong(hwnd, 2, 0x3456789a), 0);
63 ok_err(ERROR_INVALID_INDEX);
64 SetLastError(0xdeadbeef);
65 ok_hex(GetWindowLong(hwnd, 2), 0);
66 ok_err(ERROR_INVALID_INDEX);
67
68 #ifdef _WIN64
69 SetLastError(0xdeadbeef);
70 ok_hex(SetWindowLongPtr(hwnd, 0, 123), 0);
71 ok_err(ERROR_INVALID_INDEX);
72 SetLastError(0xdeadbeef);
73 ok_hex(GetWindowLongPtr(hwnd, 0), 0);
74 ok_err(ERROR_INVALID_INDEX);
75 #endif
76
77 }
78