"Anatoly Lyutin" <vostok(a)etersoft.ru> wrote:
> +/* Switch visible mdi childs */
Please use the word 'children' to avoid confusion.
> + trace("Switch child window.\n");
> +
> + ret = SendMessageA(mdi_client, WM_MDIACTIVATE, (WPARAM)mdi_child2, 0);
> + ok(!ret, "Child not been deactivate(Switch test)\n");
active_child == mdi_child2, so it's not clear what you try to do in the test above.
Besides, you don't check any subsequences of the call.
Since below starts another test 'flush_sequence();' should be added before.
> + ret = SendMessageA(mdi_client, WM_MDIACTIVATE, (WPARAM)mdi_child, 0);
> +
> + ok(!ret, "Child not activate(Switch test)\n");
> +
> + ok_sequence(WmSwitchChild,"Child not switch correctly\n",TRUE);
Again, you don't check any subsequences of the call.
Also if you could add comments in the added message sequence what is going on,
it will help a lot later figuring out how to make the test pass under Wine.
Something along the following lines present in the existing sequences:
/* maximize the 1st MDI child */
...
/* restore the 2nd MDI child */
...
{ WM_CHILDACTIVATE, sent|defwinproc|wparam|lparam, 0, 0 }, /* in the 1st MDI child */
{ WM_NCACTIVATE, sent|wparam|defwinproc, 0 }, /* in the 1st MDI child */
{ WM_MDIACTIVATE, sent|defwinproc }, /* in the 1st MDI child */
...
{ WM_KILLFOCUS, sent }, /* in MDI client */
{ WM_IME_SETCONTEXT, sent|wparam|optional, 0 }, /* in MDI client */
etc.
I understand that this is a tedious work, but it should be done.
--
Dmitry.