Nikolay Sivov : gdiplus: Add some tests for pathiterator, fix leaks.
Alexandre Julliard
julliard at winehq.org
Fri Oct 17 07:25:40 CDT 2008
Module: wine
Branch: master
Commit: dee8657be43f2f4e3411ee1a1394ad14fadff919
URL: http://source.winehq.org/git/wine.git/?a=commit;h=dee8657be43f2f4e3411ee1a1394ad14fadff919
Author: Nikolay Sivov <bunglehead at gmail.com>
Date: Thu Oct 16 20:31:25 2008 +0400
gdiplus: Add some tests for pathiterator, fix leaks.
---
dlls/gdiplus/tests/pathiterator.c | 53 ++++++++++++++++++++++++++++++++++--
1 files changed, 50 insertions(+), 3 deletions(-)
diff --git a/dlls/gdiplus/tests/pathiterator.c b/dlls/gdiplus/tests/pathiterator.c
index 79ce879..eddb24e 100644
--- a/dlls/gdiplus/tests/pathiterator.c
+++ b/dlls/gdiplus/tests/pathiterator.c
@@ -459,8 +459,6 @@ static void test_nextsubpath(void)
INT start, end, result;
BOOL closed;
- GdipCreatePath(FillModeAlternate, &path);
-
/* empty path */
GdipCreatePath(FillModeAlternate, &path);
GdipCreatePathIter(&iter, path);
@@ -471,8 +469,8 @@ static void test_nextsubpath(void)
expect(Ok, stat);
expect(0, result);
expect(TRUE, closed);
- GdipCreatePathIter(&iter, path);
+ GdipDeletePathIter(iter);
GdipDeletePath(path);
}
@@ -500,6 +498,55 @@ static void test_nextpathtype(void)
expect(InvalidParameter, stat);
stat = GdipPathIterNextPathType(iter, NULL, &type, &start, &end);
expect(InvalidParameter, stat);
+ stat = GdipPathIterNextPathType(iter, &result, &type, NULL, NULL);
+ expect(InvalidParameter, stat);
+
+ /* empty path */
+ start = end = result = (INT)0xdeadbeef;
+ stat = GdipPathIterNextPathType(iter, &result, &type, &start, &end);
+ todo_wine expect(Ok, stat);
+ expect((INT)0xdeadbeef, start);
+ expect((INT)0xdeadbeef, end);
+ todo_wine expect(0, result);
+ GdipDeletePathIter(iter);
+
+ /* single figure */
+ GdipAddPathLine(path, 0.0, 0.0, 10.0, 30.0);
+ GdipCreatePathIter(&iter, path);
+ start = end = result = (INT)0xdeadbeef;
+ type = 255; /* out of range */
+ stat = GdipPathIterNextPathType(iter, &result, &type, &start, &end);
+ todo_wine expect(Ok, stat);
+ expect((INT)0xdeadbeef, start);
+ expect((INT)0xdeadbeef, end);
+ expect(255, type);
+ todo_wine expect(0, result);
+ GdipDeletePathIter(iter);
+
+ GdipAddPathEllipse(path, 0.0, 0.0, 35.0, 70.0);
+ GdipCreatePathIter(&iter, path);
+ start = end = result = (INT)0xdeadbeef;
+ type = 255; /* out of range */
+ stat = GdipPathIterNextPathType(iter, &result, &type, &start, &end);
+ todo_wine expect(Ok, stat);
+ expect((INT)0xdeadbeef, start);
+ expect((INT)0xdeadbeef, end);
+ expect(255, type);
+ todo_wine expect(0, result);
+ GdipDeletePathIter(iter);
+
+ /* closed */
+ GdipClosePathFigure(path);
+ GdipCreatePathIter(&iter, path);
+ start = end = result = (INT)0xdeadbeef;
+ type = 255; /* out of range */
+ stat = GdipPathIterNextPathType(iter, &result, &type, &start, &end);
+ todo_wine expect(Ok, stat);
+ expect((INT)0xdeadbeef, start);
+ expect((INT)0xdeadbeef, end);
+ expect(255, type);
+ todo_wine expect(0, result);
+ GdipDeletePathIter(iter);
GdipDeletePath(path);
}
More information about the wine-cvs
mailing list