On Mon, Feb 17, 2020 at 10:01:04AM +0100, Sven Baars wrote:
Signed-off-by: Sven Baars sbaars@codeweavers.com
dlls/gdi32/tests/font.c | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-)
diff --git a/dlls/gdi32/tests/font.c b/dlls/gdi32/tests/font.c index ea1bb960df..48f0710bf6 100644 --- a/dlls/gdi32/tests/font.c +++ b/dlls/gdi32/tests/font.c @@ -4926,6 +4926,7 @@ static void test_GetCharacterPlacement(void) GCP_RESULTSA result; DWORD size, size2; WCHAR glyphs[20];
int pos[20]; HDC hdc;
hdc = CreateCompatibleDC(0);
@@ -4933,23 +4934,56 @@ static void test_GetCharacterPlacement(void)
memset(&result, 0, sizeof(result)); result.lStructSize = sizeof(result);
result.lpCaretPos = pos; result.lpGlyphs = glyphs; result.nGlyphs = 20;
pos[0] = -1;
glyphs[0] = '!'; size = GetCharacterPlacementA(hdc, "Wine Test", 9, 0, &result, 0); ok(size, "GetCharacterPlacementA failed!\n");
- ok(result.nGlyphs == 9, "Unexpected number of glyphs %u\n", result.nGlyphs);
- ok(glyphs[0] == 'W', "Unexpected first glyph %s\n", wine_dbgstr_wn(glyphs, 1));
- ok(pos[0] == 0, "Unexpected caret position %d\n", pos[0]);
- pos[0] = -1;
- glyphs[0] = '!';
- result.nGlyphs = 20;
- size2 = GetCharacterPlacementA(hdc, "Wine Test", 0, 0, &result, 0);
- ok(!size2, "Expected GetCharacterPlacementA to fail\n");
- todo_wine ok(result.nGlyphs == 20, "Unexpected number of glyphs %u\n", result.nGlyphs);
- ok(glyphs[0] == '!', "Unexpected first glyph %s\n", wine_dbgstr_wn(glyphs, 1));
- todo_wine ok(pos[0] == -1, "Unexpected caret position %d\n", pos[0]);
- pos[0] = -1;
- glyphs[0] = '!';
- result.nGlyphs = 20; size2 = GetCharacterPlacementA(hdc, "Wine Test", 9, 0, NULL, 0); ok(size2, "GetCharacterPlacementA failed!\n"); ok(size == size2, "GetCharacterPlacementA returned different result: %u vs %u\n", size2, size);
- ok(result.nGlyphs == 20, "Unexpected number of glyphs %u\n", result.nGlyphs);
- ok(glyphs[0] == '!', "Unexpected first glyph %s\n", wine_dbgstr_wn(glyphs, 1));
- ok(pos[0] == -1, "Unexpected caret position %d\n", pos[0]);
There's little point in testing the values from the results structure if it's not passed to the function. So leave these additional tests and initialisations out.
- pos[0] = -1;
- glyphs[0] = '!';
- result.nGlyphs = 20; size2 = GetCharacterPlacementA(hdc, "Wine Test", 9, 1024, NULL, GCP_REORDER); ok(size2, "GetCharacterPlacementA failed!\n"); ok(size == size2, "GetCharacterPlacementA returned different result: %u vs %u\n", size2, size);
- ok(result.nGlyphs == 20, "Unexpected number of glyphs %u\n", result.nGlyphs);
- ok(glyphs[0] == '!', "Unexpected first glyph %s\n", wine_dbgstr_wn(glyphs, 1));
- ok(pos[0] == -1, "Unexpected caret position %d\n", pos[0]);
And the same for these.
Huw.