Module: wine Branch: master Commit: 2489e76b5955d5794f6aed58513b6c69494ce951 URL: http://source.winehq.org/git/wine.git/?a=commit;h=2489e76b5955d5794f6aed5851...
Author: Aurimas Fischer aurimas@gmail.com Date: Sun Feb 1 17:15:57 2009 +0200
gdiplus: Implement GdipSetStringFormatFlags with tests.
---
dlls/gdiplus/stringformat.c | 5 ++- dlls/gdiplus/tests/stringformat.c | 62 +++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 1 deletions(-)
diff --git a/dlls/gdiplus/stringformat.c b/dlls/gdiplus/stringformat.c index a28f014..21053b7 100644 --- a/dlls/gdiplus/stringformat.c +++ b/dlls/gdiplus/stringformat.c @@ -286,7 +286,10 @@ GpStatus WINGDIPAPI GdipSetStringFormatTrimming(GpStringFormat *format,
GpStatus WINGDIPAPI GdipSetStringFormatFlags(GpStringFormat *format, INT flags) { - FIXME("format (%p) flags (%d)\n", format, flags); + if(!format) + return InvalidParameter; + + format->attr = flags;
return Ok; } diff --git a/dlls/gdiplus/tests/stringformat.c b/dlls/gdiplus/tests/stringformat.c index 9331912..b28dbc6 100644 --- a/dlls/gdiplus/tests/stringformat.c +++ b/dlls/gdiplus/tests/stringformat.c @@ -318,6 +318,67 @@ static void test_getgenericdefault(void) expect(Ok, stat); }
+static void test_stringformatflags(void) +{ + GpStringFormat *format; + GpStatus stat; + + INT flags; + + stat = GdipCreateStringFormat(0, LANG_NEUTRAL, &format); + expect(Ok, stat); + + /* NULL args */ + stat = GdipSetStringFormatFlags(NULL, 0); + expect(InvalidParameter, stat); + + stat = GdipSetStringFormatFlags(format, 0); + expect(Ok, stat); + stat = GdipGetStringFormatFlags(format, &flags); + expect(Ok, stat); + expect(0, flags); + + /* Check some valid flags */ + stat = GdipSetStringFormatFlags(format, StringFormatFlagsDirectionRightToLeft); + expect(Ok, stat); + stat = GdipGetStringFormatFlags(format, &flags); + expect(Ok, stat); + expect(StringFormatFlagsDirectionRightToLeft, flags); + + stat = GdipSetStringFormatFlags(format, StringFormatFlagsNoFontFallback); + expect(Ok, stat); + stat = GdipGetStringFormatFlags(format, &flags); + expect(Ok, stat); + expect(StringFormatFlagsNoFontFallback, flags); + + /* Check some flag combinations */ + stat = GdipSetStringFormatFlags(format, StringFormatFlagsDirectionVertical + | StringFormatFlagsNoFitBlackBox); + expect(Ok, stat); + stat = GdipGetStringFormatFlags(format, &flags); + expect(Ok, stat); + expect((StringFormatFlagsDirectionVertical + | StringFormatFlagsNoFitBlackBox), flags); + + stat = GdipSetStringFormatFlags(format, StringFormatFlagsDisplayFormatControl + | StringFormatFlagsMeasureTrailingSpaces); + expect(Ok, stat); + stat = GdipGetStringFormatFlags(format, &flags); + expect(Ok, stat); + expect((StringFormatFlagsDisplayFormatControl + | StringFormatFlagsMeasureTrailingSpaces), flags); + + /* Check invalid flags */ + stat = GdipSetStringFormatFlags(format, 0xdeadbeef); + expect(Ok, stat); + stat = GdipGetStringFormatFlags(format, &flags); + expect(Ok, stat); + expect(0xdeadbeef, flags); + + stat = GdipDeleteStringFormat(format); + expect(Ok, stat); +} + START_TEST(stringformat) { struct GdiplusStartupInput gdiplusStartupInput; @@ -336,6 +397,7 @@ START_TEST(stringformat) test_getgenerictypographic(); test_tabstops(); test_getgenericdefault(); + test_stringformatflags();
GdiplusShutdown(gdiplusToken); }