[PATCH 1/7] d3dx9/tests: Add some tests for ID3DXFont_DrawText().

Zhiyi Zhang zzhang at codeweavers.com
Sat Jan 4 19:14:44 CST 2020


On 1/4/20 7:59 PM, Sven Baars wrote:
> From: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
>
> Signed-off-by: Sven Baars <sbaars at codeweavers.com>
> ---
> I'm sending this series mostly so it can be reviewed, but I sent the
> tests first so they may still be committed during code freeze, if
> they are acceptable.
>
>   dlls/d3dx9_36/tests/core.c | 63 ++++++++++++++++++++++++++++++++++++++
>   1 file changed, 63 insertions(+)
>
> diff --git a/dlls/d3dx9_36/tests/core.c b/dlls/d3dx9_36/tests/core.c
> index fa874a5ef5..8b90f0ef5f 100644
> --- a/dlls/d3dx9_36/tests/core.c
> +++ b/dlls/d3dx9_36/tests/core.c
> @@ -637,6 +637,69 @@ static void test_ID3DXFont(IDirect3DDevice9 *device)
>   
>           ID3DXFont_Release(font);
>       }
> +
> +    /* ID3DXFont_DrawTextA, ID3DXFont_DrawTextW */
> +    hr = D3DXCreateFontA(device, 12, 0, FW_DONTCARE, 0, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, "Arial", &font);
Arial may be unavailable. Please use Tahoma instead.
> +    if (SUCCEEDED(hr)) {
> +        RECT rect;
> +        int height;
> +
> +        todo_wine {
> +        SetRect(&rect, 10, 10, 200, 200);
> +
> +        height = ID3DXFont_DrawTextA(font, NULL, "test", -2, &rect, 0, 0xFF00FF);
> +        ok(height == 12, "DrawTextA returned %d, expected 12.\n", height);
> +
> +        height = ID3DXFont_DrawTextA(font, NULL, "test", -1, &rect, 0, 0xFF00FF);
> +        ok(height == 12, "DrawTextA returned %d, expected 12.\n", height);
> +
> +        height = ID3DXFont_DrawTextA(font, NULL, "test", 0, &rect, 0, 0xFF00FF);
> +        ok(height == 0, "DrawTextA returned %d, expected 0.\n", height);
> +
> +        height = ID3DXFont_DrawTextA(font, NULL, "test", 1, &rect, 0, 0xFF00FF);
> +        ok(height == 12, "DrawTextA returned %d, expected 12.\n", height);
> +
> +        height = ID3DXFont_DrawTextA(font, NULL, "test", 2, &rect, 0, 0xFF00FF);
> +        ok(height == 12, "DrawTextA returned %d, expected 12.\n", height);
> +
> +        height = ID3DXFont_DrawTextA(font, NULL, "test", -1, NULL, 0, 0xFF00FF);
> +        ok(height == 12, "DrawTextA returned %d, expected 12.\n", height);
> +
> +        height = ID3DXFont_DrawTextA(font, NULL, "test", -1, NULL, DT_CALCRECT, 0xFF00FF);
> +        ok(height == 12, "DrawTextA returned %d, expected 12.\n", height);
> +
> +        height = ID3DXFont_DrawTextA(font, NULL, NULL, -1, NULL, 0, 0xFF00FF);
> +        ok(height == 0, "DrawTextA returned %d, expected 0.\n", height);
> +
> +if (0) { /* Causes a lockup on windows 7. */
> +        height = ID3DXFont_DrawTextW(font, NULL, testW, -2, &rect, 0, 0xFF00FF);
> +        ok(height == 12, "DrawTextW returned %d, expected 12.\n", height);
> +}
> +
> +        height = ID3DXFont_DrawTextW(font, NULL, testW, -1, &rect, 0, 0xFF00FF);
> +        ok(height == 12, "DrawTextW returned %d, expected 12.\n", height);
> +
> +        height = ID3DXFont_DrawTextW(font, NULL, testW, 0, &rect, 0, 0xFF00FF);
> +        ok(height == 0, "DrawTextW returned %d, expected 0.\n", height);
> +
> +        height = ID3DXFont_DrawTextW(font, NULL, testW, 1, &rect, 0, 0xFF00FF);
> +        ok(height == 12, "DrawTextW returned %d, expected 12.\n", height);
> +
> +        height = ID3DXFont_DrawTextW(font, NULL, testW, 2, &rect, 0, 0xFF00FF);
> +        ok(height == 12, "DrawTextW returned %d, expected 12.\n", height);
> +
> +        height = ID3DXFont_DrawTextW(font, NULL, testW, -1, NULL, 0, 0xFF00FF);
> +        ok(height == 12, "DrawTextW returned %d, expected 12.\n", height);
> +
> +        height = ID3DXFont_DrawTextW(font, NULL, testW, -1, NULL, DT_CALCRECT, 0xFF00FF);
> +        ok(height == 12, "DrawTextW returned %d, expected 12.\n", height);
> +
> +        height = ID3DXFont_DrawTextW(font, NULL, NULL, -1, NULL, 0, 0xFF00FF);
> +        ok(height == 0, "DrawTextW returned %d, expected 0.\n", height);
> +        }
> +
> +        ID3DXFont_Release(font);
> +    }
>   }
>   
>   static void test_D3DXCreateRenderToSurface(IDirect3DDevice9 *device)



More information about the wine-devel mailing list