Skip to content

Test fails when selecting a menu item with a too long label #14

@GoogleCodeExporter

Description

@GoogleCodeExporter
What steps will reproduce the problem?
See the attached file.I've added a new test case (canSelectLongItems).

What is the expected output? What do you see instead?
A green bar on JUnit. I get a red one and the error message:

Tried to find:
    screen dimensions of exactly 1 JMenuItem (with text matching 'This is just a very simple example')
    in exactly 1 JMenu (with text matching 'File')
    in exactly 1 JMenuBar (same(<javax.swing.JMenuBar[menuBar,0,0,115x21,layout=javax.swing.plaf.basic.DefaultMenuLayout,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.basic.BasicBorders$MenuBarBorder@cd5f8b,flags=392,maximumSize=,minimumSize=,preferredSize=,margin=,paintBorder=true]>))
    in  the exact JFrame '"javax.swing.JFrame[componentViewer,0,0,123x97,invalid,layout=java.awt.BorderLayout,title=JMenuBarDriverTest,resizable,normal,defaultCloseOperation=DISPOSE_ON_CLOSE,rootPane=javax.swing.JRootPane[,4,30,115x63,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]"' 
but:

    contained 1 JMenuBar (same(<javax.swing.JMenuBar[menuBar,0,0,115x21,layout=javax.swing.plaf.basic.DefaultMenuLayout,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.basic.BasicBorders$MenuBarBorder@cd5f8b,flags=392,maximumSize=,minimumSize=,preferredSize=,margin=,paintBorder=true]>))
    contained 1 JMenu (with text matching 'File')
    contained 1 JMenuItem (with text matching 'This is just a very simple example')
    which had no screen dimensions


What version of the product are you using? On what operating system?
I've just got the last snapshot from SVN

Please provide any additional information below.

I think the problem is due to the JMenuItemDriver.leftClickOnComponent method 
which performs firstly an horizontal movement than a vertical one. It can cause 
the mouse pointer to miss the menu scope and let it close if the menu item 
label is too long.
A possible fix is to use createVerticalThenHorizontalMouseMoveGesture instead.
BTW, should createVerticalThenHorizontalMouseMoveGesture and 
horizontalThenVerticalMouseMove methods called accordingly each other?

Original issue reported on code.google.com by [email protected] on 25 Nov 2010 at 3:35

Attachments:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions