32#define ID_EDITTESTDBUTTON 0x123
33#define ID_EDITTEST2 99
58 static int num_ok_commands = 0;
125 else if (hfocus == hedit2)
127 else if (hfocus == hedit3)
133 if ((hfocus == hedit) && (num_ok_commands == 0))
269 if ((hfocus == hok) &&
len == 0)
278 else if (hfocus == hcancel)
280 else if (hfocus == hedit)
392 if ((hfocus == hedit) &&
len == 0)
399 if ((hfocus == hok) &&
len == 0)
514 if ((hfocus == hedit) &&
len == 0)
521 if ((hfocus == hok) &&
len == 0)
528 if ((hfocus == hedit) &&
len == 2)
564 ok (
handle !=
NULL,
"CreateWindow EDIT Control failed\n");
573 static const WCHAR testtextW[] = {
'T',
'e',
's',
't',
' ',
't',
'e',
'x',
't',0};
590 ok(
b,
"AdjustWindowRect failed\n");
599 ok (parentWnd !=
NULL,
"CreateWindow EDIT Test failed\n");
607 ok (editWnd !=
NULL,
"CreateWindow EDIT Test Text failed\n");
618 trace(
"Edit control has no parent!\n");
648 RECT ClientRect, WindowRect;
672 "The client height should be %d, but is %d\n",
685 trace(
"EDIT: Single line\n");
689 for (
i = 0;
i < 65535;
i++)
691 msMessage.wParam =
i;
694 "Expected DLGC_WANTCHARS | DLGC_HASSETSEL | DLGC_WANTARROWS got %x\n",
r);
698 trace(
"EDIT: Single line want returns\n");
702 for (
i = 0;
i < 65535;
i++)
704 msMessage.wParam =
i;
707 "Expected DLGC_WANTCHARS | DLGC_HASSETSEL | DLGC_WANTARROWS got %x\n",
r);
711 trace(
"EDIT: Multiline line\n");
715 for (
i = 0;
i < 65535;
i++)
717 msMessage.wParam =
i;
720 "Expected DLGC_WANTCHARS | DLGC_HASSETSEL | DLGC_WANTALLKEYS | DLGC_WANTARROWS got %x\n",
r);
724 trace(
"EDIT: Multi line want returns\n");
728 for (
i = 0;
i < 65535;
i++)
730 msMessage.wParam =
i;
733 "Expected DLGC_WANTCHARS | DLGC_HASSETSEL | DLGC_WANTALLKEYS | DLGC_WANTARROWS got %x\n",
r);
747 char szLocalString[
MAXLEN];
765 trace(
"EDIT: SETTEXT atomicity\n");
768 ok(1 ==
r,
"Expected: %d, got: %d\n", 1,
r);
770 ok(1 ==
r,
"Expected: %d, got: %d\n", 1,
r);
772 ok(1 ==
r,
"Expected: %d, got: %d\n", 1,
r);
776 "Wrong contents of edit: %s\n", szLocalString);
780 todo_wine ok(0 ==
r,
"SetCaretPos succeeded unexpectedly, expected: 0, got: %d\n",
r);
782 ok(phwnd !=
NULL,
"SetFocus failed unexpectedly, expected non-zero, got NULL\n");
784 ok(1 ==
r,
"SetCaretPos failed unexpectedly, expected: 1, got: %d\n",
r);
786 ok(1 ==
r,
"GetCaretPos failed unexpectedly, expected: 1, got: %d\n",
r);
787 ok(cpos.
x == 0 && cpos.
y == 0,
"Wrong caret position, expected: (0,0), got: (%d,%d)\n", cpos.
x, cpos.
y);
789 ok(1 ==
r,
"SetCaretPos failed unexpectedly, expected: 1, got: %d\n",
r);
791 ok(1 ==
r,
"GetCaretPos failed unexpectedly, expected: 1, got: %d\n",
r);
792 ok(cpos.
x == -1 && cpos.
y == -1,
"Wrong caret position, expected: (-1,-1), got: (%d,%d)\n", cpos.
x, cpos.
y);
794 ok(1 ==
r,
"SetCaretPos failed unexpectedly, expected: 1, got: %d\n",
r);
796 ok(1 ==
r,
"GetCaretPos failed unexpectedly, expected: 1, got: %d\n",
r);
797 ok(cpos.
x == (
w << 1) && cpos.
y == (
h << 1),
"Wrong caret position, expected: (%d,%d), got: (%d,%d)\n",
w << 1,
h << 1, cpos.
x, cpos.
y);
799 ok(1 ==
r,
"SetCaretPos failed unexpectedly, expected: 1, got: %d\n",
r);
801 ok(1 ==
r,
"GetCaretPos failed unexpectedly, expected: 1, got: %d\n",
r);
802 ok(cpos.
x ==
w && cpos.
y ==
h,
"Wrong caret position, expected: (%d,%d), got: (%d,%d)\n",
w,
h, cpos.
x, cpos.
y);
804 ok(1 ==
r,
"SetCaretPos failed unexpectedly, expected: 1, got: %d\n",
r);
806 ok(1 ==
r,
"GetCaretPos failed unexpectedly, expected: 1, got: %d\n",
r);
807 ok(cpos.
x == (
w - 1) && cpos.
y == (
h - 1),
"Wrong caret position, expected: (%d,%d), got: (%d,%d)\n",
w - 1,
h - 1, cpos.
x, cpos.
y);
815 char szLocalString[
MAXLEN];
818 if (!
strcmp(szLocalString,
"foo"))
820 strcpy(szLocalString,
"bar");
851#define test_notify(enchange, enmaxtext, enupdate) \
853 ok(notifications.en_change == enchange, "expected %d EN_CHANGE notifications, " \
854 "got %d\n", enchange, notifications.en_change); \
855 ok(notifications.en_maxtext == enmaxtext, "expected %d EN_MAXTEXT notifications, " \
856 "got %d\n", enmaxtext, notifications.en_maxtext); \
857 ok(notifications.en_update == enupdate, "expected %d EN_UPDATE notifications, " \
858 "got %d\n", enupdate, notifications.en_update); \
885 static LONG defwndproc_counter = 0;
907 defwndproc_counter++;
909 defwndproc_counter--;
917 static LONG defwndproc_counter = 0;
933 defwndproc_counter++;
938 defwndproc_counter--;
948 static const char *
str =
"this is a long string.";
949 static const char *str2 =
"this is a long string.\r\nthis is a long string.\r\nthis is a long string.\r\nthis is a long string.";
958 trace(
"EDIT: Test notifications\n");
966 ok(hParent !=
NULL,
"Failed to create control parent.\n");
968 trace(
"EDIT: Single line, no ES_AUTOHSCROLL\n");
969 hWnd =
CreateWindowExA(0,
WC_EDITA,
NULL, 0, 10, 10, 50, 50, hParent,
NULL,
NULL,
NULL);
970 ok(
hWnd !=
NULL,
"Failed to create Edit control.\n");
984 ok(1 ==
len,
"wrong text length, expected 1, got %d\n",
len);
1007 ok(5 ==
len,
"text should have been truncated to limit, expected 5, got %d\n",
len);
1018 trace(
"EDIT: Single line, ES_AUTOHSCROLL\n");
1019 hWnd =
CreateWindowExA(0,
WC_EDITA,
NULL,
ES_AUTOHSCROLL, 10, 10, 50, 50, hParent,
NULL,
NULL,
NULL);
1020 ok(
hWnd !=
NULL,
"Failed to create Edit control.\n");
1038 ok(
lstrlenA(str2) ==
len,
"text shouldn't have been truncated\n");
1044 ok(
lstrlenA(str2) ==
len,
"text shouldn't have been truncated\n");
1053 ok(5 ==
len,
"text should have been truncated to limit, expected 5, got %d\n",
len);
1064 trace(
"EDIT: Multline, no ES_AUTOHSCROLL, no ES_AUTOVSCROLL\n");
1066 10, 10, (50 *
dpi) / 96, (50 *
dpi) / 96,
1068 ok(
hWnd !=
NULL,
"Failed to create Edit control.\n");
1077 ok(0 ==
len,
"text should have been truncated, expected 0, got %d\n",
len);
1100 ok(5 ==
len,
"text should have been truncated to limit, expected 5, got %d\n",
len);
1111 trace(
"EDIT: Multline, ES_AUTOHSCROLL, no ES_AUTOVSCROLL\n");
1113 10, 10, (50 *
dpi) / 96, (50 *
dpi) / 96,
1115 ok(
hWnd !=
NULL,
"Failed to create Edit control.\n");
1120 ok(0 ==
len,
"text should have been truncated, expected 0, got %d\n",
len);
1133 ok(
lstrlenA(str2) ==
len,
"text shouldn't have been truncated\n");
1142 ok(5 ==
len,
"text should have been truncated to limit, expected 5, got %d\n",
len);
1148 ok(
lstrlenA(str2) ==
len,
"text shouldn't have been truncated\n");
1153 trace(
"EDIT: Multline, ES_AUTOHSCROLL and ES_AUTOVSCROLL\n");
1156 ok(
hWnd !=
NULL,
"Failed to create Edit control.\n");
1161 ok(
lstrlenA(str2) ==
len,
"text shouldn't have been truncated\n");
1167 ok(
lstrlenA(str2) ==
len,
"text shouldn't have been truncated\n");
1176 ok(5 ==
len,
"text should have been truncated to limit, expected 5, got %d\n",
len);
1182 ok(
lstrlenA(str2) ==
len,
"text shouldn't have been truncated\n");
1190 int lo, hi, mid,
ret,
i;
1197 mid = lo + (hi - lo) / 2;
1199 for (
i = lo;
i < mid;
i++)
1202 ok(0 ==
ret,
"expected 0 got %d\n",
ret);
1205 for (
i = mid;
i <= hi;
i++)
1208 ok(1 ==
ret,
"expected 1 got %d\n",
ret);
1212 ok(-1 ==
ret,
"expected -1 got %d\n",
ret);
1219 mid = lo + (hi - lo) / 2;
1221 for (
i = lo;
i < mid;
i++)
1224 ok(0 ==
ret,
"expected 0 got %d\n",
ret);
1227 for (
i = mid;
i <= hi;
i++)
1230 ok(1 ==
ret,
"expected 1 got %d\n",
ret);
1234 ok(-1 ==
ret,
"expected -1 got %d\n",
ret);
1241 mid = lo + (hi - lo) / 2;
1243 for (
i = lo;
i < mid;
i++)
1246 ok(0 ==
ret,
"expected 0 got %d\n",
ret);
1249 for (
i = mid;
i <= hi;
i++)
1252 ok(1 ==
ret,
"expected 1 got %d\n",
ret);
1256 ok(-1 ==
ret,
"expected -1 got %d\n",
ret);
1263 mid = lo + (hi - lo) / 2 + 1;
1265 for (
i = lo;
i < mid;
i++)
1268 ok((0 ==
ret || 1 ==
ret ),
"expected 0 or 1 got %d\n",
ret);
1271 for (
i = mid;
i <= hi;
i++)
1274 ok(1 ==
ret,
"expected 1 got %d\n",
ret);
1278 ok(-1 ==
ret,
"expected -1 got %d\n",
ret);
1285 mid = lo + (hi - lo) / 2 + 1;
1287 for (
i = lo;
i < mid;
i++)
1290 ok((0 ==
ret || 1 ==
ret ),
"expected 0 or 1 got %d\n",
ret);
1293 for (
i = mid;
i <= hi;
i++)
1296 ok(1 ==
ret,
"expected 1 got %d\n",
ret);
1300 ok(-1 ==
ret,
"expected -1 got %d\n",
ret);
1307 mid = lo + (hi - lo) / 2 + 1;
1309 for (
i = lo;
i < mid;
i++)
1312 ok((0 ==
ret || 1 ==
ret ),
"expected 0 or 1 got %d\n",
ret);
1315 for (
i = mid;
i <= hi;
i++)
1318 ok(1 ==
ret,
"expected 1 got %d\n",
ret);
1322 ok(-1 ==
ret,
"expected -1 got %d\n",
ret);
1331 static const char *
str =
"test\r\ntest";
1335 RECT rc1 = { 10, 10, 11, 11};
1339 hWnd =
CreateWindowExA(0,
WC_EDITA,
str, 0, 10, 10, 1, 1,
NULL,
NULL,
NULL,
NULL);
1340 ok(
hWnd !=
NULL,
"Failed to create Edit control.\n");
1344 ok( rc.
right - rc.
left > 20,
"size of the window (%d) is smaller than expected\n",
1355 ok(parentWnd !=
NULL,
"Failed to create control parent.\n");
1361 ok(
hWnd !=
NULL,
"Failed to create Edit control.\n");
1372 ok(
hWnd !=
NULL,
"Failed to create Edit control.\n");
1387 static const char *
str =
"test\r\ntest";
1392 hWnd =
CreateWindowExA(0,
"EDIT",
"Test", 0, 10, 10, 1, 1,
NULL,
NULL,
hinst,
NULL);
1393 ok(
hWnd !=
NULL,
"Failed to create edit control.\n");
1404 ok(
ret == 1,
"Unexpected return value %d\n",
ret);
1411 ok(
ret == 0,
"Expected 0, got %d\n",
ret);
1426 trace(
"EDIT: buffer limit for single-line\n");
1429 ok(
r == 30000,
"Incorrect default text limit, expected 30000 got %u\n",
r);
1432 ok(
r == 2147483646,
"got limit %u (expected 2147483646)\n",
r);
1436 trace(
"EDIT: buffer limit for multi-line\n");
1439 ok(
r == 30000,
"Incorrect default text limit, expected 30000 got %u\n",
r);
1442 ok(
r == 4294967295U,
"got limit %u (expected 4294967295)\n",
r);
1449 static const char *single_line_str =
"a";
1450 static const char *multiline_str =
"Test\r\nText";
1459 ok(hwEdit !=
NULL,
"Failed to create Edit control.\n");
1462 ok(!
ret,
"Returned %x, expected 0.\n",
ret);
1465 ok(!
ret,
"Returned %x, expected 0.\n",
ret);
1468 ok(!
ret,
"Returned %x, expected 0.\n",
ret);
1471 ok(!
ret,
"Returned %x, expected 0.\n",
ret);
1480 ok(hwEdit !=
NULL,
"Failed to create Edit control.\n");
1483 ok(!
ret,
"Returned %x, expected 0.\n",
ret);
1494 case 932:
case 936:
case 949:
case 950:
case 1361:
1498 (
fs.fsCsb[0] & FS_DBCS_MASK));
1514 memset(&lf, 0,
sizeof(lf));
1524 hwnd =
CreateWindowExA(0,
"Edit",
"A",
WS_POPUP, 0, 0, 5000, 1000,
NULL,
NULL,
NULL,
NULL);
1553 empty_expect = threshold > 80 ? small_margins :
expect;
1556 hwnd =
CreateWindowExA(0,
"Edit",
"A",
WS_POPUP, 0, 0, threshold - 1, 100,
NULL,
NULL,
NULL,
NULL);
1572 hwnd =
CreateWindowExA(0,
"Edit",
"A",
WS_POPUP, 0, 0, threshold, 100,
NULL,
NULL,
NULL,
NULL);
1588 hwnd =
CreateWindowExA(0,
"Edit",
"A",
WS_POPUP, 0, 0, 0, 0,
NULL,
NULL,
NULL,
NULL);
1609 if (side_bearing < 0)
1610 margin =
min(-side_bearing,
width/2);
1645 const WCHAR EditW[] = {
'E',
'd',
'i',
't',0},
strW[] = {
'W',0};
1646 struct char_width_info {
1650 BOOL (
WINAPI *pGetCharWidthInfo)(
HDC,
struct char_width_info *);
1655 memset(&lf, 0,
sizeof(lf));
1665 hwnd =
CreateWindowExW(0, EditW,
strW,
WS_POPUP, 0, 0, 5000, 1000,
NULL,
NULL,
NULL,
NULL);
1683 if (cjk && pGetCharWidthInfo && pGetCharWidthInfo(
hdc, &
info)) {
1693 font_expect = small_margins;
1710 ok(
margins ==
expect,
"%s:%d: expected %d, %d, got %d, %d\n", facename,
charset,
HIWORD(
expect),
LOWORD(
expect),
HIWORD(
margins),
LOWORD(
margins));
1714 hwnd =
CreateWindowExA(0,
"Edit",
"A",
WS_POPUP, 0, 0, 5000, 1000,
NULL,
NULL,
NULL,
NULL);
1728 ok(
margins ==
expect,
"%s:%d: expected %d, %d, got %d, %d\n", facename,
charset,
HIWORD(
expect),
LOWORD(
expect),
HIWORD(
margins),
LOWORD(
margins));
1753 DWORD old_margins, new_margins;
1754 RECT old_rect, new_rect;
1755 INT old_right_margin;
1761 old_right_margin =
HIWORD(old_margins);
1767 ok(
LOWORD(new_margins) == 10,
"Wrong left margin: %d\n",
LOWORD(new_margins));
1768 ok(
HIWORD(new_margins) == old_right_margin,
"Wrong right margin: %d\n",
HIWORD(new_margins));
1772 ok(
LOWORD(new_margins) == 10,
"Wrong left margin: %d\n",
LOWORD(new_margins));
1773 ok(
HIWORD(new_margins) == 10,
"Wrong right margin: %d\n",
HIWORD(new_margins));
1781 ok(new_rect.
left == old_rect.
left + 10,
"The left border of the rectangle is wrong\n");
1782 ok(new_rect.
right == old_rect.
right - 15,
"The right border of the rectangle is wrong\n");
1783 ok(new_rect.
top == old_rect.
top,
"The top border of the rectangle must not change\n");
1784 ok(new_rect.
bottom == old_rect.
bottom,
"The bottom border of the rectangle must not change\n");
1790 SetRect(&old_rect, 1, 1, 99, 99);
1795 ok(
EqualRect(&old_rect, &new_rect),
"The border of the rectangle has changed\n");
1802 ok(
EqualRect(&old_rect, &new_rect),
"The border of the rectangle has changed\n");
1805 ok(
EqualRect(&old_rect, &new_rect),
"The border of the rectangle has changed\n");
1808 ok(
EqualRect(&old_rect, &new_rect),
"The border of the rectangle has changed\n");
1811 ok(
EqualRect(&old_rect, &new_rect),
"The border of the rectangle has changed\n");
1837 skip(
"MS PGothic is not available, skipping some margin tests\n");
1844 skip(
"Ume P Gothic is not available, skipping some margin tests\n");
1851 skip(
"SimSun is not available, skipping some margin tests\n");
1863 skip(
"Arial not found - skipping font change margin tests\n");
1871 memset(&lf, 0,
sizeof(lf));
1946#define edit_pos_ok(exp, got, txt) \
1947 ok(exp == got, "wrong " #txt " expected %d got %d\n", exp, got);
1949#define check_pos(hwEdit, set_height, test_top, test_height, test_left) \
1953 set_client_height(hwEdit, set_height); \
1954 SendMessageA(hwEdit, EM_GETRECT, 0, (LPARAM) &format_rect); \
1955 left_margin = LOWORD(SendMessageA(hwEdit, EM_GETMARGINS, 0, 0)); \
1956 edit_pos_ok(test_top, format_rect.top, vertical position); \
1957 edit_pos_ok((int)test_height, format_rect.bottom - format_rect.top, height); \
1958 edit_pos_ok(test_left, format_rect.left - left_margin, left); \
1977 ok (
font !=
NULL,
"GetStockObject SYSTEM_FONT failed\n");
1979 ok (
dc !=
NULL,
"GetDC() failed\n");
1982 ok (xb,
"GetTextMetrics failed\n");
2084 trace(
"EDIT: Text position (Single line)\n");
2086 trace(
"EDIT: Text position (Multi line)\n");
2099 ok(
r ==
ES_PASSWORD,
"Wrong style expected ES_PASSWORD got: 0x%x\n",
r);
2107 ok(1 ==
r,
"Expected: %d, got: %d\n", 1,
r);
2124 ok(1 ==
r,
"Expected: %d, got: %d\n", 1,
r);
2126 ok(1 ==
r,
"Expected: %d, got: %d\n", 1,
r);
2131 ok(
r == 0,
"Expected: 0, got: %d\n",
r);
2143 const char*
text =
"undo this";
2147 ok(0 ==
r,
"Wrong style expected 0x%x got: 0x%x\n", 0,
r);
2154 cpMin = cpMax = 0xdeadbeef;
2158 ok(0 == cpMin,
"Expected: %d, got %d\n", 0, cpMin);
2159 ok(9 == cpMax,
"Expected: %d, got %d\n", 9, cpMax);
2163 ok(1 ==
r,
"Expected: %d, got: %d\n", 1,
r);
2168 ok(0 ==
r,
"Expected: %d, got len %d\n", 0,
r);
2173 ok(1 ==
r,
"Expected: %d, got: %d\n", 1,
r);
2183 ok(1 ==
r,
"Expected: %d, got: %d\n", 1,
r);
2188 ok(
r == 0,
"Expected: %d, got len %d\n", 0,
r);
2210 ok(1 ==
r,
"Expected: %d, got: %d\n", 1,
r);
2215 ok(2 ==
r,
"Expected: %d, got len %d\n", 2,
r);
2223 ok(0 ==
r,
"Wrong style expected 0x%x got: 0x%x\n", 0,
r);
2230 ok(1 ==
r,
"Expected: %d, got: %d\n", 1,
r);
2235 ok(0 ==
r,
"Expected: %d, got len %d\n", 0,
r);
2250 ok(1 ==
r,
"Expected: %d, got: %d\n", 1,
r);
2255 ok(0 ==
r,
"Expected: %d, got len %d\n", 0,
r);
2277 ok(1 ==
r,
"Expected: %d, got: %d\n", 1,
r);
2282 ok(1 ==
r,
"Expected: %d, got len %d\n", 1,
r);
2290 ok(0 ==
r,
"Wrong style expected 0x%x got: 0x%x\n", 0,
r);
2297 ok(1 ==
r,
"Expected: %d, got: %d\n", 1,
r);
2302 ok(0 ==
r,
"Expected: %d, got len %d\n", 0,
r);
2314 ok(333 ==
r,
"Expected %d, got %d\n", 333,
r);
2316 ok(111 ==
r,
"Expected %d, got %d\n", 111,
r);
2318 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2322 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2324 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2326 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2330 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2332 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2334 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2338 ok(333 ==
r,
"Expected %d, got %d\n", 333,
r);
2340 ok(111 ==
r,
"Expected %d, got %d\n", 111,
r);
2342 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2346 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2348 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2350 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2354 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2356 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2358 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2362 ok(22 ==
r,
"Expected %d, got %d\n", 22,
r);
2364 ok(33 ==
r,
"Expected %d, got %d\n", 33,
r);
2373 ok(2222 ==
r,
"Expected %d, got %d\n", 2222,
r);
2375 ok(1111 ==
r,
"Expected %d, got %d\n", 1111,
r);
2377 ok(2222 ==
r,
"Expected %d, got %d\n", 2222,
r);
2379 ok(11 ==
r,
"Expected %d, got %d\n", 11,
r);
2388 ok(333 ==
r,
"Expected %d, got %d\n", 333,
r);
2390 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2392 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2396 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2398 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2400 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2404 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2406 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2408 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2417 ok(222 ==
r,
"Expected %d, got %d\n", 222,
r);
2419 ok(111 ==
r,
"Expected %d, got %d\n", 111,
r);
2421 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2425 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2427 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2429 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2433 ok(222 ==
r,
"Expected %d, got %d\n", 222,
r);
2435 ok(111 ==
r,
"Expected %d, got %d\n", 111,
r);
2437 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2441 ok(222 ==
r,
"Expected %d, got %d\n", 222,
r);
2443 ok(111 ==
r,
"Expected %d, got %d\n", 111,
r);
2445 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2449 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2451 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2453 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2457 ok(222 ==
r,
"Expected %d, got %d\n", 222,
r);
2459 ok(111 ==
r,
"Expected %d, got %d\n", 111,
r);
2461 ok(444 ==
r,
"Expected %d, got %d\n", 444,
r);
2483 HWND hwEdit, hwParent;
2490 ok(1 ==
r,
"expected 1, got %d\n",
r);
2601 "Expected no WM_COMMAND messages, got %d\n",
menu_messages.wm_command);
2603 "Expected 1 EM_SETSEL message, got %d\n",
menu_messages.em_setsel);
2619 test2.cbClsExtra = 0;
2620 test2.cbWndExtra = 0;
2631 test3.cbClsExtra = 0;
2632 test3.cbWndExtra = 0;
2643 test4.cbClsExtra = 0;
2644 test4.cbWndExtra = 0;
2665 memset(&wc, 0,
sizeof(wc));
2689 char szLocalString[
MAXLEN];
2702 trace(
"EDIT: Oversized font (Multi line)\n");
2713 ok(1 ==
r,
"Expected: %d, got: %d\n", 1,
r);
2715 ok(1 ==
r,
"Expected: %d, got: %d\n", 1,
r);
2717 ok(1 ==
r,
"Expected: %d, got: %d\n", 1,
r);
2720 ok(
strcmp(szLocalString,
"ABC")==0,
2721 "Wrong contents of edit: %s\n", szLocalString);
2724 ok(
r != -1,
"EM_POSFROMCHAR failed index 0\n");
2726 ok(
r != -1,
"EM_POSFROMCHAR failed index 1\n");
2728 ok(
r != -1,
"EM_POSFROMCHAR failed index 2\n");
2730 ok(
r == -1,
"EM_POSFROMCHAR succeeded index 3\n");
2751#define test_dm_messages(wmcommand, wmclose, wmgetdefid, wmnextdlgctl) \
2752 ok(dm_messages.wm_command == wmcommand, "expected %d WM_COMMAND messages, " \
2753 "got %d\n", wmcommand, dm_messages.wm_command); \
2754 ok(dm_messages.wm_close == wmclose, "expected %d WM_CLOSE messages, " \
2755 "got %d\n", wmclose, dm_messages.wm_close); \
2756 ok(dm_messages.wm_getdefid == wmgetdefid, "expected %d WM_GETDIFID messages, " \
2757 "got %d\n", wmgetdefid, dm_messages.wm_getdefid);\
2758 ok(dm_messages.wm_nextdlgctl == wmnextdlgctl, "expected %d WM_NEXTDLGCTL messages, " \
2759 "got %d\n", wmnextdlgctl, dm_messages.wm_nextdlgctl)
2784 HWND hwEdit, hwParent, hwButton;
2790 ok(1 ==
r,
"expected 1, got %d\n",
r);
2792 ok(11 ==
len,
"expected 11, got %d\n",
len);
2795 ok(0x8d ==
r,
"expected 0x8d, got 0x%x\n",
r);
2798 ok(1 ==
r,
"expected 1, got %d\n",
r);
2800 ok(13 ==
len,
"expected 13, got %d\n",
len);
2803 ok(0x8d ==
r,
"expected 0x8d, got 0x%x\n",
r);
2805 ok(1 ==
r,
"expected 1, got %d\n",
r);
2807 ok(13 ==
len,
"expected 13, got %d\n",
len);
2810 ok(1 ==
r,
"expected 1, got %d\n",
r);
2812 ok(13 ==
len,
"expected 13, got %d\n",
len);
2819 ok(1 ==
r,
"expected 1, got %d\n",
r);
2821 ok(11 ==
len,
"expected 11, got %d\n",
len);
2826 msg.lParam = 0xe0001;
2828 ok(0x8d ==
r,
"expected 0x8d, got 0x%x\n",
r);
2831 ok(1 ==
r,
"expected 1, got %d\n",
r);
2833 ok(11 ==
len,
"expected 11, got %d\n",
len);
2843 ok(1 ==
r,
"expected 1, got %d\n",
r);
2848 ok(1 ==
r,
"expected 1, got %d\n",
r);
2855 msg.lParam = 0xf0001;
2857 ok(0x89 ==
r,
"expected 0x89, got 0x%x\n",
r);
2862 ok(1 ==
r,
"expected 1, got %d\n",
r);
2873 ok(1 ==
r,
"expected 1, got %d\n",
r);
2880 msg.lParam = 0x10001;
2882 ok(0x8d ==
r,
"expected 0x8d, got 0x%x\n",
r);
2887 ok(1 ==
r,
"expected 1, got %d\n",
r);
2892 ok(1 ==
r,
"expected 1, got %d\n",
r);
2897 ok(1 ==
r,
"expected 1, got %d\n",
r);
2906 ok(1 ==
r,
"expected 1, got %d\n",
r);
2916 static const WCHAR str1W[] = {
'1',
'1',
'1',
'1',
'+',
'1',
'1',
'1',
'1',
'+',
'1',
'1',
'1',
'1',
'#',0};
2917 static const WCHAR str2W[] = {
'2',
'2',
'2',
'2',
'-',
'2',
'2',
'2',
'2',
'-',
'2',
'2',
'2',
'2',
'-',
'2',
'2',
'2',
'2',
'#',0};
2918 static const char str0[] =
"untouched";
2919 static const char str1[] =
"1111+1111+1111#";
2920 static const char str1_1[] =
"2111+1111+1111#";
2921 static const char str2[] =
"2222-2222-2222-2222#";
2922 static const char str3[] =
"3333*3333*3333*3333*3333#";
2932 trace(
"EDIT: EM_GETHANDLE\n");
2939 ok(hmem ==
NULL,
"got %p (expected NULL)\n", hmem);
2954 "got %d and \"%s\" (expected %d and \"%s\")\n",
r,
current,
lstrlenA(str1), str1);
2957 ok(hmem !=
NULL,
"got %p (expected != NULL)\n", hmem);
2975 "Unexpected retval %d and text \"%s\" (expected %d and \"%s\")\n",
r,
current,
lstrlenA(str1), str1);
2989 "Unexpected retval %d and text \"%s\" (expected %d and \"%s\")\n",
r,
current,
lstrlenA(str1_1), str1_1);
2993 ok(
r,
"Failed to set text.\n");
3000 ok(
r,
"Failed to replace selection.\n");
3008 ok(halloc !=
NULL,
"got %p (expected != NULL)\n", halloc);
3019 ok(hmem2 !=
NULL,
"got %p (expected != NULL)\n", hmem2);
3029 "got %d and \"%s\" (expected %d and \"%s\")\n",
r,
current,
lstrlenA(str2), str2);
3039 "got %d and \"%s\" (expected %d and \"%s\")\n",
r,
current,
lstrlenA(str3), str3);
3059 ok(hmem2 == hmem,
"got %p (expected %p)\n", hmem2, hmem);
3069 static const char *
str =
"this is a simple text";
3070 static const char *str2 =
"first line\r\nsecond line";
3081 ok(hmem !=
NULL,
"got %p (expected != NULL)\n", hmem);