Nikolay Sivov : gdiplus: Implemented GdipStringFormatGetGenericDefault with tests.

Alexandre Julliard julliard at winehq.org
Wed Jul 30 08:36:03 CDT 2008


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

Author: Nikolay Sivov <bunglehead at gmail.com>
Date:   Wed Jul 30 15:07:04 2008 +0400

gdiplus: Implemented GdipStringFormatGetGenericDefault with tests.

---

 dlls/gdiplus/stringformat.c       |   11 ++++++++-
 dlls/gdiplus/tests/stringformat.c |   42 +++++++++++++++++++++++++++++++++++++
 2 files changed, 51 insertions(+), 2 deletions(-)

diff --git a/dlls/gdiplus/stringformat.c b/dlls/gdiplus/stringformat.c
index 2f8a290..201201a 100644
--- a/dlls/gdiplus/stringformat.c
+++ b/dlls/gdiplus/stringformat.c
@@ -67,12 +67,19 @@ GpStatus WINGDIPAPI GdipDeleteStringFormat(GpStringFormat *format)
 
 GpStatus WINGDIPAPI GdipStringFormatGetGenericDefault(GpStringFormat **format)
 {
+    GpStatus stat;
+
     if (!format)
         return InvalidParameter;
 
-    FIXME("stub: %p\n", format);
+    stat = GdipCreateStringFormat(0, LANG_NEUTRAL, format);
+    if(stat != Ok)
+        return stat;
 
-    return NotImplemented;
+    (*format)->align     = StringAlignmentNear;
+    (*format)->vertalign = StringAlignmentNear;
+
+    return Ok;
 }
 
 GpStatus WINGDIPAPI GdipGetStringFormatAlign(GpStringFormat *format,
diff --git a/dlls/gdiplus/tests/stringformat.c b/dlls/gdiplus/tests/stringformat.c
index c851f1b..9331912 100644
--- a/dlls/gdiplus/tests/stringformat.c
+++ b/dlls/gdiplus/tests/stringformat.c
@@ -277,6 +277,47 @@ static void test_tabstops(void)
     expect(Ok, stat);
 }
 
+static void test_getgenericdefault(void)
+{
+    GpStringFormat *format;
+    GpStatus stat;
+
+    INT flags;
+    INT n;
+    StringAlignment align, valign;
+    StringTrimming trimming;
+    StringDigitSubstitute digitsub;
+    LANGID digitlang;
+    INT tabcount;
+
+    /* NULL arg */
+    stat = GdipStringFormatGetGenericDefault(NULL);
+    expect(InvalidParameter, stat);
+
+    stat = GdipStringFormatGetGenericDefault(&format);
+    expect(Ok, stat);
+
+    GdipGetStringFormatFlags(format, &flags);
+    GdipGetStringFormatAlign(format, &align);
+    GdipGetStringFormatLineAlign(format, &valign);
+    GdipGetStringFormatHotkeyPrefix(format, &n);
+    GdipGetStringFormatTrimming(format, &trimming);
+    GdipGetStringFormatDigitSubstitution(format, &digitlang, &digitsub);
+    GdipGetStringFormatTabStopCount(format, &tabcount);
+
+    expect(0, flags);
+    expect(HotkeyPrefixNone, n);
+    expect(StringAlignmentNear, align);
+    expect(StringAlignmentNear, align);
+    expect(StringTrimmingCharacter, trimming);
+    expect(StringDigitSubstituteUser, digitsub);
+    expect(LANG_NEUTRAL, digitlang);
+    expect(0, tabcount);
+
+    stat = GdipDeleteStringFormat(format);
+    expect(Ok, stat);
+}
+
 START_TEST(stringformat)
 {
     struct GdiplusStartupInput gdiplusStartupInput;
@@ -294,6 +335,7 @@ START_TEST(stringformat)
     test_digitsubstitution();
     test_getgenerictypographic();
     test_tabstops();
+    test_getgenericdefault();
 
     GdiplusShutdown(gdiplusToken);
 }




More information about the wine-cvs mailing list