USER32: fix EM_SETLIMITTEXT with zeroed args (with tests)
Detlef Riekenberg
wine.dev at web.de
Sun Oct 14 09:42:52 CDT 2007
On Fr, 2007-10-12 at 19:42 -0500, a_villacis at palosanto.com wrote:
You must use your real name to get a patch accepted.
> + /* Maximum limits set by EM_SETLIMITTEXT vary by OS version */
> + osVersion = GetVersion();
> + if (osVersion < 0x80000000) {
> + /* WinNT, Win2K, WinXP */
> + limitSingleLine = 2147483646UL;
> + limitMultiLine = 4294967295UL;
> + } else {
> + /* Win9x, WinME */
> + limitSingleLine = 32766;
> + limitMultiLine = 65535;
> + }
The tests should not depend on the OS-Version.
Please handle both possible results in the ok()
> + /* Test default limit for single-line control */
> + trace("EDIT: buffer limit for single-line\n");
> + hwEdit = create_editcontrol(ES_AUTOHSCROLL | ES_AUTOVSCROLL, 0);
> + r = SendMessage(hwEdit, EM_GETLIMITTEXT, 0, 0);
> + ok(r == 30000, "Incorrect default text limit, expected 30000 got
> %u\n", r);
> + SendMessage(hwEdit, EM_SETLIMITTEXT, 0, 0);
> + r = SendMessage(hwEdit, EM_GETLIMITTEXT, 0, 0);
/* Win9x+ME: 32766; WinNT: 2147483646UL */
ok( (r == 32766) || (r == 2147483646UL),
"got limit %u (expected 32766 or 2147483646)\n", r);
> + ok(r == limitSingleLine, "Incorrect default text limit, expected
> %u got %u\n", limitSingleLine, r);
Your looks like a copy&paste error ("default text limit" is wrong here).
Change the multiline-test the same way.
To allow an easy review, you can split your patch:
one patch for the implementation and a second patch for the test.
Thanks for helping wine
--
By by ... Detlef
More information about the wine-devel
mailing list