[PATCH v2 2/5] d3dx9/tests: Replace some if statements after D3DXCreateFontA.

Sven Baars sbaars at codeweavers.com
Mon Jan 27 05:28:06 CST 2020


Signed-off-by: Sven Baars <sbaars at codeweavers.com>
---
 dlls/d3dx9_36/tests/core.c | 289 ++++++++++++++++++-------------------
 1 file changed, 138 insertions(+), 151 deletions(-)

diff --git a/dlls/d3dx9_36/tests/core.c b/dlls/d3dx9_36/tests/core.c
index 75146575be..537109c59d 100644
--- a/dlls/d3dx9_36/tests/core.c
+++ b/dlls/d3dx9_36/tests/core.c
@@ -321,12 +321,19 @@ static void test_ID3DXFont(IDirect3DDevice9 *device)
         { 72, 256, 8 },
     };
     const unsigned int size = ARRAY_SIZE(testW);
+    IDirect3DTexture9 *texture;
+    IDirect3DDevice9 *bufdev;
     D3DXFONT_DESCA desc;
+    TEXTMETRICA metrics, expmetrics;
     ID3DXSprite *sprite;
     int ref, i, height;
     ID3DXFont *font;
     HRESULT hr;
-    RECT rect;
+    POINT cellinc;
+    RECT rect, blackbox;
+    BOOL ret;
+    HDC hdc;
+    char c;
 
     /* D3DXCreateFont */
     ref = get_ref((IUnknown*)device);
@@ -385,191 +392,172 @@ static void test_ID3DXFont(IDirect3DDevice9 *device)
 
     /* ID3DXFont_GetDevice */
     hr = D3DXCreateFontA(device, 12, 0, FW_DONTCARE, 0, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, "Tahoma", &font);
