Vincent Povirk : gdiplus: Add test for GdipGetPathGradientSurroundColorsWithCount.

Alexandre Julliard julliard at winehq.org
Wed Mar 14 13:56:10 CDT 2012


Module: wine
Branch: master
Commit: b54d38a5364eca3baf8ff5831a354f4ef6f7f96f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=b54d38a5364eca3baf8ff5831a354f4ef6f7f96f

Author: Vincent Povirk <vincent at codeweavers.com>
Date:   Wed Feb 22 16:09:29 2012 -0600

gdiplus: Add test for GdipGetPathGradientSurroundColorsWithCount.

---

 dlls/gdiplus/tests/brush.c |   82 ++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 75 insertions(+), 7 deletions(-)

diff --git a/dlls/gdiplus/tests/brush.c b/dlls/gdiplus/tests/brush.c
index 726e855..68b8881 100644
--- a/dlls/gdiplus/tests/brush.c
+++ b/dlls/gdiplus/tests/brush.c
@@ -773,22 +773,59 @@ static void test_gradientsurroundcolorcount(void)
 {
     GpStatus status;
     GpPathGradient *grad;
-    ARGB *color;
-    INT count = 3;
+    ARGB color[3];
+    INT count;
 
     status = GdipCreatePathGradient(blendcount_ptf, 2, WrapModeClamp, &grad);
     expect(Ok, status);
 
-    color = GdipAlloc(sizeof(ARGB[3]));
+    count = 0;
+    status = GdipGetPathGradientSurroundColorCount(grad, &count);
+    todo_wine expect(Ok, status);
+    todo_wine expect(2, count);
+
+    color[0] = color[1] = color[2] = 0xdeadbeef;
+    count = 3;
+    status = GdipGetPathGradientSurroundColorsWithCount(grad, color, &count);
+    todo_wine expect(Ok, status);
+    todo_wine expect(1, count);
+    todo_wine expect(0xffffffff, color[0]);
+    todo_wine expect(0xffffffff, color[1]);
+    expect(0xdeadbeef, color[2]);
+
+    color[0] = color[1] = color[2] = 0xdeadbeef;
+    count = 2;
+    status = GdipGetPathGradientSurroundColorsWithCount(grad, color, &count);
+    todo_wine expect(Ok, status);
+    todo_wine expect(1, count);
+    todo_wine expect(0xffffffff, color[0]);
+    todo_wine expect(0xffffffff, color[1]);
+    expect(0xdeadbeef, color[2]);
+
+    color[0] = color[1] = color[2] = 0xdeadbeef;
+    count = 1;
+    status = GdipGetPathGradientSurroundColorsWithCount(grad, color, &count);
+    expect(InvalidParameter, status);
+    expect(1, count);
+    expect(0xdeadbeef, color[0]);
+    expect(0xdeadbeef, color[1]);
+    expect(0xdeadbeef, color[2]);
+
+    color[0] = color[1] = color[2] = 0xdeadbeef;
+    count = 0;
+    status = GdipGetPathGradientSurroundColorsWithCount(grad, color, &count);
+    expect(InvalidParameter, status);
+    expect(0, count);
+    expect(0xdeadbeef, color[0]);
+    expect(0xdeadbeef, color[1]);
+    expect(0xdeadbeef, color[2]);
 
+    count = 3;
     status = GdipSetPathGradientSurroundColorsWithCount(grad, color, &count);
     expect(InvalidParameter, status);
-    GdipFree(color);
 
     count = 2;
 
-    color = GdipAlloc(sizeof(ARGB[2]));
-
     color[0] = 0x00ff0000;
     color[1] = 0x0000ff00;
 
@@ -820,7 +857,38 @@ static void test_gradientsurroundcolorcount(void)
     todo_wine expect(Ok, status);
     todo_wine expect(2, count);
 
-    GdipFree(color);
+    color[0] = color[1] = color[2] = 0xdeadbeef;
+    count = 2;
+    status = GdipGetPathGradientSurroundColorsWithCount(grad, color, &count);
+    todo_wine expect(Ok, status);
+    expect(2, count);
+    todo_wine expect(0x00ff0000, color[0]);
+    todo_wine expect(0x0000ff00, color[1]);
+    expect(0xdeadbeef, color[2]);
+
+    GdipDeleteBrush((GpBrush*)grad);
+
+    status = GdipCreatePathGradient(getbounds_ptf, 3, WrapModeClamp, &grad);
+    expect(Ok, status);
+
+    color[0] = color[1] = color[2] = 0xdeadbeef;
+    count = 3;
+    status = GdipGetPathGradientSurroundColorsWithCount(grad, color, &count);
+    todo_wine expect(Ok, status);
+    todo_wine expect(1, count);
+    todo_wine expect(0xffffffff, color[0]);
+    todo_wine expect(0xffffffff, color[1]);
+    todo_wine expect(0xffffffff, color[2]);
+
+    color[0] = color[1] = color[2] = 0xdeadbeef;
+    count = 2;
+    status = GdipGetPathGradientSurroundColorsWithCount(grad, color, &count);
+    expect(InvalidParameter, status);
+    expect(2, count);
+    expect(0xdeadbeef, color[0]);
+    expect(0xdeadbeef, color[1]);
+    expect(0xdeadbeef, color[2]);
+
     GdipDeleteBrush((GpBrush*)grad);
 }
 




More information about the wine-cvs mailing list