Improve error reporting.
This commit is contained in:
parent
52614c62e4
commit
4b1479c990
|
@ -44,177 +44,177 @@ void test_message_from_string(void)
|
||||||
/* the basics */
|
/* the basics */
|
||||||
r = FormatMessageA(FORMAT_MESSAGE_FROM_STRING, "test", 0,
|
r = FormatMessageA(FORMAT_MESSAGE_FROM_STRING, "test", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR),NULL);
|
0, out, sizeof out/sizeof (CHAR),NULL);
|
||||||
ok(!strcmp("test", out),"failed");
|
ok(!strcmp("test", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* using the format feature */
|
/* using the format feature */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!s!", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!s!", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR), "test");
|
0, out, sizeof out/sizeof (CHAR), "test");
|
||||||
ok(!strcmp("test", out),"failed");
|
ok(!strcmp("test", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* no format */
|
/* no format */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR), "test");
|
0, out, sizeof out/sizeof (CHAR), "test");
|
||||||
ok(!strcmp("test", out),"failed");
|
ok(!strcmp("test", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* two pieces */
|
/* two pieces */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1%2", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1%2", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR), "te","st");
|
0, out, sizeof out/sizeof (CHAR), "te","st");
|
||||||
ok(!strcmp("test", out),"failed");
|
ok(!strcmp("test", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* three pieces */
|
/* three pieces */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1%3%2%1", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1%3%2%1", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR), "t","s","e");
|
0, out, sizeof out/sizeof (CHAR), "t","s","e");
|
||||||
ok(!strcmp("test", out),"failed");
|
ok(!strcmp("test", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* s doesn't seem to work in format strings */
|
/* s doesn't seem to work in format strings */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "%!s!", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "%!s!", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR), "test");
|
0, out, sizeof out/sizeof (CHAR), "test");
|
||||||
ok(!strcmp("!s!", out),"failed");
|
ok(!strcmp("!s!", out),"failed out=[%s]",out);
|
||||||
ok(r==3,"failed");
|
ok(r==3,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* S is unicode */
|
/* S is unicode */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!S!", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!S!", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR), szwTest);
|
0, out, sizeof out/sizeof (CHAR), szwTest);
|
||||||
ok(!strcmp("test", out),"failed");
|
ok(!strcmp("test", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* as characters */
|
/* as characters */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!c!%2!c!%3!c!%1!c!", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!c!%2!c!%3!c!%1!c!", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR), 't','e','s');
|
0, out, sizeof out/sizeof (CHAR), 't','e','s');
|
||||||
ok(!strcmp("test", out),"failed");
|
ok(!strcmp("test", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* some numbers */
|
/* some numbers */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!d!%2!d!%3!d!", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!d!%2!d!%3!d!", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR), 1,2,3);
|
0, out, sizeof out/sizeof (CHAR), 1,2,3);
|
||||||
ok(!strcmp("123", out),"failed");
|
ok(!strcmp("123", out),"failed out=[%s]",out);
|
||||||
ok(r==3,"failed");
|
ok(r==3,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* a single digit with some spacing */
|
/* a single digit with some spacing */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!4d!", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!4d!", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR), 1);
|
0, out, sizeof out/sizeof (CHAR), 1);
|
||||||
ok(!strcmp(" 1", out),"failed");
|
ok(!strcmp(" 1", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* a single digit, left justified */
|
/* a single digit, left justified */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!-4d!", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!-4d!", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR), 1);
|
0, out, sizeof out/sizeof (CHAR), 1);
|
||||||
ok(!strcmp("1 ", out),"failed");
|
ok(!strcmp("1 ", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* two digit decimal number */
|
/* two digit decimal number */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!4d!", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!4d!", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR), 11);
|
0, out, sizeof out/sizeof (CHAR), 11);
|
||||||
ok(!strcmp(" 11", out),"failed");
|
ok(!strcmp(" 11", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* a hex number */
|
/* a hex number */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!4x!", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!4x!", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR), 11);
|
0, out, sizeof out/sizeof (CHAR), 11);
|
||||||
ok(!strcmp(" b", out),"failed");
|
ok(!strcmp(" b", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* a hex number, upper case */
|
/* a hex number, upper case */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!4X!", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!4X!", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR), 11);
|
0, out, sizeof out/sizeof (CHAR), 11);
|
||||||
ok(!strcmp(" B", out),"failed");
|
ok(!strcmp(" B", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* a hex number, upper case, left justified */
|
/* a hex number, upper case, left justified */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!-4X!", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!-4X!", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR), 11);
|
0, out, sizeof out/sizeof (CHAR), 11);
|
||||||
ok(!strcmp("B ", out),"failed");
|
ok(!strcmp("B ", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* a long hex number, upper case */
|
/* a long hex number, upper case */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!4X!", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "%1!4X!", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR), 0x1ab);
|
0, out, sizeof out/sizeof (CHAR), 0x1ab);
|
||||||
ok(!strcmp(" 1AB", out),"failed");
|
ok(!strcmp(" 1AB", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* two percent... */
|
/* two percent... */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, " %%%% ", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, " %%%% ", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR));
|
0, out, sizeof out/sizeof (CHAR));
|
||||||
ok(!strcmp(" %% ", out),"failed");
|
ok(!strcmp(" %% ", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* periods are special cases */
|
/* periods are special cases */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, " %.%. %1!d!", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, " %.%. %1!d!", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR), 0x1ab);
|
0, out, sizeof out/sizeof (CHAR), 0x1ab);
|
||||||
ok(!strcmp(" .. 427", out),"failed");
|
ok(!strcmp(" .. 427", out),"failed out=[%s]",out);
|
||||||
ok(r==7,"failed");
|
ok(r==7,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* %0 ends the line */
|
/* %0 ends the line */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "test%0test", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "test%0test", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR));
|
0, out, sizeof out/sizeof (CHAR));
|
||||||
ok(!strcmp("test", out),"failed");
|
ok(!strcmp("test", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* %! prints an exclaimation */
|
/* %! prints an exclaimation */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "yah%!%0 ", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "yah%!%0 ", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR));
|
0, out, sizeof out/sizeof (CHAR));
|
||||||
ok(!strcmp("yah!", out),"failed");
|
ok(!strcmp("yah!", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* %space */
|
/* %space */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "% % ", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "% % ", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR));
|
0, out, sizeof out/sizeof (CHAR));
|
||||||
ok(!strcmp(" ", out),"failed");
|
ok(!strcmp(" ", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* line feed */
|
/* line feed */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "hi\n", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "hi\n", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR));
|
0, out, sizeof out/sizeof (CHAR));
|
||||||
ok(!strcmp("hi\r\n", out),"failed");
|
ok(!strcmp("hi\r\n", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* carriage return line feed */
|
/* carriage return line feed */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "hi\r\n", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "hi\r\n", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR));
|
0, out, sizeof out/sizeof (CHAR));
|
||||||
ok(!strcmp("hi\r\n", out),"failed");
|
ok(!strcmp("hi\r\n", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* carriage return line feed */
|
/* carriage return line feed */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "\r", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "\r", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR));
|
0, out, sizeof out/sizeof (CHAR));
|
||||||
ok(!strcmp("\r\n", out),"failed");
|
ok(!strcmp("\r\n", out),"failed out=[%s]",out);
|
||||||
ok(r==2,"failed");
|
ok(r==2,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* carriage return line feed */
|
/* carriage return line feed */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING, "\r\r\n", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING, "\r\r\n", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR));
|
0, out, sizeof out/sizeof (CHAR));
|
||||||
ok(!strcmp("\r\n\r\n", out),"failed");
|
ok(!strcmp("\r\n\r\n", out),"failed out=[%s]",out);
|
||||||
ok(r==4,"failed");
|
ok(r==4,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* change of pace... test the low byte of dwflags */
|
/* change of pace... test the low byte of dwflags */
|
||||||
/* line feed */
|
/* line feed */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING | FORMAT_MESSAGE_MAX_WIDTH_MASK, "hi\n", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING | FORMAT_MESSAGE_MAX_WIDTH_MASK, "hi\n", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR));
|
0, out, sizeof out/sizeof (CHAR));
|
||||||
ok(!strcmp("hi ", out),"failed");
|
ok(!strcmp("hi ", out),"failed out=[%s]",out);
|
||||||
ok(r==3,"failed");
|
ok(r==3,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* carriage return line feed */
|
/* carriage return line feed */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING | FORMAT_MESSAGE_MAX_WIDTH_MASK, "hi\r\n", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING | FORMAT_MESSAGE_MAX_WIDTH_MASK, "hi\r\n", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR));
|
0, out, sizeof out/sizeof (CHAR));
|
||||||
ok(!strcmp("hi ", out),"failed");
|
ok(!strcmp("hi ", out),"failed out=[%s]",out);
|
||||||
ok(r==3,"failed");
|
ok(r==3,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* carriage return line feed */
|
/* carriage return line feed */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING | FORMAT_MESSAGE_MAX_WIDTH_MASK, "\r", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING | FORMAT_MESSAGE_MAX_WIDTH_MASK, "\r", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR));
|
0, out, sizeof out/sizeof (CHAR));
|
||||||
ok(!strcmp(" ", out),"failed");
|
ok(!strcmp(" ", out),"failed out=[%s]",out);
|
||||||
ok(r==1,"failed");
|
ok(r==1,"failed: r=%ld",r);
|
||||||
|
|
||||||
/* carriage return line feed */
|
/* carriage return line feed */
|
||||||
r = doit(FORMAT_MESSAGE_FROM_STRING | FORMAT_MESSAGE_MAX_WIDTH_MASK, "\r\r\n", 0,
|
r = doit(FORMAT_MESSAGE_FROM_STRING | FORMAT_MESSAGE_MAX_WIDTH_MASK, "\r\r\n", 0,
|
||||||
0, out, sizeof out/sizeof (CHAR));
|
0, out, sizeof out/sizeof (CHAR));
|
||||||
ok(!strcmp(" ", out),"failed");
|
ok(!strcmp(" ", out),"failed out=[%s]",out);
|
||||||
ok(r==2,"failed");
|
ok(r==2,"failed: r=%ld",r);
|
||||||
}
|
}
|
||||||
|
|
||||||
START_TEST(format_msg)
|
START_TEST(format_msg)
|
||||||
|
|
Loading…
Reference in New Issue