-    if(SUCCEEDED(hr)) {
-        IDirect3DDevice9 *bufdev;
+    ok(hr == D3D_OK, "D3DXCreateFont returned %#x, expected %#x\n", hr, D3D_OK);
 
-        hr = ID3DXFont_GetDevice(font, NULL);
-        ok(hr == D3DERR_INVALIDCALL, "ID3DXFont_GetDevice returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL);
+    hr = ID3DXFont_GetDevice(font, NULL);
+    ok(hr == D3DERR_INVALIDCALL, "ID3DXFont_GetDevice returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL);
 
-        ref = get_ref((IUnknown*)device);
-        hr = ID3DXFont_GetDevice(font, &bufdev);
-        ok(hr == D3D_OK, "ID3DXFont_GetDevice returned %#x, expected %#x\n", hr, D3D_OK);
-        check_release((IUnknown*)bufdev, ref);
+    ref = get_ref((IUnknown*)device);
+    hr = ID3DXFont_GetDevice(font, &bufdev);
+    ok(hr == D3D_OK, "ID3DXFont_GetDevice returned %#x, expected %#x\n", hr, D3D_OK);
+    check_release((IUnknown*)bufdev, ref);
 
-        ID3DXFont_Release(font);
-    } else skip("Failed to create a ID3DXFont object\n");
+    ID3DXFont_Release(font);
 
 
     /* ID3DXFont_GetDesc */
     hr = D3DXCreateFontA(device, 12, 8, FW_BOLD, 2, TRUE, ANSI_CHARSET, OUT_RASTER_PRECIS, ANTIALIASED_QUALITY, VARIABLE_PITCH, "Tahoma", &font);
-    if(SUCCEEDED(hr)) {
-        hr = ID3DXFont_GetDescA(font, NULL);
-        ok(hr == D3DERR_INVALIDCALL, "ID3DXFont_GetDevice returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL);
-
-        hr = ID3DXFont_GetDescA(font, &desc);
-        ok(hr == D3D_OK, "ID3DXFont_GetDevice returned %#x, expected %#x\n", hr, D3D_OK);
-
-        ok(desc.Height == 12, "ID3DXFont_GetDesc returned font height %d, expected %d\n", desc.Height, 12);
-        ok(desc.Width == 8, "ID3DXFont_GetDesc returned font width %d, expected %d\n", desc.Width, 8);
-        ok(desc.Weight == FW_BOLD, "ID3DXFont_GetDesc returned font weight %d, expected %d\n", desc.Weight, FW_BOLD);
-        ok(desc.MipLevels == 2, "ID3DXFont_GetDesc returned font miplevels %d, expected %d\n", desc.MipLevels, 2);
-        ok(desc.Italic == TRUE, "ID3DXFont_GetDesc says Italic was %d, but Italic should be %d\n", desc.Italic, TRUE);
-        ok(desc.CharSet == ANSI_CHARSET, "ID3DXFont_GetDesc returned font charset %d, expected %d\n", desc.CharSet, ANSI_CHARSET);
-        ok(desc.OutputPrecision == OUT_RASTER_PRECIS, "ID3DXFont_GetDesc returned an output precision of %d, expected %d\n", desc.OutputPrecision, OUT_RASTER_PRECIS);
-        ok(desc.Quality == ANTIALIASED_QUALITY, "ID3DXFont_GetDesc returned font quality %d, expected %d\n", desc.Quality, ANTIALIASED_QUALITY);
-        ok(desc.PitchAndFamily == VARIABLE_PITCH, "ID3DXFont_GetDesc returned pitch and family %d, expected %d\n", desc.PitchAndFamily, VARIABLE_PITCH);
-        ok(strcmp(desc.FaceName, "Tahoma") == 0, "ID3DXFont_GetDesc returned facename \"%s\", expected \"%s\"\n", desc.FaceName, "Tahoma");
+    ok(hr == D3D_OK, "D3DXCreateFont returned %#x, expected %#x\n", hr, D3D_OK);
 
-        ID3DXFont_Release(font);
-    } else skip("Failed to create a ID3DXFont object\n");
+    hr = ID3DXFont_GetDescA(font, NULL);
+    ok(hr == D3DERR_INVALIDCALL, "ID3DXFont_GetDevice returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL);
+
+    hr = ID3DXFont_GetDescA(font, &desc);
+    ok(hr == D3D_OK, "ID3DXFont_GetDevice returned %#x, expected %#x\n", hr, D3D_OK);
+
+    ok(desc.Height == 12, "ID3DXFont_GetDesc returned font height %d, expected %d\n", desc.Height, 12);
+    ok(desc.Width == 8, "ID3DXFont_GetDesc returned font width %d, expected %d\n", desc.Width, 8);
+    ok(desc.Weight == FW_BOLD, "ID3DXFont_GetDesc returned font weight %d, expected %d\n", desc.Weight, FW_BOLD);
+    ok(desc.MipLevels == 2, "ID3DXFont_GetDesc returned font miplevels %d, expected %d\n", desc.MipLevels, 2);
+    ok(desc.Italic == TRUE, "ID3DXFont_GetDesc says Italic was %d, but Italic should be %d\n", desc.Italic, TRUE);
+    ok(desc.CharSet == ANSI_CHARSET, "ID3DXFont_GetDesc returned font charset %d, expected %d\n", desc.CharSet, ANSI_CHARSET);
+    ok(desc.OutputPrecision == OUT_RASTER_PRECIS, "ID3DXFont_GetDesc returned an output precision of %d, expected %d\n", desc.OutputPrecision, OUT_RASTER_PRECIS);
+    ok(desc.Quality == ANTIALIASED_QUALITY, "ID3DXFont_GetDesc returned font quality %d, expected %d\n", desc.Quality, ANTIALIASED_QUALITY);
+    ok(desc.PitchAndFamily == VARIABLE_PITCH, "ID3DXFont_GetDesc returned pitch and family %d, expected %d\n", desc.PitchAndFamily, VARIABLE_PITCH);
+    ok(strcmp(desc.FaceName, "Tahoma") == 0, "ID3DXFont_GetDesc returned facename \"%s\", expected \"%s\"\n", desc.FaceName, "Tahoma");
+
+    ID3DXFont_Release(font);
 
 
     /* ID3DXFont_GetDC + ID3DXFont_GetTextMetrics */
     hr = D3DXCreateFontA(device, 12, 0, FW_DONTCARE, 0, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, "Tahoma", &font);
-    if(SUCCEEDED(hr)) {
-        HDC hdc;
+    ok(hr == D3D_OK, "D3DXCreateFont returned %#x, expected %#x\n", hr, D3D_OK);
 
-        hdc = ID3DXFont_GetDC(font);
-        ok(hdc != NULL, "ID3DXFont_GetDC returned an invalid handle\n");
-        if(hdc) {
-            TEXTMETRICA metrics, expmetrics;
-            BOOL ret;
-
-            ret = ID3DXFont_GetTextMetricsA(font, &metrics);
-            ok(ret, "ID3DXFont_GetTextMetricsA failed\n");
-            ret = GetTextMetricsA(hdc, &expmetrics);
-            ok(ret, "GetTextMetricsA failed\n");
-
-            ok(metrics.tmHeight == expmetrics.tmHeight, "Returned height %d, expected %d\n", metrics.tmHeight, expmetrics.tmHeight);
-            ok(metrics.tmAscent == expmetrics.tmAscent, "Returned ascent %d, expected %d\n", metrics.tmAscent, expmetrics.tmAscent);
-            ok(metrics.tmDescent == expmetrics.tmDescent, "Returned descent %d, expected %d\n", metrics.tmDescent, expmetrics.tmDescent);
-            ok(metrics.tmInternalLeading == expmetrics.tmInternalLeading, "Returned internal leading %d, expected %d\n", metrics.tmInternalLeading, expmetrics.tmInternalLeading);
-            ok(metrics.tmExternalLeading == expmetrics.tmExternalLeading, "Returned external leading %d, expected %d\n", metrics.tmExternalLeading, expmetrics.tmExternalLeading);
-            ok(metrics.tmAveCharWidth == expmetrics.tmAveCharWidth, "Returned average char width %d, expected %d\n", metrics.tmAveCharWidth, expmetrics.tmAveCharWidth);
-            ok(metrics.tmMaxCharWidth == expmetrics.tmMaxCharWidth, "Returned maximum char width %d, expected %d\n", metrics.tmMaxCharWidth, expmetrics.tmMaxCharWidth);
-            ok(metrics.tmWeight == expmetrics.tmWeight, "Returned weight %d, expected %d\n", metrics.tmWeight, expmetrics.tmWeight);
-            ok(metrics.tmOverhang == expmetrics.tmOverhang, "Returned overhang %d, expected %d\n", metrics.tmOverhang, expmetrics.tmOverhang);
-            ok(metrics.tmDigitizedAspectX == expmetrics.tmDigitizedAspectX, "Returned digitized x aspect %d, expected %d\n", metrics.tmDigitizedAspectX, expmetrics.tmDigitizedAspectX);
-            ok(metrics.tmDigitizedAspectY == expmetrics.tmDigitizedAspectY, "Returned digitized y aspect %d, expected %d\n", metrics.tmDigitizedAspectY, expmetrics.tmDigitizedAspectY);
-            ok(metrics.tmFirstChar == expmetrics.tmFirstChar, "Returned first char %d, expected %d\n", metrics.tmFirstChar, expmetrics.tmFirstChar);
-            ok(metrics.tmLastChar == expmetrics.tmLastChar, "Returned last char %d, expected %d\n", metrics.tmLastChar, expmetrics.tmLastChar);
-            ok(metrics.tmDefaultChar == expmetrics.tmDefaultChar, "Returned default char %d, expected %d\n", metrics.tmDefaultChar, expmetrics.tmDefaultChar);
-            ok(metrics.tmBreakChar == expmetrics.tmBreakChar, "Returned break char %d, expected %d\n", metrics.tmBreakChar, expmetrics.tmBreakChar);
-            ok(metrics.tmItalic == expmetrics.tmItalic, "Returned italic %d, expected %d\n", metrics.tmItalic, expmetrics.tmItalic);
-            ok(metrics.tmUnderlined == expmetrics.tmUnderlined, "Returned underlined %d, expected %d\n", metrics.tmUnderlined, expmetrics.tmUnderlined);
-            ok(metrics.tmStruckOut == expmetrics.tmStruckOut, "Returned struck out %d, expected %d\n", metrics.tmStruckOut, expmetrics.tmStruckOut);
-            ok(metrics.tmPitchAndFamily == expmetrics.tmPitchAndFamily, "Returned pitch and family %d, expected %d\n", metrics.tmPitchAndFamily, expmetrics.tmPitchAndFamily);
-            ok(metrics.tmCharSet == expmetrics.tmCharSet, "Returned charset %d, expected %d\n", metrics.tmCharSet, expmetrics.tmCharSet);
-        }
-        ID3DXFont_Release(font);
-    } else skip("Failed to create a ID3DXFont object\n");
+    hdc = ID3DXFont_GetDC(font);
+    ok(hdc != NULL, "ID3DXFont_GetDC returned an invalid handle\n");
+
+    ret = ID3DXFont_GetTextMetricsA(font, &metrics);
+    ok(ret, "ID3DXFont_GetTextMetricsA failed\n");
+    ret = GetTextMetricsA(hdc, &expmetrics);
+    ok(ret, "GetTextMetricsA failed\n");
+
+    ok(metrics.tmHeight == expmetrics.tmHeight, "Returned height %d, expected %d\n", metrics.tmHeight, expmetrics.tmHeight);
+    ok(metrics.tmAscent == expmetrics.tmAscent, "Returned ascent %d, expected %d\n", metrics.tmAscent, expmetrics.tmAscent);
+    ok(metrics.tmDescent == expmetrics.tmDescent, "Returned descent %d, expected %d\n", metrics.tmDescent, expmetrics.tmDescent);
+    ok(metrics.tmInternalLeading == expmetrics.tmInternalLeading, "Returned internal leading %d, expected %d\n", metrics.tmInternalLeading, expmetrics.tmInternalLeading);
+    ok(metrics.tmExternalLeading == expmetrics.tmExternalLeading, "Returned external leading %d, expected %d\n", metrics.tmExternalLeading, expmetrics.tmExternalLeading);
+    ok(metrics.tmAveCharWidth == expmetrics.tmAveCharWidth, "Returned average char width %d, expected %d\n", metrics.tmAveCharWidth, expmetrics.tmAveCharWidth);
+    ok(metrics.tmMaxCharWidth == expmetrics.tmMaxCharWidth, "Returned maximum char width %d, expected %d\n", metrics.tmMaxCharWidth, expmetrics.tmMaxCharWidth);
+    ok(metrics.tmWeight == expmetrics.tmWeight, "Returned weight %d, expected %d\n", metrics.tmWeight, expmetrics.tmWeight);
+    ok(metrics.tmOverhang == expmetrics.tmOverhang, "Returned overhang %d, expected %d\n", metrics.tmOverhang, expmetrics.tmOverhang);
+    ok(metrics.tmDigitizedAspectX == expmetrics.tmDigitizedAspectX, "Returned digitized x aspect %d, expected %d\n", metrics.tmDigitizedAspectX, expmetrics.tmDigitizedAspectX);
+    ok(metrics.tmDigitizedAspectY == expmetrics.tmDigitizedAspectY, "Returned digitized y aspect %d, expected %d\n", metrics.tmDigitizedAspectY, expmetrics.tmDigitizedAspectY);
+    ok(metrics.tmFirstChar == expmetrics.tmFirstChar, "Returned first char %d, expected %d\n", metrics.tmFirstChar, expmetrics.tmFirstChar);
+    ok(metrics.tmLastChar == expmetrics.tmLastChar, "Returned last char %d, expected %d\n", metrics.tmLastChar, expmetrics.tmLastChar);
+    ok(metrics.tmDefaultChar == expmetrics.tmDefaultChar, "Returned default char %d, expected %d\n", metrics.tmDefaultChar, expmetrics.tmDefaultChar);
+    ok(metrics.tmBreakChar == expmetrics.tmBreakChar, "Returned break char %d, expected %d\n", metrics.tmBreakChar, expmetrics.tmBreakChar);
+    ok(metrics.tmItalic == expmetrics.tmItalic, "Returned italic %d, expected %d\n", metrics.tmItalic, expmetrics.tmItalic);
+    ok(metrics.tmUnderlined == expmetrics.tmUnderlined, "Returned underlined %d, expected %d\n", metrics.tmUnderlined, expmetrics.tmUnderlined);
+    ok(metrics.tmStruckOut == expmetrics.tmStruckOut, "Returned struck out %d, expected %d\n", metrics.tmStruckOut, expmetrics.tmStruckOut);
+    ok(metrics.tmPitchAndFamily == expmetrics.tmPitchAndFamily, "Returned pitch and family %d, expected %d\n", metrics.tmPitchAndFamily, expmetrics.tmPitchAndFamily);
+    ok(metrics.tmCharSet == expmetrics.tmCharSet, "Returned charset %d, expected %d\n", metrics.tmCharSet, expmetrics.tmCharSet);
+
+    ID3DXFont_Release(font);
 
 
     /* ID3DXFont_PreloadText */
     hr = D3DXCreateFontA(device, 12, 0, FW_DONTCARE, 0, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, "Tahoma", &font);
-    if(SUCCEEDED(hr)) {
-        todo_wine {
-        hr = ID3DXFont_PreloadTextA(font, NULL, -1);
-        ok(hr == D3DERR_INVALIDCALL, "ID3DXFont_PreloadTextA returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL);
-        hr = ID3DXFont_PreloadTextA(font, NULL, 0);
-        ok(hr == D3D_OK, "ID3DXFont_PreloadTextA returned %#x, expected %#x\n", hr, D3D_OK);
-        hr = ID3DXFont_PreloadTextA(font, NULL, 1);
-        ok(hr == D3DERR_INVALIDCALL, "ID3DXFont_PreloadTextA returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL);
-        hr = ID3DXFont_PreloadTextA(font, "test", -1);
-        ok(hr == D3D_OK, "ID3DXFont_PreloadTextA returned %#x, expected %#x\n", hr, D3D_OK);
-
-        hr = ID3DXFont_PreloadTextW(font, NULL, -1);
-        ok(hr == D3DERR_INVALIDCALL, "ID3DXFont_PreloadTextW returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL);
-        hr = ID3DXFont_PreloadTextW(font, NULL, 0);
-        ok(hr == D3D_OK, "ID3DXFont_PreloadTextW returned %#x, expected %#x\n", hr, D3D_OK);
-        hr = ID3DXFont_PreloadTextW(font, NULL, 1);
-        ok(hr == D3DERR_INVALIDCALL, "ID3DXFont_PreloadTextW returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL);
-        hr = ID3DXFont_PreloadTextW(font, testW, -1);
-        ok(hr == D3D_OK, "ID3DXFont_PreloadTextW returned %#x, expected %#x\n", hr, D3D_OK);
-        }
+    ok(hr == D3D_OK, "D3DXCreateFont returned %#x, expected %#x\n", hr, D3D_OK);
 
-        check_release((IUnknown*)font, 0);
-    } else skip("Failed to create a ID3DXFont object\n");
+    todo_wine {
+    hr = ID3DXFont_PreloadTextA(font, NULL, -1);
+    ok(hr == D3DERR_INVALIDCALL, "ID3DXFont_PreloadTextA returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL);
+    hr = ID3DXFont_PreloadTextA(font, NULL, 0);
+    ok(hr == D3D_OK, "ID3DXFont_PreloadTextA returned %#x, expected %#x\n", hr, D3D_OK);
+    hr = ID3DXFont_PreloadTextA(font, NULL, 1);
+    ok(hr == D3DERR_INVALIDCALL, "ID3DXFont_PreloadTextA returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL);
+    hr = ID3DXFont_PreloadTextA(font, "test", -1);
+    ok(hr == D3D_OK, "ID3DXFont_PreloadTextA returned %#x, expected %#x\n", hr, D3D_OK);
+
+    hr = ID3DXFont_PreloadTextW(font, NULL, -1);
+    ok(hr == D3DERR_INVALIDCALL, "ID3DXFont_PreloadTextW returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL);
+    hr = ID3DXFont_PreloadTextW(font, NULL, 0);
+    ok(hr == D3D_OK, "ID3DXFont_PreloadTextW returned %#x, expected %#x\n", hr, D3D_OK);
+    hr = ID3DXFont_PreloadTextW(font, NULL, 1);
+    ok(hr == D3DERR_INVALIDCALL, "ID3DXFont_PreloadTextW returned %#x, expected %#x\n", hr, D3DERR_INVALIDCALL);
+    hr = ID3DXFont_PreloadTextW(font, testW, -1);
+    ok(hr == D3D_OK, "ID3DXFont_PreloadTextW returned %#x, expected %#x\n", hr, D3D_OK);
+    }
+
+    check_release((IUnknown*)font, 0);
 
 
     /* ID3DXFont_GetGlyphData, ID3DXFont_PreloadGlyphs, ID3DXFont_PreloadCharacters */
     hr = D3DXCreateFontA(device, 12, 0, FW_DONTCARE, 0, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, "Tahoma", &font);
-    if(SUCCEEDED(hr)) {
-        char c;
-        HDC hdc;
+    ok(hr == D3D_OK, "D3DXCreateFont returned %#x, expected %#x\n", hr, D3D_OK);
+
+    hdc = ID3DXFont_GetDC(font);
+    ok(hdc != NULL, "ID3DXFont_GetDC returned an invalid handle\n");
+
+    todo_wine {
+    hr = ID3DXFont_GetGlyphData(font, 0, NULL, &blackbox, &cellinc);
+    ok(hr == D3D_OK, "ID3DXFont_GetGlyphData returned %#x, expected %#x\n", hr, D3D_OK);
+    hr = ID3DXFont_GetGlyphData(font, 0, &texture, NULL, &cellinc);
+    if(SUCCEEDED(hr)) check_release((IUnknown*)texture, 1);
+    ok(hr == D3D_OK, "ID3DXFont_GetGlyphData returned %#x, expected %#x\n", hr, D3D_OK);
+    hr = ID3DXFont_GetGlyphData(font, 0, &texture, &blackbox, NULL);
+    if(SUCCEEDED(hr)) check_release((IUnknown*)texture, 1);
+    ok(hr == D3D_OK, "ID3DXFont_GetGlyphData returned %#x, expected %#x\n", hr, D3D_OK);
+    }
+    hr = ID3DXFont_PreloadCharacters(font, 'b', 'a');
+    ok(hr == D3D_OK, "ID3DXFont_PreloadCharacters returned %#x, expected %#x\n", hr, D3D_OK);
+    hr = ID3DXFont_PreloadGlyphs(font, 1, 0);
+    todo_wine ok(hr == D3D_OK, "ID3DXFont_PreloadGlyphs returned %#x, expected %#x\n", hr, D3D_OK);
+
+    hr = ID3DXFont_PreloadCharacters(font, 'a', 'a');
+    ok(hr == D3D_OK, "ID3DXFont_PreloadCharacters returned %#x, expected %#x\n", hr, D3D_OK);
+
+    for(c = 'b'; c <= 'z'; c++) {
+        WORD glyph;
         DWORD ret;
-        HRESULT hr;
-        RECT blackbox;
-        POINT cellinc;
-        IDirect3DTexture9 *texture;
 
-        hdc = ID3DXFont_GetDC(font);
+        ret = GetGlyphIndicesA(hdc, &c, 1, &glyph, 0);
+        ok(ret != GDI_ERROR, "GetGlyphIndicesA failed\n");
 
-        todo_wine {
-        hr = ID3DXFont_GetGlyphData(font, 0, NULL, &blackbox, &cellinc);
-        ok(hr == D3D_OK, "ID3DXFont_GetGlyphData returned %#x, expected %#x\n", hr, D3D_OK);
-        hr = ID3DXFont_GetGlyphData(font, 0, &texture, NULL, &cellinc);
-        if(SUCCEEDED(hr)) check_release((IUnknown*)texture, 1);
-        ok(hr == D3D_OK, "ID3DXFont_GetGlyphData returned %#x, expected %#x\n", hr, D3D_OK);
-        hr = ID3DXFont_GetGlyphData(font, 0, &texture, &blackbox, NULL);
-        if(SUCCEEDED(hr)) check_release((IUnknown*)texture, 1);
-        ok(hr == D3D_OK, "ID3DXFont_GetGlyphData returned %#x, expected %#x\n", hr, D3D_OK);
-        }
-        hr = ID3DXFont_PreloadCharacters(font, 'b', 'a');
-        ok(hr == D3D_OK, "ID3DXFont_PreloadCharacters returned %#x, expected %#x\n", hr, D3D_OK);
-        hr = ID3DXFont_PreloadGlyphs(font, 1, 0);
-        todo_wine ok(hr == D3D_OK, "ID3DXFont_PreloadGlyphs returned %#x, expected %#x\n", hr, D3D_OK);
-
-        hr = ID3DXFont_PreloadCharacters(font, 'a', 'a');
-        ok(hr == D3D_OK, "ID3DXFont_PreloadCharacters returned %#x, expected %#x\n", hr, D3D_OK);
-
-        for(c = 'b'; c <= 'z'; c++) {
-            WORD glyph;
-
-            ret = GetGlyphIndicesA(hdc, &c, 1, &glyph, 0);
-            ok(ret != GDI_ERROR, "GetGlyphIndicesA failed\n");
-
-            hr = ID3DXFont_GetGlyphData(font, glyph, &texture, &blackbox, &cellinc);
-            todo_wine ok(hr == D3D_OK, "ID3DXFont_GetGlyphData returned %#x, expected %#x\n", hr, D3D_OK);
-            if(SUCCEEDED(hr)) {
-                DWORD levels;
-                D3DSURFACE_DESC desc;
-
-                levels = IDirect3DTexture9_GetLevelCount(texture);
-                ok(levels == 5, "Got levels %u, expected %u\n", levels, 5);
-                hr = IDirect3DTexture9_GetLevelDesc(texture, 0, &desc);
-                ok(hr == D3D_OK, "IDirect3DTexture9_GetLevelDesc failed\n");
-                ok(desc.Format == D3DFMT_A8R8G8B8, "Got format %#x, expected %#x\n", desc.Format, D3DFMT_A8R8G8B8);
-                ok(desc.Usage == 0, "Got usage %#x, expected %#x\n", desc.Usage, 0);
-                ok(desc.Width == 256, "Got width %u, expected %u\n", desc.Width, 256);
-                ok(desc.Height == 256, "Got height %u, expected %u\n", desc.Height, 256);
-                ok(desc.Pool == D3DPOOL_MANAGED, "Got pool %u, expected %u\n", desc.Pool, D3DPOOL_MANAGED);
-
-                check_release((IUnknown*)texture, 1);
-            }
+        hr = ID3DXFont_GetGlyphData(font, glyph, &texture, &blackbox, &cellinc);
+        todo_wine ok(hr == D3D_OK, "ID3DXFont_GetGlyphData returned %#x, expected %#x\n", hr, D3D_OK);
+        if(SUCCEEDED(hr)) {
+            DWORD levels;
+            D3DSURFACE_DESC desc;
+
+            levels = IDirect3DTexture9_GetLevelCount(texture);
+            ok(levels == 5, "Got levels %u, expected %u\n", levels, 5);
+            hr = IDirect3DTexture9_GetLevelDesc(texture, 0, &desc);
+            ok(hr == D3D_OK, "IDirect3DTexture9_GetLevelDesc failed\n");
+            ok(desc.Format == D3DFMT_A8R8G8B8, "Got format %#x, expected %#x\n", desc.Format, D3DFMT_A8R8G8B8);
+            ok(desc.Usage == 0, "Got usage %#x, expected %#x\n", desc.Usage, 0);
+            ok(desc.Width == 256, "Got width %u, expected %u\n", desc.Width, 256);
+            ok(desc.Height == 256, "Got height %u, expected %u\n", desc.Height, 256);
+            ok(desc.Pool == D3DPOOL_MANAGED, "Got pool %u, expected %u\n", desc.Pool, D3DPOOL_MANAGED);
+
+            check_release((IUnknown*)texture, 1);
         }
+    }
 
-        hr = ID3DXFont_PreloadCharacters(font, 'a', 'z');
-        ok(hr == D3D_OK, "ID3DXFont_PreloadCharacters returned %#x, expected %#x\n", hr, D3D_OK);
+    hr = ID3DXFont_PreloadCharacters(font, 'a', 'z');
+    ok(hr == D3D_OK, "ID3DXFont_PreloadCharacters returned %#x, expected %#x\n", hr, D3D_OK);
 
-        check_release((IUnknown*)font, 0);
-    } else skip("Failed to create a ID3DXFont object\n");
+    check_release((IUnknown*)font, 0);
 
     for (i = 0; i < ARRAY_SIZE(tests); ++i)
     {
-        HDC hdc;
         DWORD ret;
-        HRESULT hr;
         WORD glyph;
         char c = 'a';
-        IDirect3DTexture9 *texture;
 
         hr = D3DXCreateFontA(device, tests[i].font_height, 0, FW_DONTCARE, 0, FALSE, DEFAULT_CHARSET,
                 OUT_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, "Tahoma", &font);
-        if(FAILED(hr)) {
-            skip("Failed to create a ID3DXFont object\n");
-            continue;
-        }
+        ok(hr == D3D_OK, "D3DXCreateFont returned %#x, expected %#x\n", hr, D3D_OK);
 
         hdc = ID3DXFont_GetDC(font);
 
@@ -616,8 +604,7 @@ static void test_ID3DXFont(IDirect3DDevice9 *device)
         ok(height == tests[i].font_height, "Got unexpected height %u.\n", height);
         height = ID3DXFont_DrawTextW(font, sprite, testW, size, &rect, DT_RIGHT, 0xffffffff);
         ok(height == tests[i].font_height, "Got unexpected height %u.\n", height);
-        height = ID3DXFont_DrawTextW(font, sprite, testW, size, &rect, DT_LEFT | DT_NOCLIP,
-                0xffffffff);
+        height = ID3DXFont_DrawTextW(font, sprite, testW, size, &rect, DT_LEFT | DT_NOCLIP, 0xffffffff);
         ok(height == tests[i].font_height, "Got unexpected height %u.\n", height);
         }
 
-- 
2.24.0




More information about the wine-devel mailing list