From e4fdc9690c6b12e0dc0db4f064100724e378a75e Mon Sep 17 00:00:00 2001 From: Evan Stade Date: Thu, 14 Jun 2007 16:09:14 -0700 Subject: [PATCH] gdiplus: Brush tests. --- dlls/gdiplus/tests/Makefile.in | 1 + dlls/gdiplus/tests/brush.c | 76 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 dlls/gdiplus/tests/brush.c diff --git a/dlls/gdiplus/tests/Makefile.in b/dlls/gdiplus/tests/Makefile.in index 8cb68102546..45853f6aa9b 100644 --- a/dlls/gdiplus/tests/Makefile.in +++ b/dlls/gdiplus/tests/Makefile.in @@ -6,6 +6,7 @@ TESTDLL = gdiplus.dll IMPORTS = gdiplus kernel32 CTESTS = \ + brush.c \ pen.c @MAKE_TEST_RULES@ diff --git a/dlls/gdiplus/tests/brush.c b/dlls/gdiplus/tests/brush.c new file mode 100644 index 00000000000..7c72f48ecbf --- /dev/null +++ b/dlls/gdiplus/tests/brush.c @@ -0,0 +1,76 @@ +/* + * Unit test suite for brushes + * + * Copyright (C) 2007 Google (Evan Stade) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include + +#include "windef.h" +#include "gdiplus.h" +#include "wine/test.h" + +#define expect(expected, got) ok(got == expected, "Expected %.8x, got %.8x\n", expected, got) + +static void test_constructor_destructor(void) +{ + GpStatus status; + GpSolidFill *brush = NULL; + + status = GdipCreateSolidFill((ARGB)0xdeadbeef, &brush); + expect(Ok, status); + ok(brush != NULL, "Expected brush to be initialized\n"); + + status = GdipDeleteBrush(NULL); + expect(InvalidParameter, status); + + status = GdipDeleteBrush((GpBrush*) brush); + expect(Ok, status); +} + +static void test_type(void) +{ + GpStatus status; + GpBrushType bt; + GpSolidFill *brush = NULL; + + GdipCreateSolidFill((ARGB)0xdeadbeef, &brush); + + status = GdipGetBrushType((GpBrush*)brush, &bt); + expect(status, Ok); + expect(bt, BrushTypeSolidColor); + + GdipDeleteBrush((GpBrush*) brush); +} + +START_TEST(brush) +{ + struct GdiplusStartupInput gdiplusStartupInput; + ULONG_PTR gdiplusToken; + + gdiplusStartupInput.GdiplusVersion = 1; + gdiplusStartupInput.DebugEventCallback = NULL; + gdiplusStartupInput.SuppressBackgroundThread = 0; + gdiplusStartupInput.SuppressExternalCodecs = 0; + + GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL); + + test_constructor_destructor(); + test_type(); + + GdiplusShutdown(gdiplusToken); +} -- 2.11.4.GIT