Aurimas Fischer : gdiplus: Implement GdipSetStringFormatFlags with tests.
Module: wine Branch: master Commit: 2489e76b5955d5794f6aed58513b6c69494ce951 URL: http://source.winehq.org/git/wine.git/?a=commit;h=2489e76b5955d5794f6aed5851... Author: Aurimas Fischer <aurimas(a)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); }
participants (1)
-
Alexandre Julliard