From: scott s. <ssy...@us...> - 2005-08-16 21:46:13
|
Update of /cvsroot/abbot/abbot.swt/src/abbot/tester/swt In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10188/src/abbot/tester/swt Modified Files: ComboTester.java Log Message: Remove reliance on members on Robot class. Index: ComboTester.java =================================================================== RCS file: /cvsroot/abbot/abbot.swt/src/abbot/tester/swt/ComboTester.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ComboTester.java 27 Jun 2005 23:22:16 -0000 1.3 --- ComboTester.java 16 Aug 2005 21:46:03 -0000 1.4 *************** *** 20,62 **** "ADP Schedule Contract with IBM Corp."; - Object objT; - boolean boolT; - int intT0, intT1, intT2; - - /* Widget properties that are obtainable by member getter functions */ - // protected int itemCount; - // protected int itemHeight; - // protected String[] items; - // protected Point selection; - // protected int selectionIndex; - // protected String text; - // - // - // protected int textHeight; - // protected int textLimit; - - // /** - // * Sets the above properties to their current values for the given widget. - // * NOTE: This should be called in a block of code synchronized on this - // * tester. - // */ - // protected synchronized void getProperties(final Combo combo){ - // super.getProperties(combo); - // Robot.syncExec(combo.getDisplay(),this,new Runnable(){ - // public void run(){ - // itemCount = combo.getItemCount(); - // itemHeight = combo.getItemHeight(); - // items = combo.getItems(); - // selection = combo.getSelection(); - // selectionIndex = combo.getSelectionIndex(); - // text = combo.getText(); - // textHeight = combo.getTextHeight(); - // textLimit = combo.getTextLimit(); - // } - // }); - // } - - - /* Begin getters */ /** --- 20,23 ---- *************** *** 164,167 **** --- 125,129 ---- return result.intValue(); } + /** * Proxy for {@link Combo#getTextLimit()}. *************** *** 198,202 **** /** Move the mouse pointer over the item with the given index **/ ! public /*protected*/ void mouseMoveIndex(Combo combo, int index){ int style = getStyle(combo); if((style&SWT.DROP_DOWN)==SWT.DROP_DOWN){ --- 160,164 ---- /** Move the mouse pointer over the item with the given index **/ ! public void mouseMoveIndex(Combo combo, int index){ int style = getStyle(combo); if((style&SWT.DROP_DOWN)==SWT.DROP_DOWN){ *************** *** 211,222 **** } ! /** ! * Select the item from the Combo at the given index. ! * ! * @param combo Combo from which to select ! * @param index Index of item to select ! */ ! public void actionSelectIndex(final Combo combo, final int index){ ! actionFocus(combo); Display display = combo.getDisplay(); int current = getSelectionIndex(combo); --- 173,184 ---- } ! /** ! * Select the item from the Combo at the given index. ! * ! * @param combo Combo from which to select ! * @param index Index of item to select ! */ ! public void actionSelectIndex(final Combo combo, final int index){ ! actionFocus(combo); Display display = combo.getDisplay(); int current = getSelectionIndex(combo); *************** *** 234,246 **** } actionKeyChar(SWT.CR,display); ! // mouseMoveIndex(combo,index); ! // Robot.syncExec(combo.getDisplay(),null,new Runnable(){ ! // public void run(){ ! // combo.select(index); ! // } ! // }); ! actionWaitForIdle(combo.getDisplay()); ! //assert getSelectionIndex(combo) == index; ! } /** --- 196,206 ---- } actionKeyChar(SWT.CR,display); ! actionWaitForIdle(display); ! int selected = getSelectionIndex(combo); ! if (selected != index) { ! String msg = "Was not able to select the correct index for Combo:"+selected+"!="+index; ! throw new AssertionError(msg); ! } ! } /** *************** *** 250,272 **** * @param item String to select */ ! public synchronized void actionSelectItem(final Combo combo, String item){ ! Robot.syncExec(combo.getDisplay(),this,new Runnable(){ ! public void run(){ ! objT = combo.getItems(); ! } ! }); ! String[] items = (String[])objT; ! int i=0; ! while(true){ ! if(i==items.length){ ! Log.debug("actionSelectItem: item \""+item+"\" not found"); ! break; ! } if(item.equals(items[i])){ actionSelectIndex(combo,i); break; } - i++; } } --- 210,231 ---- * @param item String to select */ ! public void actionSelectItem(final Combo combo, String item){ ! String [] items = getItems(combo); ! boolean found = false; ! for (int i = 0; i < items.length; i++){ if(item.equals(items[i])){ + found = true; actionSelectIndex(combo,i); break; } } + if (!found) { + /* @todo: i think we should REALLY throw a WidgetNotFound exception, here, + * but that would require an api change, and i think that should be part of + * a change that tries to standardize on that, i.e. in TreeItemTester, and MenuItemTester. + * And the signature should, also, throw a MultipleWidgetsFoundException. + */ + Log.debug("actionSelectItem: item \""+item+"\" not found"); + } } *************** *** 278,290 **** * @return the item at the given index, or null if index is out-of-bounds */ ! public synchronized String getItem(final Combo combo, final int index){ ! objT = null; ! Robot.syncExec(combo.getDisplay(),this,new Runnable(){ ! public void run(){ ! try{objT = combo.getItem(index);} ! catch(Exception ignored){} ! } ! }); ! return (String)objT; } --- 237,247 ---- * @return the item at the given index, or null if index is out-of-bounds */ ! public String getItem(final Combo combo, final int index){ ! String result = (String) Robot.syncExec(combo.getDisplay(), new RunnableWithResult() { ! public Object runWithResult() { ! return combo.getItem(index); ! } ! }); ! return result; } *************** *** 296,306 **** * @return whether the item at the given index is selected */ ! public synchronized boolean assertIndexSelected(final Combo combo, int index){ ! Robot.syncExec(combo.getDisplay(),this,new Runnable(){ ! public void run(){ ! intT = combo.getSelectionIndex(); ! } ! }); ! return intT == index; } --- 253,260 ---- * @return whether the item at the given index is selected */ ! public boolean assertIndexSelected(final Combo combo, int index){ ! /* @todo: this might be better served as a Condition */ ! int selected = getSelectionIndex(combo); ! return selected == index; } *************** *** 312,325 **** * @return whether the given item is selected */ ! public synchronized boolean assertItemSelected(final Combo combo, String item){ ! objT = null; ! Robot.syncExec(combo.getDisplay(),this,new Runnable(){ ! public void run(){ ! int index = combo.getSelectionIndex(); ! if(index!=-1) ! objT = combo.getItem(index); ! } ! }); ! return objT!=null && ((String)objT).equals(item); } } --- 266,278 ---- * @return whether the given item is selected */ ! public boolean assertItemSelected(final Combo combo, String item){ ! /* @todo: this might be better served as a Condition */ ! int selected = getSelectionIndex(combo); ! if (selected < 0) { ! Log.debug("No item was selected while trying to assert "+item+" was selected."); ! return false; ! } ! String selectedItem = getItem(combo,selected); ! return item.equals(selectedItem); } } |