"Hongbo Ni" <hongbo(a)njstar.com> wrote:
+static void test_builtin_class_subclassed(char *classA, WCHAR *classW);
It is possible to avoid forward declarations by a proper function rearranging. Also please add 'const' to classA/W.
+ +static void test_all_builtin_classes_subclassed(void) +{ + int i, n, len; + WCHAR classW[80];
10 should be enough.
+ CHAR *BUILTIN_CLASSES[MAX_BUILTIN_CLASSES] = {
'static const CHAR BUILTIN_CLASSES[][10]' as in the existing test would be better IMO.
+ "Edit", + "Button", + "Static", + "ComboBox", + "ComboLBox", + "ListBox", + "#32770", /* dialog */ + };
You forgot "ScrollBar" and some other builtin classes.
+ + for(i = 0; i < MAX_BUILTIN_CLASSES; i++) + { + len = strlen(BUILTIN_CLASSES[i]); + for(n = 0; n < len; n++) classW[n] = BUILTIN_CLASSES[i][n]; + classW[n] = 0;
MultiByteToWideChar would be more appropriate here.
+ test_builtin_class_subclassed(BUILTIN_CLASSES[i], classW); + } +} + +static void test_builtin_class_subclassed(char *classA, WCHAR *classW) +{ + HWND hwnd, hwnd2; + WNDPROC oldproc; + + hwnd = CreateWindowExA(0, classA, NULL, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, + CW_USEDEFAULT, 680, 260, NULL, NULL, NULL, 0);
It would be helpful to actually test whether window has been created, and what type it has (ansi/unicode). Same is true for all similar cases. Otherwise the test looks good, and it passes for me under XP SP3. -- Dmitry.