Bug 505822 - selectChild is called from "combo box" accessible in Gtk, but "menu" accessible in WinForms
Summary: selectChild is called from "combo box" accessible in Gtk, but "menu" accessib...
Status: VERIFIED FIXED
Alias: None
Product: UI Automation
Classification: Mono
Component: Winforms - General (show other bugs)
Version: Release 1.0
Hardware: x86 openSUSE 11.1
: P2 - High : Normal
Target Milestone: ---
Assignee: Andres Aragoneses
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-05-20 20:33 UTC by Brian Merrell
Modified: 2009-07-09 06:44 UTC (History)
1 user (show)

See Also:
Found By: Integration Test
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Brian Merrell 2009-05-20 20:33:16 UTC
PROBLEM STATEMENT

The AtkSelection interface's selectChild method may be called from an accessible to select a child of that accessible.  The problem is that the WinForms behavior is different than Gtk's behavior, if the intent is to select a menu item of a combo box.  In Gtk, the selectChild method is called from the "combo box" accessible object and in WinForms the selectChild method is called from the "menu" accessible object.  In both cases, the accessible hierarchy looks like this (for a combo box that has 3 items):

 combo box
     ---> menu
            ----> menu item
            ----> menu item
            ----> menu item

REPRO

GTK
--------

1.  Run Accerciser and open the "IPython Console" tab
2.  Run uia2atk/test/samples/gtkcombobox.py
3.  In Accerciser's left pane, browse to and select the "menu" accessible
4.  In Accerciser's IPython console, type 'acc.querySelection().selectChild(2)' and press Enter.  Notice that nothing happens, the method call just returns "True".
5.  In Accerciser's left pane, browse to and select the "combo box" accessible
6.  In Accerciser's IPython console, type 'acc.querySelection().selectChild(2)' and press Enter.

WINFORMS
--------

1.  Run Accerciser and open the "IPython Console" tab
2.  Run uia2atk/test/samples/combobox_dropdownlist.py
3.  In Accerciser's left pane, browse to and select the "combo box" accessible
4.  In Accerciser's IPython console, type 'acc.querySelection().selectChild(2)' and press Enter.  Notice that nothing happens, the method call just returns "True".
5.  In Accerciser's left pane, browse to and select the "menu" accessible
6.  In Accerciser's IPython console, type 'acc.querySelection().selectChild(2)' and press Enter.


RESULTS

GTK
--------

"Cherry" appears in the ComboBox of the gtkcombobox.py GUI

WINFORMS
--------

"2" appears in the ComboBox of the combobox_dropdownlist.py GUI

EXPECTED RESULTS

I would expect the WinForms behavior to match the Gtk behavior.

COMMENTS

I am assuming the Gtk behavior isn't correct here, but I suppose that isn't necessarily the case.
Comment 1 Andres Aragoneses 2009-07-01 21:58:17 UTC
Well, the winforms test has numbers, not fruits.

Can I simplify the steps to reproduce?

GTK
--------

1.  Run Accerciser and open the "IPython Console" tab
2.  Run uia2atk/test/samples/gtkcombobox.py
3.  In Accerciser's left pane, browse to and select the "combo box" accessible
4.  In Accerciser's IPython console, type 'acc.querySelection().selectChild(2)'
and press Enter.

WINFORMS
--------

1.  Run Accerciser and open the "IPython Console" tab
2.  Run uia2atk/test/samples/combobox_dropdownlist.py
3.  In Accerciser's left pane, browse to and select the "combo box" accessible
4.  In Accerciser's IPython console, type 'acc.querySelection().selectChild(2)'
and press Enter. 


RESULTS

GTK
--------

"Cherry" (3rd element) appears in the ComboBox of the gtkcombobox.py GUI

WINFORMS
--------

"2" (3rd element) *should* appears in the ComboBox of the combobox_dropdownlist.py GUI
Comment 2 Andres Aragoneses 2009-07-02 15:31:52 UTC
No need for the NEEDINFO status IMO, as I'm going to head and fix the steps to reproduced mentioned in last comment.
Comment 3 Andres Aragoneses 2009-07-06 16:15:49 UTC
Hours from thursday.
Comment 4 Andres Aragoneses 2009-07-06 22:01:46 UTC
Fixed in trunk r137460 (only the steps to reproduce mentioned in comment#1; if something else is missing, please open a new bug).
Comment 5 calen chen 2009-07-09 06:44:34 UTC
Verified in RPM version:

mono-uia-132785-276
uiaatkbridge-137574-668
uiautomationwinforms-137456-676