[4/4] gdiplus: implemented GdipStringFormatGetGenericDefault with tests

Nikolay Sivov bunglehead at gmail.com
Wed Jul 30 06:07:04 CDT 2008


Changelog:
    - GdipStringFormatGetGenericDefault implemented + 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 877713f..612fee9 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);
 }
-- 
1.4.4.4






More information about the wine-patches mailing list