https://git.reactos.org/?p=reactos.git;a=commitdiff;h=595ae4c551acbb7859dff…
commit 595ae4c551acbb7859dff58a845f348dfeb69310
Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com>
AuthorDate: Fri Jul 5 22:31:56 2019 +0900
Commit: GitHub <noreply(a)github.com>
CommitDate: Fri Jul 5 22:31:56 2019 +0900
[GDI32_APITEST] Improve SetWorldTransform testcase (#1717)
Improve the testcase for gdi32!SetWorldTransform function. CORE-15554
---
.../rostests/apitests/gdi32/SetWorldTransform.c | 63 ++++++++++++++--------
1 file changed, 42 insertions(+), 21 deletions(-)
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();
}
-