[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