[PATCH 2/4] Split tests to several functions not to depend from each other

Nikolay Sivov bunglehead at gmail.com
Thu Nov 19 23:37:23 CST 2009


---
 dlls/comctl32/tests/tab.c |  547 ++++++++++++++++++++++++---------------------
 1 files changed, 294 insertions(+), 253 deletions(-)

diff --git a/dlls/comctl32/tests/tab.c b/dlls/comctl32/tests/tab.c
index bab747a..6061507 100644
--- a/dlls/comctl32/tests/tab.c
+++ b/dlls/comctl32/tests/tab.c
@@ -638,7 +638,292 @@ static void test_tab(INT nMinTabWidth)
     DeleteObject(hFont);
 }
 
-static void test_getters_setters(HWND parent_wnd, INT nTabs)
+static void test_curfocus(HWND parent_wnd, INT nTabs)
+{
+    INT focusIndex;
+    HWND hTab;
+
+    hTab = createFilledTabControl(parent_wnd, TCS_FIXEDWIDTH, TCIF_TEXT|TCIF_IMAGE, nTabs);
+    ok(hTab != NULL, "Failed to create tab control\n");
+
+    flush_sequences(sequences, NUM_MSG_SEQUENCES);
+
+    /* Testing CurFocus with largest appropriate value */
+    SendMessage(hTab, TCM_SETCURFOCUS, nTabs-1, 0);
+    focusIndex = SendMessage(hTab, TCM_GETCURFOCUS, 0, 0);
+    expect(nTabs-1, focusIndex);
+
+    /* Testing CurFocus with negative value */
+    SendMessage(hTab, TCM_SETCURFOCUS, -10, 0);
+    focusIndex = SendMessage(hTab, TCM_GETCURFOCUS, 0, 0);
+    expect(-1, focusIndex);
+
+    /* Testing CurFocus with value larger than number of tabs */
+    focusIndex = SendMessage(hTab, TCM_SETCURSEL, 1, 0);
+    todo_wine{
+        expect(-1, focusIndex);
+    }
+
+    SendMessage(hTab, TCM_SETCURFOCUS, nTabs+1, 0);
+    focusIndex = SendMessage(hTab, TCM_GETCURFOCUS, 0, 0);
+    expect(1, focusIndex);
+
+    ok_sequence(sequences, TAB_SEQ_INDEX, getset_cur_focus_seq, "Getset curFoc test sequence", FALSE);
+
+    DestroyWindow(hTab);
+}
+
+static void test_cursel(HWND parent_wnd, INT nTabs)
+{
+    INT selectionIndex;
+    INT focusIndex;
+    TCITEM tcItem;
+    HWND hTab;
+
+    hTab = createFilledTabControl(parent_wnd, TCS_FIXEDWIDTH, TCIF_TEXT|TCIF_IMAGE, nTabs);
+    ok(hTab != NULL, "Failed to create tab control\n");
+
+    flush_sequences(sequences, NUM_MSG_SEQUENCES);
+
+    /* Testing CurSel with largest appropriate value */
+    selectionIndex = SendMessage(hTab, TCM_SETCURSEL, nTabs-1, 0);
+    expect(0, selectionIndex);
+    selectionIndex = SendMessage(hTab, TCM_GETCURSEL, 0, 0);
+    expect(nTabs-1, selectionIndex);
+
+    /* Focus should switch with selection */
+    focusIndex = SendMessage(hTab, TCM_GETCURFOCUS, 0, 0);
+    expect(nTabs-1, focusIndex);
+
+    /* Testing CurSel with negative value */
+    SendMessage(hTab, TCM_SETCURSEL, -10, 0);
+    selectionIndex = SendMessage(hTab, TCM_GETCURSEL, 0, 0);
+    expect(-1, selectionIndex);
+
+    /* Testing CurSel with value larger than number of tabs */
+    selectionIndex = SendMessage(hTab, TCM_SETCURSEL, 1, 0);
+    expect(-1, selectionIndex);
+
+    selectionIndex = SendMessage(hTab, TCM_SETCURSEL, nTabs+1, 0);
+    expect(-1, selectionIndex);
+    selectionIndex = SendMessage(hTab, TCM_GETCURFOCUS, 0, 0);
+    expect(1, selectionIndex);
+
+    ok_sequence(sequences, TAB_SEQ_INDEX, getset_cur_sel_seq, "Getset curSel test sequence", FALSE);
+    ok_sequence(sequences, PARENT_SEQ_INDEX, empty_sequence, "Getset curSel test parent sequence", FALSE);
+
+    /* selected item should have TCIS_BUTTONPRESSED state
+       It doesn't depend on button state */
+    memset(&tcItem, 0, sizeof(TCITEM));
+    tcItem.mask = TCIF_STATE;
+    tcItem.dwStateMask = TCIS_BUTTONPRESSED;
+    selectionIndex = SendMessage(hTab, TCM_GETCURSEL, 0, 0);
+    SendMessage(hTab, TCM_GETITEM, selectionIndex, (LPARAM) &tcItem);
+    ok (tcItem.dwState & TCIS_BUTTONPRESSED || broken(tcItem.dwState == 0), /* older comctl32 */
+        "Selected item should have TCIS_BUTTONPRESSED\n");
+
+    DestroyWindow(hTab);
+}
+
+static void test_extendedstyle(HWND parent_wnd, INT nTabs)
+{
+    DWORD prevExtendedStyle;
+    DWORD extendedStyle;
+    HWND hTab;
+
+    hTab = createFilledTabControl(parent_wnd, TCS_FIXEDWIDTH, TCIF_TEXT|TCIF_IMAGE, nTabs);
+    ok(hTab != NULL, "Failed to create tab control\n");
+
+    flush_sequences(sequences, NUM_MSG_SEQUENCES);
+
+    /* Testing Flat Separators */
+    extendedStyle = SendMessage(hTab, TCM_GETEXTENDEDSTYLE, 0, 0);
+    prevExtendedStyle = SendMessage(hTab, TCM_SETEXTENDEDSTYLE, 0, TCS_EX_FLATSEPARATORS);
+    expect(extendedStyle, prevExtendedStyle);
+
+    extendedStyle = SendMessage(hTab, TCM_GETEXTENDEDSTYLE, 0, 0);
+    expect(TCS_EX_FLATSEPARATORS, extendedStyle);
+
+    /* Testing Register Drop */
+    prevExtendedStyle = SendMessage(hTab, TCM_SETEXTENDEDSTYLE, 0, TCS_EX_REGISTERDROP);
+    expect(extendedStyle, prevExtendedStyle);
+
+    extendedStyle = SendMessage(hTab, TCM_GETEXTENDEDSTYLE, 0, 0);
+    todo_wine{
+        expect(TCS_EX_REGISTERDROP, extendedStyle);
+    }
+
+    ok_sequence(sequences, TAB_SEQ_INDEX, getset_extended_style_seq, "Getset extendedStyle test sequence", FALSE);
+    ok_sequence(sequences, PARENT_SEQ_INDEX, empty_sequence, "Getset extendedStyle test parent sequence", FALSE);
+
+    DestroyWindow(hTab);
+}
+
+static void test_unicodeformat(HWND parent_wnd, INT nTabs)
+{
+    INT unicodeFormat;
+    HWND hTab;
+
+    hTab = createFilledTabControl(parent_wnd, TCS_FIXEDWIDTH, TCIF_TEXT|TCIF_IMAGE, nTabs);
+    ok(hTab != NULL, "Failed to create tab control\n");
+
+    flush_sequences(sequences, NUM_MSG_SEQUENCES);
+
+    unicodeFormat = SendMessage(hTab, TCM_SETUNICODEFORMAT, TRUE, 0);
+    todo_wine{
+        expect(0, unicodeFormat);
+    }
+    unicodeFormat = SendMessage(hTab, TCM_GETUNICODEFORMAT, 0, 0);
+    expect(1, unicodeFormat);
+
+    unicodeFormat = SendMessage(hTab, TCM_SETUNICODEFORMAT, FALSE, 0);
+    expect(1, unicodeFormat);
+    unicodeFormat = SendMessage(hTab, TCM_GETUNICODEFORMAT, 0, 0);
+    expect(0, unicodeFormat);
+
+    unicodeFormat = SendMessage(hTab, TCM_SETUNICODEFORMAT, TRUE, 0);
+    expect(0, unicodeFormat);
+
+    ok_sequence(sequences, TAB_SEQ_INDEX, getset_unicode_format_seq, "Getset unicodeFormat test sequence", FALSE);
+    ok_sequence(sequences, PARENT_SEQ_INDEX, empty_sequence, "Getset unicodeFormat test parent sequence", FALSE);
+
+    DestroyWindow(hTab);
+}
+
+static void test_getset_item(HWND parent_wnd, INT nTabs)
+{
+    TCITEM tcItem;
+    DWORD ret;
+    char szText[32] = "New Label";
+    HWND hTab;
+
+    hTab = createFilledTabControl(parent_wnd, TCS_FIXEDWIDTH, TCIF_TEXT|TCIF_IMAGE, nTabs);
+    ok(hTab != NULL, "Failed to create tab control\n");
+
+    /* passing invalid index should result in initialization to zero
+       for members mentioned in mask requested */
+
+    /* valid range here is [0,4] */
+    memset(&tcItem, 0xcc, sizeof(tcItem));
+    tcItem.mask = TCIF_PARAM;
+    ret = SendMessage(hTab, TCM_GETITEM, 5, (LPARAM)&tcItem);
+    expect(FALSE, ret);
+    ok(tcItem.lParam == 0, "Expected zero lParam, got %lu\n", tcItem.lParam);
+
+    memset(&tcItem, 0xcc, sizeof(tcItem));
+    tcItem.mask = TCIF_IMAGE;
+    ret = SendMessage(hTab, TCM_GETITEM, 5, (LPARAM)&tcItem);
+    expect(FALSE, ret);
+    expect(0, tcItem.iImage);
+
+    memset(&tcItem, 0xcc, sizeof(tcItem));
+    tcItem.mask = TCIF_TEXT;
+    tcItem.pszText = szText;
+    szText[0] = 'a';
+    ret = SendMessage(hTab, TCM_GETITEM, 5, (LPARAM)&tcItem);
+    expect(FALSE, ret);
+    expect('a', szText[0]);
+
+    memset(&tcItem, 0xcc, sizeof(tcItem));
+    tcItem.mask = TCIF_STATE;
+    tcItem.dwStateMask = 0;
+    tcItem.dwState = TCIS_BUTTONPRESSED;
+    ret = SendMessage(hTab, TCM_GETITEM, 5, (LPARAM)&tcItem);
+    expect(FALSE, ret);
+    ok(tcItem.dwState == 0, "Expected zero dwState, got %u\n", tcItem.dwState);
+
+    memset(&tcItem, 0xcc, sizeof(tcItem));
+    tcItem.mask = TCIF_STATE;
+    tcItem.dwStateMask = TCIS_BUTTONPRESSED;
+    tcItem.dwState = TCIS_BUTTONPRESSED;
+    ret = SendMessage(hTab, TCM_GETITEM, 5, (LPARAM)&tcItem);
+    expect(FALSE, ret);
+    ok(tcItem.dwState == 0, "Expected zero dwState\n");
+
+    /* check with negative index to be sure */
+    memset(&tcItem, 0xcc, sizeof(tcItem));
+    tcItem.mask = TCIF_PARAM;
+    ret = SendMessage(hTab, TCM_GETITEM, -1, (LPARAM)&tcItem);
+    expect(FALSE, ret);
+    ok(tcItem.lParam == 0, "Expected zero lParam, got %lu\n", tcItem.lParam);
+
+    memset(&tcItem, 0xcc, sizeof(tcItem));
+    tcItem.mask = TCIF_PARAM;
+    ret = SendMessage(hTab, TCM_GETITEM, -2, (LPARAM)&tcItem);
+    expect(FALSE, ret);
+    ok(tcItem.lParam == 0, "Expected zero lParam, got %lu\n", tcItem.lParam);
+
+    flush_sequences(sequences, NUM_MSG_SEQUENCES);
+
+    tcItem.mask = TCIF_TEXT;
+    tcItem.pszText = &szText[0];
+    tcItem.cchTextMax = sizeof(szText);
+
+    strcpy(szText, "New Label");
+    ok ( SendMessage(hTab, TCM_SETITEM, 0, (LPARAM) &tcItem), "Setting new item failed.\n");
+    ok ( SendMessage(hTab, TCM_GETITEM, 0, (LPARAM) &tcItem), "Getting item failed.\n");
+    expect_str("New Label", tcItem.pszText);
+
+    ok ( SendMessage(hTab, TCM_GETITEM, 1, (LPARAM) &tcItem), "Getting item failed.\n");
+    expect_str("Tab 2", tcItem.pszText);
+
+    ok_sequence(sequences, TAB_SEQ_INDEX, getset_item_seq, "Getset item test sequence", FALSE);
+    ok_sequence(sequences, PARENT_SEQ_INDEX, empty_sequence, "Getset item test parent sequence", FALSE);
+
+    /* TCIS_BUTTONPRESSED doesn't depend on tab style */
+    memset(&tcItem, 0, sizeof(tcItem));
+    tcItem.mask = TCIF_STATE;
+    tcItem.dwStateMask = TCIS_BUTTONPRESSED;
+    tcItem.dwState = TCIS_BUTTONPRESSED;
+    ok ( SendMessage(hTab, TCM_SETITEM, 0, (LPARAM) &tcItem), "Setting new item failed.\n");
+    tcItem.dwState = 0;
+    ok ( SendMessage(hTab, TCM_GETITEM, 0, (LPARAM) &tcItem), "Getting item failed.\n");
+    if (tcItem.dwState)
+    {
+        ok (tcItem.dwState == TCIS_BUTTONPRESSED, "TCIS_BUTTONPRESSED should be set.\n");
+        /* next highlight item, test that dwStateMask actually masks */
+        tcItem.mask = TCIF_STATE;
+        tcItem.dwStateMask = TCIS_HIGHLIGHTED;
+        tcItem.dwState = TCIS_HIGHLIGHTED;
+        ok ( SendMessage(hTab, TCM_SETITEM, 0, (LPARAM) &tcItem), "Setting new item failed.\n");
+        tcItem.dwState = 0;
+        ok ( SendMessage(hTab, TCM_GETITEM, 0, (LPARAM) &tcItem), "Getting item failed.\n");
+        ok (tcItem.dwState == TCIS_HIGHLIGHTED, "TCIS_HIGHLIGHTED should be set.\n");
+        tcItem.mask = TCIF_STATE;
+        tcItem.dwStateMask = TCIS_BUTTONPRESSED;
+        tcItem.dwState = 0;
+        ok ( SendMessage(hTab, TCM_GETITEM, 0, (LPARAM) &tcItem), "Getting item failed.\n");
+        ok (tcItem.dwState == TCIS_BUTTONPRESSED, "TCIS_BUTTONPRESSED should be set.\n");
+    }
+    else win_skip( "Item state mask not supported\n" );
+
+    DestroyWindow(hTab);
+}
+
+static void test_getset_tooltips(HWND parent_wnd, INT nTabs)
+{
+    HWND hTab, toolTip;
+    char toolTipText[32] = "ToolTip Text Test";
+
+    hTab = createFilledTabControl(parent_wnd, TCS_FIXEDWIDTH, TCIF_TEXT|TCIF_IMAGE, nTabs);
+    ok(hTab != NULL, "Failed to create tab control\n");
+
+    flush_sequences(sequences, NUM_MSG_SEQUENCES);
+
+    toolTip = create_tooltip(hTab, toolTipText);
+    SendMessage(hTab, TCM_SETTOOLTIPS, (LPARAM) toolTip, 0);
+    ok (toolTip == (HWND) SendMessage(hTab,TCM_GETTOOLTIPS,0,0), "ToolTip was set incorrectly.\n");
+
+    SendMessage(hTab, TCM_SETTOOLTIPS, 0, 0);
+    ok (NULL  == (HWND) SendMessage(hTab,TCM_GETTOOLTIPS,0,0), "ToolTip was set incorrectly.\n");
+
+    ok_sequence(sequences, TAB_SEQ_INDEX, getset_tooltip_seq, "Getset tooltip test sequence", TRUE);
+    ok_sequence(sequences, PARENT_SEQ_INDEX, getset_tooltip_parent_seq, "Getset tooltip test parent sequence", TRUE);
+
+    DestroyWindow(hTab);
+}
+
+static void test_misc(HWND parent_wnd, INT nTabs)
 {
     HWND hTab;
     RECT rTab;
@@ -696,256 +981,6 @@ static void test_getters_setters(HWND parent_wnd, INT nTabs)
     ok_sequence(sequences, TAB_SEQ_INDEX, get_item_rect_seq, "Get itemRect test sequence", FALSE);
     ok_sequence(sequences, PARENT_SEQ_INDEX, empty_sequence, "Get itemRect test parent sequence", FALSE);
 
-    /* Testing CurFocus */
-    {
-        INT focusIndex;
-
-        flush_sequences(sequences, NUM_MSG_SEQUENCES);
-
-        /* Testing CurFocus with largest appropriate value */
-        SendMessage(hTab, TCM_SETCURFOCUS, nTabs-1, 0);
-        focusIndex = SendMessage(hTab, TCM_GETCURFOCUS, 0, 0);
-            expect(nTabs-1, focusIndex);
-
-        /* Testing CurFocus with negative value */
-        SendMessage(hTab, TCM_SETCURFOCUS, -10, 0);
-        focusIndex = SendMessage(hTab, TCM_GETCURFOCUS, 0, 0);
-            expect(-1, focusIndex);
-
-        /* Testing CurFocus with value larger than number of tabs */
-        focusIndex = SendMessage(hTab, TCM_SETCURSEL, 1, 0);
-        todo_wine{
-            expect(-1, focusIndex);
-        }
-
-        SendMessage(hTab, TCM_SETCURFOCUS, nTabs+1, 0);
-        focusIndex = SendMessage(hTab, TCM_GETCURFOCUS, 0, 0);
-            expect(1, focusIndex);
-
-        ok_sequence(sequences, TAB_SEQ_INDEX, getset_cur_focus_seq, "Getset curFoc test sequence", FALSE);
-    }
-
-    /* Testing CurSel */
-    {
-        INT selectionIndex;
-        INT focusIndex;
-        TCITEM tcItem;
-
-        flush_sequences(sequences, NUM_MSG_SEQUENCES);
-
-        /* Testing CurSel with largest appropriate value */
-        selectionIndex = SendMessage(hTab, TCM_SETCURSEL, nTabs-1, 0);
-            expect(1, selectionIndex);
-        selectionIndex = SendMessage(hTab, TCM_GETCURSEL, 0, 0);
-            expect(nTabs-1, selectionIndex);
-
-        /* Focus should switch with selection */
-        focusIndex = SendMessage(hTab, TCM_GETCURFOCUS, 0, 0);
-            expect(nTabs-1, focusIndex);
-
-        /* Testing CurSel with negative value */
-        SendMessage(hTab, TCM_SETCURSEL, -10, 0);
-        selectionIndex = SendMessage(hTab, TCM_GETCURSEL, 0, 0);
-            expect(-1, selectionIndex);
-
-        /* Testing CurSel with value larger than number of tabs */
-        selectionIndex = SendMessage(hTab, TCM_SETCURSEL, 1, 0);
-            expect(-1, selectionIndex);
-
-        selectionIndex = SendMessage(hTab, TCM_SETCURSEL, nTabs+1, 0);
-            expect(-1, selectionIndex);
-        selectionIndex = SendMessage(hTab, TCM_GETCURFOCUS, 0, 0);
-            expect(1, selectionIndex);
-
-        ok_sequence(sequences, TAB_SEQ_INDEX, getset_cur_sel_seq, "Getset curSel test sequence", FALSE);
-        ok_sequence(sequences, PARENT_SEQ_INDEX, empty_sequence, "Getset curSel test parent sequence", FALSE);
-
-        /* selected item should have TCIS_BUTTONPRESSED state
-           It doesn't depend on button state */
-        memset(&tcItem, 0, sizeof(TCITEM));
-        tcItem.mask = TCIF_STATE;
-        tcItem.dwStateMask = TCIS_BUTTONPRESSED;
-        selectionIndex = SendMessage(hTab, TCM_GETCURSEL, 0, 0);
-        SendMessage(hTab, TCM_GETITEM, selectionIndex, (LPARAM) &tcItem);
-        ok (tcItem.dwState & TCIS_BUTTONPRESSED || broken(tcItem.dwState == 0), /* older comctl32 */
-            "Selected item should have TCIS_BUTTONPRESSED\n");
-    }
-
-    /* Testing ExtendedStyle */
-    {
-        DWORD prevExtendedStyle;
-        DWORD extendedStyle;
-
-        flush_sequences(sequences, NUM_MSG_SEQUENCES);
-
-        /* Testing Flat Separators */
-        extendedStyle = SendMessage(hTab, TCM_GETEXTENDEDSTYLE, 0, 0);
-        prevExtendedStyle = SendMessage(hTab, TCM_SETEXTENDEDSTYLE, 0, TCS_EX_FLATSEPARATORS);
-        expect(extendedStyle, prevExtendedStyle);
-
-        extendedStyle = SendMessage(hTab, TCM_GETEXTENDEDSTYLE, 0, 0);
-        expect(TCS_EX_FLATSEPARATORS, extendedStyle);
-
-        /* Testing Register Drop */
-        prevExtendedStyle = SendMessage(hTab, TCM_SETEXTENDEDSTYLE, 0, TCS_EX_REGISTERDROP);
-            expect(extendedStyle, prevExtendedStyle);
-
-        extendedStyle = SendMessage(hTab, TCM_GETEXTENDEDSTYLE, 0, 0);
-        todo_wine{
-            expect(TCS_EX_REGISTERDROP, extendedStyle);
-        }
-
-        ok_sequence(sequences, TAB_SEQ_INDEX, getset_extended_style_seq, "Getset extendedStyle test sequence", FALSE);
-        ok_sequence(sequences, PARENT_SEQ_INDEX, empty_sequence, "Getset extendedStyle test parent sequence", FALSE);
-    }
-
-    /* Testing UnicodeFormat */
-    {
-        INT unicodeFormat;
-
-        flush_sequences(sequences, NUM_MSG_SEQUENCES);
-
-        unicodeFormat = SendMessage(hTab, TCM_SETUNICODEFORMAT, TRUE, 0);
-        todo_wine{
-            expect(0, unicodeFormat);
-        }
-        unicodeFormat = SendMessage(hTab, TCM_GETUNICODEFORMAT, 0, 0);
-            expect(1, unicodeFormat);
-
-        unicodeFormat = SendMessage(hTab, TCM_SETUNICODEFORMAT, FALSE, 0);
-            expect(1, unicodeFormat);
-        unicodeFormat = SendMessage(hTab, TCM_GETUNICODEFORMAT, 0, 0);
-            expect(0, unicodeFormat);
-
-        unicodeFormat = SendMessage(hTab, TCM_SETUNICODEFORMAT, TRUE, 0);
-            expect(0, unicodeFormat);
-
-        ok_sequence(sequences, TAB_SEQ_INDEX, getset_unicode_format_seq, "Getset unicodeFormat test sequence", FALSE);
-        ok_sequence(sequences, PARENT_SEQ_INDEX, empty_sequence, "Getset unicodeFormat test parent sequence", FALSE);
-    }
-
-    /* Testing GetSet Item */
-    {
-        TCITEM tcItem;
-        DWORD ret;
-        char szText[32] = "New Label";
-
-        /* passing invalid index should result in initialization to zero
-           for members mentioned in mask requested */
-
-        /* valid range here is [0,4] */
-        memset(&tcItem, 0xcc, sizeof(tcItem));
-        tcItem.mask = TCIF_PARAM;
-        ret = SendMessage(hTab, TCM_GETITEM, 5, (LPARAM)&tcItem);
-        expect(FALSE, ret);
-        ok(tcItem.lParam == 0, "Expected zero lParam, got %lu\n", tcItem.lParam);
-
-        memset(&tcItem, 0xcc, sizeof(tcItem));
-        tcItem.mask = TCIF_IMAGE;
-        ret = SendMessage(hTab, TCM_GETITEM, 5, (LPARAM)&tcItem);
-        expect(FALSE, ret);
-        expect(0, tcItem.iImage);
-
-        memset(&tcItem, 0xcc, sizeof(tcItem));
-        tcItem.mask = TCIF_TEXT;
-        tcItem.pszText = szText;
-        szText[0] = 'a';
-        ret = SendMessage(hTab, TCM_GETITEM, 5, (LPARAM)&tcItem);
-        expect(FALSE, ret);
-        expect('a', szText[0]);
-
-        memset(&tcItem, 0xcc, sizeof(tcItem));
-        tcItem.mask = TCIF_STATE;
-        tcItem.dwStateMask = 0;
-        tcItem.dwState = TCIS_BUTTONPRESSED;
-        ret = SendMessage(hTab, TCM_GETITEM, 5, (LPARAM)&tcItem);
-        expect(FALSE, ret);
-        ok(tcItem.dwState == 0, "Expected zero dwState, got %u\n", tcItem.dwState);
-
-        memset(&tcItem, 0xcc, sizeof(tcItem));
-        tcItem.mask = TCIF_STATE;
-        tcItem.dwStateMask = TCIS_BUTTONPRESSED;
-        tcItem.dwState = TCIS_BUTTONPRESSED;
-        ret = SendMessage(hTab, TCM_GETITEM, 5, (LPARAM)&tcItem);
-        expect(FALSE, ret);
-        ok(tcItem.dwState == 0, "Expected zero dwState\n");
-
-        /* check with negative index to be sure */
-        memset(&tcItem, 0xcc, sizeof(tcItem));
-        tcItem.mask = TCIF_PARAM;
-        ret = SendMessage(hTab, TCM_GETITEM, -1, (LPARAM)&tcItem);
-        expect(FALSE, ret);
-        ok(tcItem.lParam == 0, "Expected zero lParam, got %lu\n", tcItem.lParam);
-
-        memset(&tcItem, 0xcc, sizeof(tcItem));
-        tcItem.mask = TCIF_PARAM;
-        ret = SendMessage(hTab, TCM_GETITEM, -2, (LPARAM)&tcItem);
-        expect(FALSE, ret);
-        ok(tcItem.lParam == 0, "Expected zero lParam, got %lu\n", tcItem.lParam);
-
-        flush_sequences(sequences, NUM_MSG_SEQUENCES);
-
-        tcItem.mask = TCIF_TEXT;
-        tcItem.pszText = &szText[0];
-        tcItem.cchTextMax = sizeof(szText);
-
-        strcpy(szText, "New Label");
-        ok ( SendMessage(hTab, TCM_SETITEM, 0, (LPARAM) &tcItem), "Setting new item failed.\n");
-        ok ( SendMessage(hTab, TCM_GETITEM, 0, (LPARAM) &tcItem), "Getting item failed.\n");
-        expect_str("New Label", tcItem.pszText);
-
-        ok ( SendMessage(hTab, TCM_GETITEM, 1, (LPARAM) &tcItem), "Getting item failed.\n");
-        expect_str("Tab 2", tcItem.pszText);
-
-        ok_sequence(sequences, TAB_SEQ_INDEX, getset_item_seq, "Getset item test sequence", FALSE);
-        ok_sequence(sequences, PARENT_SEQ_INDEX, empty_sequence, "Getset item test parent sequence", FALSE);
-
-        /* TCIS_BUTTONPRESSED doesn't depend on tab style */
-        memset(&tcItem, 0, sizeof(tcItem));
-        tcItem.mask = TCIF_STATE;
-        tcItem.dwStateMask = TCIS_BUTTONPRESSED;
-        tcItem.dwState = TCIS_BUTTONPRESSED;
-        ok ( SendMessage(hTab, TCM_SETITEM, 0, (LPARAM) &tcItem), "Setting new item failed.\n");
-        tcItem.dwState = 0;
-        ok ( SendMessage(hTab, TCM_GETITEM, 0, (LPARAM) &tcItem), "Getting item failed.\n");
-        if (tcItem.dwState)
-        {
-            ok (tcItem.dwState == TCIS_BUTTONPRESSED, "TCIS_BUTTONPRESSED should be set.\n");
-            /* next highlight item, test that dwStateMask actually masks */
-            tcItem.mask = TCIF_STATE;
-            tcItem.dwStateMask = TCIS_HIGHLIGHTED;
-            tcItem.dwState = TCIS_HIGHLIGHTED;
-            ok ( SendMessage(hTab, TCM_SETITEM, 0, (LPARAM) &tcItem), "Setting new item failed.\n");
-            tcItem.dwState = 0;
-            ok ( SendMessage(hTab, TCM_GETITEM, 0, (LPARAM) &tcItem), "Getting item failed.\n");
-            ok (tcItem.dwState == TCIS_HIGHLIGHTED, "TCIS_HIGHLIGHTED should be set.\n");
-            tcItem.mask = TCIF_STATE;
-            tcItem.dwStateMask = TCIS_BUTTONPRESSED;
-            tcItem.dwState = 0;
-            ok ( SendMessage(hTab, TCM_GETITEM, 0, (LPARAM) &tcItem), "Getting item failed.\n");
-            ok (tcItem.dwState == TCIS_BUTTONPRESSED, "TCIS_BUTTONPRESSED should be set.\n");
-        }
-        else win_skip( "Item state mask not supported\n" );
-    }
-
-    /* Testing GetSet ToolTip */
-    {
-        HWND toolTip;
-        char toolTipText[32] = "ToolTip Text Test";
-
-        flush_sequences(sequences, NUM_MSG_SEQUENCES);
-
-        toolTip = create_tooltip(hTab, toolTipText);
-        SendMessage(hTab, TCM_SETTOOLTIPS, (LPARAM) toolTip, 0);
-        ok (toolTip == (HWND) SendMessage(hTab,TCM_GETTOOLTIPS,0,0), "ToolTip was set incorrectly.\n");
-
-        SendMessage(hTab, TCM_SETTOOLTIPS, 0, 0);
-        ok (NULL  == (HWND) SendMessage(hTab,TCM_GETTOOLTIPS,0,0), "ToolTip was set incorrectly.\n");
-
-        ok_sequence(sequences, TAB_SEQ_INDEX, getset_tooltip_seq, "Getset tooltip test sequence", TRUE);
-        ok_sequence(sequences, PARENT_SEQ_INDEX, getset_tooltip_parent_seq, "Getset tooltip test parent sequence", TRUE);
-    }
-
     DestroyWindow(hTab);
 }
 
@@ -965,6 +1000,7 @@ static void test_adjustrect(HWND parent_wnd)
     r = SendMessage(hTab, TCM_ADJUSTRECT, TRUE, 0);
     expect(-1, r);
 }
+
 static void test_insert_focus(HWND parent_wnd)
 {
     HWND hTab;
@@ -1170,8 +1206,13 @@ START_TEST(tab)
     parent_wnd = createParentWindow();
     ok(parent_wnd != NULL, "Failed to create parent window!\n");
 
-    /* Testing getters and setters with 5 tabs */
-    test_getters_setters(parent_wnd, 5);
+    test_curfocus(parent_wnd, 5);
+    test_cursel(parent_wnd, 5);
+    test_extendedstyle(parent_wnd, 5);
+    test_unicodeformat(parent_wnd, 5);
+    test_getset_item(parent_wnd, 5);
+    test_getset_tooltips(parent_wnd, 5);
+    test_misc(parent_wnd, 5);
 
     test_adjustrect(parent_wnd);
 
-- 
1.5.6.5


--=-cGzjlq/1ih/X4KCuoIk8--




More information about the wine-patches mailing list