Bug 28822 - Pushing nested popup menu doesn't work in event mode
Pushing nested popup menu doesn't work in event mode
Status: CLOSED FIXED
Product: qa
Classification: Unclassified
Component: Code
3.x
Sun SunOS
: P1 (vote)
: 4.x
Assigned To: issues@qa
issues@qa
: REGRESSION
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2002-11-18 09:25 UTC by Jiri Skrivanek
Modified: 2011-02-17 09:34 UTC (History)
3 users (show)

See Also:
Issue Type: DEFECT
:


Attachments
Test case (680 bytes, text/plain)
2002-11-18 09:27 UTC, Jiri Skrivanek
Details
Modified Test28822 (1.53 KB, text/plain)
2003-04-05 20:35 UTC, Alexandre Iline
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jiri Skrivanek 2002-11-18 09:25:06 UTC
Pushing nested popup menu doesn't work in event
mode (QUEUE_MODEL_MASK). It works well in SHORTCUT
mode.
Try attached test case.
Comment 1 Jiri Skrivanek 2002-11-18 09:27:37 UTC
Created attachment 7968 [details]
Test case
Comment 2 Alexandre Iline 2002-12-10 02:11:30 UTC
It's working if two more checking is added into DefaultJMenuDriver:
checkings that both popup and menuitem are showing.

Currently, I'm testing it.

Comment 3 Alexandre Iline 2002-12-17 05:25:27 UTC
Fixed in 2.1.1
Comment 4 Jiri Skrivanek 2003-01-03 11:49:08 UTC
Verified in 2.1.1.
Comment 5 Jiri Skrivanek 2003-03-28 09:32:08 UTC
Reopening because it is again reproducable with jemmy 2.2.1 and jemmy
2.2.2 on NetBeans IDE 3.5 200303262350.
Comment 6 Alexandre Iline 2003-04-05 20:33:12 UTC
This time the problem is in first level popup opening - not 
in nested popup pushing. Popup found by this operation: 
tree.callPopupOnPath(tree.findPath("", "|")) somehow got so 
screwed so it's impossible to work with it without 
sleeping. I've tried several approaches (see attached 
modified Test28822) until I finally found that sleeping 
between popup opening and popup waiting helps.  
 
So, I've added one more sleep into JPopupMenuOperator: 
*************** 
*** 285,290 **** 
--- 287,293 ---- 
      public static JPopupMenu callPopup(final 
ComponentOperator oper, int x, int y, int mouseButton) { 
  	oper.makeComponentVisible(); 
  	oper.clickForPopup(x, y, mouseButton); 
+         
oper.getTimeouts().sleep("JMenuOperator.WaitBeforePopupTimeout"); 
  	return(waitJPopupMenu(waitJPopupWindow(new 
ComponentChooser() { 
                  public boolean checkComponent(Component 
cmp) { 
                      Component invoker = 
((JPopupMenu)cmp).getInvoker(); 
 
This works fine, if the timeout is set in the very 
beginning of test case. I realize that this is more like a 
workaround, but there is nothing else I can do about it. 
Problem appears in Netbeans only, probably it is related to 
the way it opens popups. 
 
Next update will contain the fix. 
 
Comment 7 Alexandre Iline 2003-04-05 20:35:53 UTC
Created attachment 9719 [details]
Modified Test28822
Comment 8 Alexandre Iline 2003-04-15 20:57:50 UTC
Fixed in 2.2.3 
Comment 9 Jiri Skrivanek 2003-04-16 14:56:59 UTC
From user perspective it is not fixed. User have to set timeout if he
wants to use popup in QUEUE model. Is there somethig you can do in
order to make it work without implicit timeout setting? I think for
example set timeout in callPopupOnPath if it is run QUEUE model. Or
should we make some change in jellytools?
Comment 10 Jiri Skrivanek 2003-04-22 14:10:50 UTC
As I say in previous comment it should be fixed somehow that user
don't need to set timeout. That's why I reopened this issue.
Comment 11 Alexandre Iline 2004-10-04 16:27:57 UTC
Yes, I think we should assign the timeout value from within the 
JellyTestCase. 
 
Jumping ahead ... this is not a Jemmy default value, this is a Jelly default 
value, so debug.timeouts fileis not changing. 
 
 
Like I told, I do not know another solution than described. 
Comment 12 Jiri Skrivanek 2004-10-06 10:10:21 UTC
OK, I tried it in the latest build of NetBeans 4.0 and it worked
without problems. So, we don't need any other action.


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo