Fixes for edit boxes in wine.

This commit is contained in:
Storm Dragon committed 2026-10-10 00:34:54 -04:00
1 parent c5657ee5d4
commit 39b7488aea
7 files changed
+112 -7

No files matched your search

+26
View File
@@ -0,0 +1,26 @@
// SPDX-License-Identifier: LGPL-2.1-or-later
#include "../msaa_states.h"
#include <cstdio>
int main() {
const struct { DWORD states; LONG role; const char *expected; } cases[] = {
{STATE_SYSTEM_CHECKED | STATE_SYSTEM_UNAVAILABLE, ROLE_SYSTEM_CHECKBUTTON, "checked, unavailable"},
{STATE_SYSTEM_MIXED | STATE_SYSTEM_CHECKED, ROLE_SYSTEM_CHECKBUTTON, "half checked"},
{0, ROLE_SYSTEM_RADIOBUTTON, "not checked"},
{STATE_SYSTEM_FOCUSED | STATE_SYSTEM_FOCUSABLE, ROLE_SYSTEM_PUSHBUTTON, ""},
{STATE_SYSTEM_SELECTED | STATE_SYSTEM_EXPANDED, ROLE_SYSTEM_OUTLINEITEM, "selected, expanded"},
{STATE_SYSTEM_PROTECTED | STATE_SYSTEM_READONLY, ROLE_SYSTEM_TEXT, "read only, password"},
{STATE_SYSTEM_COLLAPSED | STATE_SYSTEM_BUSY, ROLE_SYSTEM_OUTLINEITEM, "collapsed, busy"},
{STATE_SYSTEM_PRESSED, ROLE_SYSTEM_PUSHBUTTON, "pressed"},
};
for (const auto &testCase : cases) {
const auto actual = msaa_states(testCase.states, testCase.role);
if (actual != testCase.expected) {
std::fprintf(stderr, "MSAA state %lu: got '%s', expected '%s'\n",
static_cast<unsigned long>(testCase.states), actual.c_str(), testCase.expected);
return 1;
}
}
std::puts("PASS: MSAA bitmask states, unchecked roles and password flags");
return 0;
}