Lei Zhang : comctl32: Monthcal today link test.

Alexandre Julliard julliard at winehq.org
Tue Oct 16 07:59:37 CDT 2007


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

Author: Lei Zhang <thestig at google.com>
Date:   Sun Oct 14 17:04:08 2007 -0700

comctl32: Monthcal today link test.

---

 dlls/comctl32/tests/monthcal.c |   71 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 71 insertions(+), 0 deletions(-)

diff --git a/dlls/comctl32/tests/monthcal.c b/dlls/comctl32/tests/monthcal.c
index 9deef21..a495919 100644
--- a/dlls/comctl32/tests/monthcal.c
+++ b/dlls/comctl32/tests/monthcal.c
@@ -221,6 +221,18 @@ static const struct message monthcal_hit_test_seq[] = {
     { 0 }
 };
 
+static const struct message monthcal_todaylink_seq[] = {
+    { MCM_HITTEST, sent|wparam, 0},
+    { MCM_SETTODAY, sent|wparam, 0},
+    { WM_PAINT, sent|wparam|lparam|defwinproc, 0, 0},
+    { MCM_GETTODAY, sent|wparam, 0},
+    { WM_LBUTTONDOWN, sent|wparam|lparam, MK_LBUTTON, MAKELONG(70, 370)},
+    { WM_CAPTURECHANGED, sent|wparam|lparam|defwinproc, 0, 0},
+    { WM_PAINT, sent|wparam|lparam|defwinproc, 0, 0},
+    { MCM_GETCURSEL, sent|wparam, 0},
+    { 0 }
+};
+
 static const struct message monthcal_today_seq[] = {
     { MCM_SETTODAY, sent|wparam, 0},
     { WM_PAINT, sent|wparam|lparam|defwinproc, 0, 0},
@@ -896,6 +908,64 @@ static void test_monthcal_HitTest(HWND hwnd)
     ok_sequence(sequences, MONTHCAL_SEQ_INDEX, monthcal_hit_test_seq, "monthcal hit test", TRUE);
 }
 
+static void test_monthcal_todaylink(HWND hwnd)
+{
+    MCHITTESTINFO mchit;
+    SYSTEMTIME st_test, st_new;
+    BOOL error = FALSE;
+    int res;
+
+    memset(&mchit, 0, sizeof(MCHITTESTINFO));
+
+    flush_sequences(sequences, NUM_MSG_SEQUENCES);
+
+    /* (70, 370) is in active area - today link */
+    mchit.cbSize = sizeof(MCHITTESTINFO);
+    mchit.pt.x = 70;
+    mchit.pt.y = 370;
+    res = SendMessage(hwnd, MCM_HITTEST, 0, (LPARAM) & mchit);
+    expect(70, mchit.pt.x);
+    expect(370, mchit.pt.y);
+    expect(mchit.uHit, res);
+    todo_wine {expect(MCHT_TODAYLINK, res);}
+    if (70 != mchit.pt.x || 370 != mchit.pt.y || mchit.uHit != res
+        || MCHT_TODAYLINK != res)
+        error = TRUE;
+
+    st_test.wDay = 1;
+    st_test.wMonth = 1;
+    st_test.wYear = 2005;
+    memset(&st_new, 0, sizeof(SYSTEMTIME));
+
+    SendMessage(hwnd, MCM_SETTODAY, 0, (LPARAM)&st_test);
+
+    res = SendMessage(hwnd, MCM_GETTODAY, 0, (LPARAM)&st_new);
+    expect(1, res);
+    expect(1, st_new.wDay);
+    expect(1, st_new.wMonth);
+    expect(2005, st_new.wYear);
+    if (1 != res || 1 != st_new.wDay || 1 != st_new.wMonth
+        || 2005 != st_new.wYear)
+        error = TRUE;
+
+    if (error) {
+        skip("cannot perform today link test\n");
+        return;
+    }
+
+    res = SendMessage(hwnd, WM_LBUTTONDOWN, MK_LBUTTON, MAKELONG(70, 370));
+    expect(0, res);
+
+    memset(&st_new, 0, sizeof(SYSTEMTIME));
+    res = SendMessage(hwnd, MCM_GETCURSEL, 0, (LPARAM)&st_new);
+    expect(1, res);
+    expect(1, st_new.wDay);
+    expect(1, st_new.wMonth);
+    expect(2005, st_new.wYear);
+
+    ok_sequence(sequences, MONTHCAL_SEQ_INDEX, monthcal_todaylink_seq, "monthcal hit test", TRUE);
+}
+
 static void test_monthcal_today(HWND hwnd)
 {
     SYSTEMTIME st_test, st_new;
@@ -1063,6 +1133,7 @@ START_TEST(monthcal)
     test_monthcal_scroll(hwnd);
     test_monthcal_monthrange(hwnd);
     test_monthcal_HitTest(hwnd);
+    test_monthcal_todaylink(hwnd);
 
     flush_sequences(sequences, NUM_MSG_SEQUENCES);
     DestroyWindow(hwnd);




More information about the wine-cvs mailing list