From: Katayama Hirofumi MZ Date: Fri, 5 Jul 2019 13:31:56 +0000 (+0900) Subject: [GDI32_APITEST] Improve SetWorldTransform testcase (#1717) X-Git-Tag: 0.4.14-dev~624 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=595ae4c551acbb7859dff58a845f348dfeb69310 [GDI32_APITEST] Improve SetWorldTransform testcase (#1717) Improve the testcase for gdi32!SetWorldTransform function. CORE-15554 --- diff --git a/modules/rostests/apitests/gdi32/SetWorldTransform.c b/modules/rostests/apitests/gdi32/SetWorldTransform.c index e8512e6dde2..cb82531513e 100644 --- a/modules/rostests/apitests/gdi32/SetWorldTransform.c +++ b/modules/rostests/apitests/gdi32/SetWorldTransform.c @@ -3,23 +3,24 @@ * LICENSE: GPL - See COPYING in the top level directory * PURPOSE: Test for SetWorldTransform * PROGRAMMERS: Timo Kreuzer + * Katayama Hirofumi MZ */ #include "precomp.h" void Test_SetWorldTransform() { - HDC hdcScreen, hdc; - XFORM xform; - BOOL result; - //PGDI_TABLE_ENTRY pEntry; - //DC_ATTR* pdcattr; - - /* Create a DC */ - hdcScreen = GetDC(NULL); - hdc = CreateCompatibleDC(hdcScreen); - ReleaseDC(NULL, hdcScreen); - SetGraphicsMode(hdc, GM_ADVANCED); + HDC hdcScreen, hdc; + XFORM xform; + BOOL result; + //PGDI_TABLE_ENTRY pEntry; + //DC_ATTR* pdcattr; + + /* Create a DC */ + hdcScreen = GetDC(NULL); + hdc = CreateCompatibleDC(hdcScreen); + ReleaseDC(NULL, hdcScreen); + SetGraphicsMode(hdc, GM_ADVANCED); /* Set identity transform */ xform.eM11 = 1; @@ -70,15 +71,15 @@ void Test_SetWorldTransform() result = GetWorldTransform(hdc, &xform); ok(result == 1, "GetWorldTransform should succeed\n"); ok(xform.eM11 == 2, "xform.eM11 should be 2\n"); - ok(xform.eM12 == (FLOAT)3.0001, "xform.eM11 should be 3.0001\n"); - ok(xform.eM21 == 4, "xform.eM11 should be 4\n"); - ok(xform.eM22 == 6, "xform.eM11 should be 6\n"); + ok(xform.eM12 == (FLOAT)3.0001, "xform.eM12 should be 3.0001\n"); + ok(xform.eM21 == 4, "xform.eM21 should be 4\n"); + ok(xform.eM22 == 6, "xform.eM22 should be 6\n"); /* Set smallest possible values */ - xform.eM11 = (FLOAT)1.4e-45; + xform.eM11 = 1.17549435e-38f; xform.eM12 = 0; xform.eM21 = 0; - xform.eM22 = (FLOAT)1.4e-45; + xform.eM22 = 1.17549435e-38f; ok(xform.eM11 != (FLOAT)0.0, "xform.eM11 shouldn't be 0.0\n"); ok(xform.eM22 != (FLOAT)0.0, "xform.eM22 shouldn't be 0.0\n"); ok(xform.eM11 * xform.eM22 != (FLOAT)0.0, "xform.eM12 * xform.eM21 shouldn't be 0.0\n"); @@ -89,15 +90,35 @@ void Test_SetWorldTransform() result = GetWorldTransform(hdc, &xform); ok(result == 1, "GetWorldTransform should succeed\n"); ok(xform.eM11 > 0, "xform.eM11 should not be 0\n"); - ok(xform.eM12 == 0, "xform.eM11 should be 0\n"); - ok(xform.eM21 == 0, "xform.eM11 should be 0\n"); - ok(xform.eM22 > 0, "xform.eM11 should not be 0\n"); + ok(xform.eM12 == 0, "xform.eM12 should be 0\n"); + ok(xform.eM21 == 0, "xform.eM21 should be 0\n"); + ok(xform.eM22 > 0, "xform.eM22 should not be 0\n"); + + xform.eM11 = 0; + xform.eM12 = 1; + xform.eM21 = 1; + xform.eM22 = 0; + result = SetWorldTransform(hdc, &xform); + ok_int(result, 1); + + xform.eM11 = 1; + xform.eM12 = 1; + xform.eM21 = 1; + xform.eM22 = 1; + result = SetWorldTransform(hdc, &xform); + ok_int(result, 0); - DeleteDC(hdc); + result = GetWorldTransform(hdc, &xform); + ok_int(result, 1); + ok(xform.eM11 == 0, "xform.eM11 should be 0\n"); + ok(xform.eM12 == 1, "xform.eM12 should be 1\n"); + ok(xform.eM21 == 1, "xform.eM21 should be 1\n"); + ok(xform.eM22 == 0, "xform.eM22 should be 0\n"); + + DeleteDC(hdc); } START_TEST(SetWorldTransform) { Test_SetWorldTransform(); } -