Aurimas Fischer : gdiplus: Implement GdipSetStringFormatFlags with tests.
Alexandre Julliard
julliard at winehq.org
Mon Feb 2 09:01:26 CST 2009
Module: wine
Branch: master
Commit: 2489e76b5955d5794f6aed58513b6c69494ce951
URL: http://source.winehq.org/git/wine.git/?a=commit;h=2489e76b5955d5794f6aed58513b6c69494ce951
Author: Aurimas Fischer <aurimas at 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);
}
More information about the wine-cvs
mailing list