Changelog

Release History

VersionDateDescription
1.22010-06-02Subsequent release
1.2rc2010-04-26Subsequent release
1.2a42010-01-19Subsequent release
1.2a32009-08-31Subsequent release
1.2a22009-05-26Subsequent release
1.2a12009-05-04Subsequent release
1.12009-02-23Subsequent release
1.02009-01-15Subsequent release
1.0rc22009-01-05Subsequent release
1.0rc2008-12-08Subsequent release
1.0b22008-10-16Subsequent release
1.0b12008-07-22Subsequent release
1.0a32008-06-23Subsequent release
1.0a22008-05-19Subsequent release
1.0a12008-04-07Subsequent release
0.92008-03-21Subsequent release
0.8.12008-02-04Subsequent release
0.82008-01-09Subsequent release
0.72007-11-27Subsequent release
0.6.12007-09-26Subsequent release
0.62007-09-25Subsequent release
0.52007-08-30Subsequent release
0.5-SNAPSHOT2007-08-06Subsequent release
0.42007-07-17Subsequent release
0.32007-06-04First public release

Release 1.2 - 2010-06-02

TypeChangesBy
fixorg.fest.swing.testng.listner.ScreenshotOnFailureListener can once again take screenshots of the desktop when a GUI test fails. Fixes FEST-341. Thanks to Grego.alexruiz
fixFixed Javadocs of methods annotated with @RunsInCurrentThread. Fixes FEST-342.wanghy
fixUpdated dependency to FEST-Reflect 1.2. Fixes FEST-343.wanghy
fixUpdated dependency to FEST-Util 1.1.2. Fixes FEST-344.wanghy
fixClass KeyStrokeMappingProviderNames now uses the right prefix to load implementations of KeyStrokeMappingProvider. Fixes FEST-345. Thanks to Olivier DOREMIEUX.alexruiz
addAdded KeyStrokeMappingProvider for French MacOS. Fixes FEST-347. Thanks to Olivier DOREMIEUX.alexruiz
fixFixed implementation of "selectAll" in class org.fest.swing.driver.JTextComponentDriver. Fixes FEST-348. Thanks to Olivier DOREMIEUX.alexruiz
removeRemoved class org.fest.swing.util.SystemProperties. Fixes FEST-354.wanghy
fixMethod "validateNotNull(ComponentDriver)" in org.fest.swing.fixture.ComponentFixture is now protected. Fixes FEST-355. Thanks to Peter Murray.alexruiz

Release 1.2rc - 2010-04-26

TypeChangesBy
fixorg.fest.swing.lock.ScreenLock does not deadlock in the presence of multiple threads. Fixes FEST-23. Thanks to Dan Dyer.alexruiz
fixorg.fest.swing.lock.ScreenLock does not deadlock if current lock owner tries to re-acquire the lock. Fixes FEST-23. Thanks to Dan Dyer.alexruiz
fixAdded method 'acquired' to org.fest.swing.lock.ScreenLock Fixes FEST-23. Thanks to Dan Dyer.alexruiz
fixorg.fest.swing.testng.listener.ScreenshotOnFailureListener creates the output directory if it does not exist before saving the screenshot of the desktop as a PNG file. Fixes FEST-177.alexruiz
fixMethod 'showPopupMenuAt' in JTreeFixture now scrolls to the matching node before trying to display a pop-up menu. Fixes FEST-200.alexruiz
addAdded method 'descriptionAddendum' to class org.fest.swing.timing.Condition. Fixes FEST-286. Thanks to Morten Breum Mikkelsen.alexruiz
addClass org.fest.swing.core.ComponentFoundCondition now appends the component hierarchy to its description when a component cannot be found. Fixes FEST-286. Thanks to Morten Breum Mikkelsen.alexruiz
addAdded interface org.fest.swing.core.ResettableComponentMatcher. Fixes FEST-291. Thanks to Henning.alexruiz
addClass org.fest.swing.core.AbstractComponentMatcher now implements ResettableComponentMatcher. Fixes FEST-291. Thanks to Henning.alexruiz
addorg.fest.swing.core.ComponentFoundCondition now resets the given matcher in 'test' if the matcher is a ResettableComponentMatcher. Fixes FEST-291. Thanks to Henning.alexruiz
fixorg.fest.swing.data.TableCellInRowByValue now correctly performs matching on a JTable row by value. Fixes FEST-293. Thanks to Morten Breum Mikkelsen.alexruiz
fixRemoved check 'scrollIfNecessary' when clicking a Component. Now BasicRobot always scrolls to make a component visible. Fixes FEST-297. Thanks to Nicolae Bucalaete.alexruiz
fixJTableHeaderFixture waits a little bit after clicking a table header, in case sorting is performed on a JTable. Fixes FEST-299. Thanks to Rahel Lüthy.alexruiz
addAdded methods 'timeoutToFindSubMenu' to class org.fest.swing.core.Settings to control the time to wait for a sub-menu to show up on the screen. Fixes FEST-302. Thanks to Henning.alexruiz
fixAll classes in the org.fest.swing.finder package are now public. Any package-protected methods are now protected. Fixes FEST-304. Thanks to Peter Murray.alexruiz
fixorg.fest.swing.launcher.ApplicationLauncher now uses the ClassLoader from the current thread to load a class given its name. Fixes FEST-305.alexruiz
fixMethod 'getApplet(String)' and 'getApplets()' now return a reference to the applet under test. Fixes FEST-306. Thanks to dmas.alexruiz
fixJTabbedPaneFixture now selects tabs that are not visible. Fixes FEST-309. Thanks to Nicolae Bucalaete.alexruiz
addAdded class org.fest.swing.core.EdtSafeCondition. Fixes FEST-311. Thanks to Dan Peder Eriksen.alexruiz
addClass org.fest.swing.core.ComponentFoundCondition now appends the list of components found to its description when multiple components match the condition's search criteria. Fixes FEST-312. Thanks to Morten Breum Mikkelsen.alexruiz
addAdded class org.fest.swing.keystroke.KeyStrokeMappingsParser to parses a text file containing the character-keystroke mappings and creates a KeyStrokeMappingProvider from those mappings. Fixes FEST-315. Thanks to Olivier DOREMIEUX.alexruiz
fixorg.fest.swing.keystroke.KeyStrokeMap now loads mappings based on Operating System and locale. Fixes FEST-318. Thanks to Olivier DOREMIEUX.alexruiz
fixReplaced method 'reloadFromLocale' with 'reloadFromSystemSettings' in org.fest.swing.keystroke.KeyStrokeMap. Fixes FEST-318. Thanks to Olivier DOREMIEUX.alexruiz
fixDeprecated method 'reloadFromLocale' in org.fest.swing.keystroke.KeyStrokeMap. Fixes FEST-318. Thanks to Olivier DOREMIEUX.alexruiz
fixCreated new project (fest-keyboard-mapping) that hosts the code for the keyboard mapping tool. Fixes FEST-319. Thanks to Olivier DOREMIEUX.alexruiz
addAdded method 'title' to class org.fest.swing.fixture.JOptionPaneFixture. Fixes FEST-322. Thanks to Morten Breum Mikkelsen.alexruiz
addFEST displays JPopupMenu for non-focusable Components. Fixes FEST-331. Thanks to Ivan Malygin.wanghy
fixDeprecated class org.fest.swing.util.System and replaced it with org.fest.swing.util.SystemProperties.alexruiz

Release 1.2a4 - 2010-01-19

TypeChangesBy
addAdded interface org.fest.swing.fixture.JTreeNodeFixture and implementations JTreePathFixture and JTreeRowFixture. Fixes FEST-8.alexruiz
addAdded methods 'node(int)' and 'node(String)' to JTreeFixture. These methods return JTreeRowFixture and JTreePathFixture respectively. Fixes FEST-8.alexruiz
addAdded methods 'clickPath(String, MouseButton)' and 'clickPath(String, MouseClickInfo)' to JTreeFixture. Fixes FEST-8.alexruiz
addAdded methods 'clickRow(int, MouseButton)' and 'clickRow(int, MouseClickInfo)' to JTreeFixture. Fixes FEST-8.alexruiz
addAdded methods 'valueAt(int)' and 'valueAt(String)' to JTreeFixture. Fixes FEST-8.alexruiz
addAdded interface org.fest.swing.data.TableCellFinder. Implementations understand lookup of a cell in a JTable based on some search criteria. Fixes FEST-43. Thanks to Ken Geis.alexruiz
addorg.fest.swing.data.TableCellByColumnId now implements TableCellFinder. Fixes FEST-43. Thanks to Ken Geis.alexruiz
addMethod 'cell(TableCellByColumnId)' in JTableFixture changed to 'cell(TableCellFinder)'. Fixes FEST-43. Thanks to Ken Geis.alexruiz
addAdded class org.fest.swing.data.TableCellInSelectedRow to lookup a cell in a selected row of a JTable. Fixes FEST-43. Thanks to Ken Geis.alexruiz
removeRemoved method 'selectedRow' from JTableFixture. Fixes FEST-43. Thanks to Ken Geis.alexruiz
fixScreenLock is acquired *before* creating an instance of BasicRobot. If the lock is not acquired (somebody else has it,) the component hierarchy will not be created until the lock is released, preventing seeing a stale component hierarchy. Fixes FEST-98. Thanks to Mihael Vrbanec, Julia Koep, Martin Ginkel, Martin Bachmann.alexruiz
fixAdded method 'clickItem' (with overloaded versions) to JListFixture. Fixes FEST-123. Thanks to Jeanette Winzenburg.alexruiz
fixRemoved mappings for German umlauts in KeyStrokeMappingProvider_de. Fixes FEST-175. Thanks to Jan Zuchhold.alexruiz
fixRemoved dependency on debug.jar. Fixes FEST-207. Thanks to Daniel Dyer.alexruiz
fixAdded own CheckThreadViolationRepaintManager, a copy of the original from debug.jar Fixes FEST-207. Thanks to Daniel Dyer.alexruiz
fixJSplitPaneDriver now respects the minimum sizes of the left and right components when moving the divider to a given location. Fixes FEST-210. Thanks to Martin Ginkel.alexruiz
addAdded method 'clickRow(int)' to JTreeFixture. Fixes FEST-213.alexruiz
fixMoved JDK-6 specific code to new module fest-swing-jdk6. Fixes FEST-215.alexruiz
fixAppletLauncher does not call 'init' method of Applets in the Event Dispatch Thread. Fixes FEST-219. Thanks to Dominik Wild, Kyle Murphy.alexruiz
addAdded class org.fest.swing.fixture.JProgressBarFixture. Fixes FEST-222. Thanks to Jacob Qvortrup.alexruiz
addAdded methods 'progressBar' to class org.fest.swing.fixture.ContainerFixture. Fixes FEST-222. Thanks to Jacob Qvortrup.alexruiz
addAdded class org.fest.swing.data.TableCellInRowByValue to lookup a JTable cell in a row whose values match the given one. Thanks to Morten Breum Mikkelsen.alexruiz
fixMethod 'matches(String, String)' does not require a valid regular expression if the given Strings are not equal. Fixes FEST-227. Thanks to Uli Schrempp.alexruiz
fixJScrollBarDriver now properly scrolls up and down (up and down were inverted.) Fixes FEST-231. Thanks to Florian SIMON.alexruiz
fixAdded KeyStrokeMappingProvider_fr to support French keyboards. Fixes FEST-232. Thanks to Florian SIMON.alexruiz
fixAdded method 'requireItemCount(int)' to ItemGroupFixture and its implementations JComboBoxFixture and JListFixture. Fixes FEST-244. Thanks to Harry L.alexruiz
fixFixed NPE thrown by JTreeDriver#drop(JTree, String) when root node is not visible. Fixes FEST-246. Thanks to Pavol Marko.alexruiz
addAdded method 'rightClickPath(String)' to JTreeFixture. Fixes FEST-248. Thanks to Huib.alexruiz
addAdded class org.fest.swing.security.NoExitSecurityManager to prevent applications under test from terminating the current JVM. Fixes FEST-249. Thanks to Brandon.alexruiz
fixComponent hierarchies now contain in the collection of root windows all the ownerless windows. Fixes FEST-250. Thanks to Stephen Gade Esven, Morten Breum Mikkelsen.alexruiz
fixAdded method 'ownerlessWindows' to class org.fest.awt.AWT that returns all ownerless windows. This method only works with JDK 1.6. Fixes FEST-250. Thanks to Stephen Gade Esven, Morten Breum Mikkelsen.alexruiz
fixUpdated FEST-Assert to version 1.2. Fixes FEST-251.alexruiz
fixMethod 'requireSelection' in JComboBoxFixture now uses the fixture's cell reader in editable JComboBoxes. Fixes FEST-254. Thanks to Glen Schrader.alexruiz
addAdded method 'rightClickRow(int)' to JTreeFixture. Fixes FEST-266.alexruiz
addJOptionFixture now extends ContainerFixture. Fixes FEST-267. Thanks to Morten Breum Mikkelsen.alexruiz
removeContainerFixture no longer implements JPopupMenuInvokerFixture. Fixes FEST-267. Thanks to Morten Breum Mikkelsen.alexruiz
addJInternalFrameFixture now implements JPopupMenuInvokerFixture. Fixes FEST-267. Thanks to Morten Breum Mikkelsen.alexruiz
addJPanelFixture now implements JPopupMenuInvokerFixture. Fixes FEST-267. Thanks to Morten Breum Mikkelsen.alexruiz
removeJToolBarFixture now implements JPopupMenuInvokerFixture. Fixes FEST-267. Thanks to Morten Breum Mikkelsen.alexruiz
removeWindowFixture now implements JPopupMenuInvokerFixture. Fixes FEST-267. Thanks to Morten Breum Mikkelsen.alexruiz
addAdded method 'selectRows(int...)' to JTableFixture. Fixes FEST-269. Thanks to Florian SIMON.alexruiz
addAdded method 'requireSelectedRows(int...)' to JTableFixture. Fixes FEST-269. Thanks to Florian SIMON.alexruiz
fixMethod 'requireSelection' in JComboBoxFixture now uses the value in JComboBox#getSelectedItem if the JComboBox is editable and does not have any selected index. Fixes FEST-274.alexruiz
fixMethod 'text' in JTextComponentFixture now obtains the text of a JTextComponent in the EDT. Fixes FEST-280.alexruiz
addAdded method 'textOf(JTextComponent)' to JTextComponentDriver. Fixes FEST-280.alexruiz
addAdded class org.fest.swing.util.AWTExceptionHandler. Fixes FEST-283.alexruiz
fixRobot automatically performs any necessary scrolls to make a component visible before clicking it. Thanks to Steve Farrell.alexruiz
fixMoved class Scrolling from package org.fest.swing.driver to org.fest.swing.core. Thanks to Steve Farrell.alexruiz
fixDeprecated class org.fest.swing.driver.Scrolling. Use org.fest.swing.core.Scrolling instead. Thanks to Steve Farrell.alexruiz
fixFixed typo in error message displayed when a component to click is out of screen bounds. Thanks to Steve Farrell.alexruiz

Release 1.2a3 - 2009-08-31

TypeChangesBy
addAdded method 'expandRow(int)' to JTreeFixture. Fixes FEST-7. Thanks to Cephei.alexruiz
addAdded method 'collapseRow(int)' to JTreeFixture. Fixes FEST-7. Thanks to Cephei.alexruiz
addAdded method 'expandPath(String)' to JTreeFixture. Fixes FEST-7. Thanks to Cephei.alexruiz
addAdded method 'collapsePath(String)' to JTreeFixture. Fixes FEST-7. Thanks to Cephei.alexruiz
addAdded method 'selectedRow' to JTableFixture. Fixes FEST-43. Thanks to Ken Geis.alexruiz
addAdded method 'clientProperty(Object)' to all the fixtures that handle JComponents. Fixes FEST-47. Thanks to Andres Almiray.alexruiz
fixAdded support for editable JComboBoxes as JTable editors. Fixes FEST-122. Thanks to Dario Consoli.alexruiz
fixUpdated Javadocs in methods 'pressModifiers' and 'releaseModifiers' in Robot, to indicate the valid values for the modifiers. Fixes FEST-136. Thanks to Steve (neals01).alexruiz
fixDelay between events is set to zero, when clicking the mouse button more than once. Fixes FEST-137. Thanks to Woody Folsom.alexruiz
fixJTableCellFixture now returns the correct cell background when using table decorators. Fixes FEST-138. Thanks to Joel Shellman.alexruiz
fixLookup methods in ComponentFinder use the ComponentLookupScope in the Settings of the Robot the finder is attached to. Fixes FEST-139. Thanks to Woody Folsom.alexruiz
addAdded support for regular expression matching to method 'requireText(String)' in JButtonFixture, where the given String can be a regular expression. Fixes FEST-142. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'requireText(Pattern)' to JButtonFixture. Fixes FEST-142. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'requireText(String)' in JCheckBoxFixture, where the given String can be a regular expression. Fixes FEST-143. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'requireText(Pattern)' to JCheckBoxFixture. Fixes FEST-143. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'selectItem(String)' in JComboBoxFixture, where the given String can be a regular expression. Fixes FEST-144. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'selectItem(Pattern)' to JComboBoxFixture. Fixes FEST-144. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'requireSelection(String)' in JComboBoxFixture, where the given String can be a regular expression. Fixes FEST-144. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'requireSelection(Pattern)' to JComboBoxFixture. Fixes FEST-144. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'requireText(String)' in JLabelFixture, where the given String can be a regular expression. Fixes FEST-145. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'requireText(Pattern)' to JLabelFixture. Fixes FEST-145. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'item(String)' in JListFixture, where the given String can be a regular expression. Fixes FEST-146. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'item(Pattern)' to JListFixture. Fixes FEST-146. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'selectItem(String)' in JListFixture, where the given String can be a regular expression. Fixes FEST-146. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'selectItem(Pattern)'. Fixes FEST-146. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'selectItems(String[])' in JListFixture, where each String in the given array can be a regular expression. Fixes FEST-146. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'selectItems(Pattern[])' to JListFixture. Fixes FEST-146. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'requireSelection(String)' in JListFixture, where the given String can be a regular expression. Fixes FEST-146. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'requireSelection(Pattern)' to JListFixture. Fixes FEST-146. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'requireSelectedItems(String[])' in JListFixture, where each String in the given array can be a regular expression. Fixes FEST-146. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'requireSelectedItems(Pattern[])' to JListFixture. Fixes FEST-146. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'requireSelectedItems(int[])' to JListFixture. Fixes FEST-146. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'drag(String)' in JListFixture, where the given String can be a regular expression. Fixes FEST-146. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'drag(Pattern)' to JListFixture. Fixes FEST-146. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'drop(String)' in JListFixture, where the given String can be a regular expression. Fixes FEST-146. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'drop(Pattern)' to JListFixture. Fixes FEST-146. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'showPopupMenuAt(String)' in JListFixture, where the given String can be a regular expression. Fixes FEST-146. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'showPopupMenuAt(Pattern)' to JListFixture. Fixes FEST-146. Thanks to Juhos Csaba-Zsolt.alexruiz
fixUpdated EDT-related threading rules in ComponentFixture's Javadocs. Fixes FEST-149. Thanks to Kwen K. Liu.alexruiz
addAdded support for regular expression matching to method 'requireTitle(String)' in JOptionPaneFixture, where the given String can be a regular expression. Fixes FEST-151. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'requireTitle(Pattern)' to JOptionPaneFixture. Fixes FEST-151. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'requireMessage(Object)' in JOptionPaneFixture, where the given Object can be a regular expression. Fixes FEST-151. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'requireMessage(Pattern)' to JOptionPaneFixture. Fixes FEST-151. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'buttonWithText(String)' in JOptionPaneFixture, where the given String can be a regular expression. Fixes FEST-151. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded methods 'requireToolTip(String)' and 'requireToolTip(Pattern)' to all the fixtures that handle JComponents. Fixes FEST-152. Thanks to Morten Breum Mikkelsen.alexruiz
addAdded overloaded method 'buttonWithText(Pattern)' to JOptionPaneFixture. Fixes FEST-151. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'withText(String)' in JButtonMatcher, where the given String can be a regular expression. Fixes FEST-153. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'withText(Pattern)' to JButtonMatcher. Fixes FEST-153. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'andText(String)' in JButtonMatcher, where the given String can be a regular expression. Fixes FEST-153. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'andText(Pattern)' to JButtonMatcher. Fixes FEST-153. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'requireText(String)' in JRadioButtonFixture, where the given String can be a regular expression. Fixes FEST-154. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'requireText(Pattern)' to JRadioButtonFixture. Fixes FEST-154. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'selectTab(Pattern)' to JTabbedPaneFixture. Fixes FEST-155. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'requireTitle(String, Index)' in JTabbedPaneFixture where the given String can be a regular expression. Fixes FEST-155. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'requireTitle(Pattern, Index)' to JTabbedPaneFixture. Fixes FEST-155. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'cell(String)' in JTableFixture, where the given String can be a regular expression. Fixes FEST-156. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'cell(Pattern)' to JTableFixture. Fixes FEST-156. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'requireCellValue(TableCell, String)' in JTableFixture, where the given String can be a regular expression. Fixes FEST-156. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'requireCellValue(TableCell, Pattern)' to JTableFixture. Fixes FEST-156. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'requireValue(String)' in JTableCellFixture, where the given String can be a regular expression. Fixes FEST-158. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'requireValue(Pattern)' to JTableCellFixture. Fixes FEST-158. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'showPopupMenuAt(String)' in JTableHeaderFixture, where the given String can be a regular expression. Fixes FEST-159. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'showPopupMenuAt(Pattern)' to JTableHeaderFixture. Fixes FEST-159. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'clickColumn(String)' in JTableHeaderFixture, where the given String can be a regular expression. Fixes FEST-159. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'clickColumn(Pattern)' to JTableHeaderFixture. Fixes FEST-159. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'clickColumn(String, MouseClickInfo)' in JTableHeaderFixture, where the given String can be a regular expression. Fixes FEST-159. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'clickColumn(Pattern, MouseClickInfo)' to JTableHeaderFixture. Fixes FEST-159. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'requireText(String)' in JTextComponentFixture, where the given String can be a regular expression. Fixes FEST-160. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'requireText(Pattern)' to JTextComponentFixture. Fixes FEST-160. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'requireText(String)' in JToggleButtonFixture, where the given String can be a regular expression. Fixes FEST-161. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'requireText(Pattern)' to JToggleButtonFixture. Fixes FEST-161. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'requireText(Pattern)' to the interface TextDisplayFixture. Fixes FEST-162. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'selectItem(Pattern)' to the interface ItemGroupFixture. Fixes FEST-163. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'requireSelection(Pattern)' to the interface ItemGroupFixture. Fixes FEST-163. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'withTitle(String)' in DialogMatcher, where the given String can be a regular expression. Fixes FEST-164. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'withTitle(Pattern)' to DialogMatcher. Fixes FEST-164. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'andTitle(String)' in DialogMatcher, where the given String can be a regular expression. Fixes FEST-164. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'andTitle(Pattern)' to DialogMatcher. Fixes FEST-164. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'withTitle(String)' in FrameMatcher, where the given String can be a regular expression. Fixes FEST-172. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'withTitle(Pattern)' to FrameMatcher. Fixes FEST-172. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'andTitle(String)' in FrameMatcher, where the given String can be a regular expression. Fixes FEST-172. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'andTitle(Pattern)' to FrameMatcher. Fixes FEST-172. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'withText(String)' in JLabelMatcher, where the given String can be a regular expression. Fixes FEST-173. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'withText(Pattern)' to JLabelMatcher. Fixes FEST-173. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'andText(String)' in JLabelMatcher, where the given String can be a regular expression. Fixes FEST-173. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'andText(Pattern)' to JLabelMatcher. Fixes FEST-173. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'withText(String)' in JTextComponentMatcher, where the given String can be a regular expression. Fixes FEST-174. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'withText(Pattern)' to JTextComponentMatcher. Fixes FEST-174. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded support for regular expression matching to method 'andText(String)' in JTextComponentMatcher, where the given String can be a regular expression. Fixes FEST-174. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded overloaded method 'andText(Pattern)' to JTextComponentMatcher. Fixes FEST-174. Thanks to Juhos Csaba-Zsolt.alexruiz
fixMethod 'clickColumn(int)' in JTableHeaderDriver now scrolls to the column to click. Fixes FEST-194. Thanks to Andriy Tsykholyas.alexruiz
addAdded method 'clickPath(String)' to JTreeFixture. Fixes FEST-178. Thanks to Ricky Clarkson.alexruiz
fixAdded methods 'doubleClickRow(int)' and 'doubleClickPath(String)' to JTreeFixture. Fixes FEST-195. Thanks to Lalitha Chandra.alexruiz
fixMethod 'click(Component, Point, MouseButton, int)' in BasicRobot no longer gives focus to target component before pressing the given mouse button. Fixes FEST-196. Thanks to Kirill Grouchnikov.alexruiz
?Migrated tests to JUnit.

Release 1.2a2 - 2009-05-26

TypeChangesBy
addAdded method 'dialog(Timeout)' to ContainerFixture. Fixes FEST-32. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded method 'dialog(GenericTypeMatcher, Timeout)' to ContainerFixture. Fixes FEST-32. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded method 'dialog(String Timeout)' to ContainerFixture. Fixes FEST-32. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded method 'fileChooser(Timeout)' to ContainerFixture. Fixes FEST-32. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded method 'fileChooser(GenericTypeMatcher, Timeout)' to ContainerFixture. Fixes FEST-32. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded method 'fileChooser(String Timeout)' to ContainerFixture. Fixes FEST-32. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded method 'optionPane(Timeout)' to ContainerFixture. Fixes FEST-32. Thanks to Juhos Csaba-Zsolt.alexruiz
fixOriginal methods to look up Dialogs, JFileChoosers and JOptionPanes now delegate to the overloaded versions that take a Timeout. Fixes FEST-32. Thanks to Juhos Csaba-Zsolt.alexruiz
fixClass org.fest.swing.timing.Timeout now throws NPE in constructor if the given TimeUnit is null. Fixes FEST-32. Thanks to Juhos Csaba-Zsolt.alexruiz
fixTo activate a Window, org.fest.swing.core.ActivateWindowTask now calls 'toFront and 'requestFocusInWindow' instead of two calls to 'toFront'. Fixes FEST-118. Thanks to Olivier DOREMIEUX.alexruiz
fixFixed implementation of 'requireSelection(String)' in JTreeDriver when a JTree has an invisible root. Fixes FEST-119. Thanks to Eric Kolotyluk.alexruiz
fixKeyStrokeMap now uses the German keyboard mappings if the language of the default locale is German. Fixes FEST-132.alexruiz

Release 1.2a1 - 2009-05-04

TypeChangesBy
addDeprecated org.fest.swing.junit.runner.GUITestRunner in module 'fest-swing-junit' and rewrote it as org.fest.junit.v_4_3_1.runner.GUITestRunner in module 'fest-swing-junit-4.3.1. Fixes FEST-29. Thanks to Christian Dähn.alexruiz
addCreate Runner for JUnit 4.5 as org.fest.swing.junit.v4_5.runner.GUITestRunner, in the project 'fest-swing-junit-4.5'. Fixes FEST-29. Thanks to Christian Dähn.alexruiz
fixMarked as 'final' all concrete classes in package org.fest.swing.core.finder. Fixes FEST-37. Thanks to Ondrej Medek.alexruiz
addAdded methods 'findAll(GenericTypeMatcher)' and 'findAll(Container, GenericTypeMatcher)' to class org.fest.swing.core.ComponentMatcher. Fixes FEST-38. Thanks to Ondrej Medek.alexruiz
addCreated class Containers, which allows to places a given container inside a JFrame. Fixes FEST-46. Thanks to Hayden Shorter.alexruiz
addAdded protected final method 'driver' to all fixtures to allow replacement of component drivers. Fixes FEST-85. Thanks to Andriy Tsykholyas.alexruiz
fixJComboBoxDriver now sets the focus in the actual editor before entering text. Fixes FEST-102. Thanks to Stephen Neal.alexruiz
fixJMenuItems no longer receive input focus when being clicked. Fixes FEST-104. Thanks to Tony Eichelberger, Martin Bachmann.alexruiz
fixScreenshots of desktop/GUI components are taken in the EDT, only when the EDT is idle. Fixes FEST-106. Thanks to Jean-Francois Poilpret.alexruiz
fixMethod 'setUpOnce' (marked with @BeforeClass) in class FestSwingJUnitTestCase is now static. Fixes FEST-114. Thanks to Eitan Suez.alexruiz
addAdded method 'requireSelection(int)' to ItemGroupFixture and its implementations (JComboBoxFixture and JListFixture.) Fixes FEST-115. Thanks to Jeanette (Kleopatra).alexruiz
addAdded class org.fest.swing.keystroke.KeyStrokeMappingProvider_de. KeyStrokeMapping now uses this provider if the language of the default Locale is German. Fixes FEST-117. Thanks to Uli Schrempp.alexruiz
addAdded method 'text' to JSpinnerFixture. Fixes FEST-120. Thanks to Olivier DOREMIEUX.alexruiz
addAdded method 'clearSelection' to JComboBoxFixture and JListFixture. Fixes FEST-121. Thanks to Olivier DOREMIEUX.alexruiz

Release 1.1 - 2009-02-23

TypeChangesBy
fixWhen cancelling or stopping cell editing, JTableTextComponentEditorCellWriter and JTableComboBoxEditorCellWriter use the same TableCellEditor obtained when cell editing started. Fixes FEST-3.wanghy
addAdded methods "requireRowCount" and "requireColumnCount" to org.fest.swing.fixture.JTableFixture. Fixes FEST-7. Thanks to Michael Schnell.wanghy
addAdded method "requireFocused" to all component fixtures in package org.fest.swing.fixture. Fixes FEST-8. Thanks to Michael Schnell.alexruiz
addAdded class org.fest.swing.testing.FestSwingTestCase. Fixes FEST-9. Thanks to Andres Almiray.alexruiz
addAdded class org.fest.swing.junit.testcase.FestSwingJUnitTestCase. Fixes FEST-9. Thanks to Andres Almiray.alexruiz
addAdded class org.fest.swing.testng.testcase.FestSwingTestngTestCase. Fixes FEST-9. Thanks to Andres Almiray.alexruiz
addAdded method 'selectedComponent' to org.fest.swing.fixture.JTabbedPaneFixture. Fixes FEST-10. Thanks to Ken Geis.alexruiz
addAdded method 'requireTabTitle(String, Index)' to org.fest.swing.fixture.JTabbedPaneFixture. Fixes FEST-11. Thanks to Michael Schnell.alexruiz
addAdded method 'requireTabTitles(String...)' to org.fest.swing.fixture.JTabbedPaneFixture. Fixes FEST-11. Thanks to Michael Schnell.alexruiz
addAdded methods moveMouse(Point), moveMouse(int, int) and pressMouse(Point, MouseButton) to org.fest.swing.core.Robot. Fixes FEST-12.alexruiz
addReplaced org.fest.swing.driver.DragAndDrop with org.fest.swing.core.ComponentDragAndDrop. Fixes FEST-13.alexruiz
addClass org.fest.swing.driver.DragAndDrop is now deprecated and will be removed in version 2.0. Fixes FEST-13.alexruiz
fixFailure to activate cell editor in org.fest.swing.driver.AbstractJTableCellWriter now throw an ActionFailureException with the message "Unable to find or activate cell editor". Fixes FEST-14. Thanks to Ken Geis.alexruiz
fixorg.fest.swing.driver.JTreeDriver now adds the root to the path to expand, if the JTree has its root invisible. Fixes FEST-15. Thanks to Gino John.alexruiz
addAdded method 'selectFiles(File...)' to org.fest.swing.fixture.JFileChooserFixture. Fixes FEST-16. Thanks to Peter Hulst.alexruiz
fixorg.fest.swing.driver.JSpinnerDriver correctly selects the current text of a JSpinner before entering new text. Fixes FEST-17. Thanks to Sergey Parilin.alexruiz
addAdded methods 'moveToFront' and 'moveToBack' to FrameFixture and DialogFixture. Fixes FEST-18. Thanks to Ian Henehan.alexruiz
addorg.fest.swing.driver.JSpinnerDriver sets the focus on the editor and waits for the editor to be focused before entering new text. Fixes FEST-19. Thanks to Juhos Csaba-Zsolt.alexruiz
fixorg.fest.swing.driver.JTableTextComponentEditorCellWriter now correctly catches ActionFailedException when the cell editor cannot be activated by pressing the key 'F2'. Fixes FEST-20. Thanks to Ken Geis.alexruiz
fixParameters values in TestNG test methods are now used to generate name of image file containing desktop screenshot. Fixes FEST-48. Thanks to vnguyen.sqa.alexruiz
fixMoved classes in package org.fest.swing.testng to the package org.fest.swing.testng.listener. Fixes FEST-61.alexruiz
fixDeprecated org.fest.swing.testng.ScreenshotOnFailureListener. Users should use org.fest.swing.testng.listener.ScreenshotOnFailureListener instead. Fixes FEST-61.alexruiz
fixorg.fest.swing.driver.JListDriver now clicks in the middle of the visible rectangle of a cell, when selecting an item in a JList. Fixes FEST-65. Thanks to Cimballi.alexruiz

Release 1.0 - 2009-01-15

TypeChangesBy
addAdded class org.fest.swing.driver.Scrolling. Fixes 238. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded methods 'check' and 'uncheck' to org.fest.swing.fixture.JRadioButtonFixture. Fixes 277. Thanks to Juhos Csaba-Zsolt.alexruiz
fixMatchers in org.fest.swing.core.matcher now more search options for component matching (by type, by name, by text/title.) Fixes 280.alexruiz
fixReplaced DialogByTitleMatcher with DialogMatcher in package org.fest.swing.core.matcher. Fixes 280.alexruiz
fixReplaced FrameByTitleMatcher with FrameMatcher in package org.fest.swing.core.matcher. Fixes 280.alexruiz
fixReplaced JButtonByTextMatcher with JButtonMatcher in package org.fest.swing.core.matcher. Fixes 280.alexruiz
fixReplaced JLabelByTextMatcher with JLabelMatcher in package org.fest.swing.core.matcher. Fixes 280.alexruiz
addClass org.fest.swing.fixture.ContainerFixture implements interface org.fest.swing.fixture.ComponentContainerFixture. Fixes 281. Thanks to Konrad Garus.alexruiz
fixMoved SingleComponentHierarchy from package org.fest.swing.core to org.fest.swing.hierarchy.alexruiz
fixMade class org.fest.swing.hierarchySingleComponentHierarchy public.alexruiz

Release 1.0rc2 - 2009-01-05

TypeChangesBy
addAdded method click(Point, MouseButton, int) to org.fest.swing.core.Robot. Fixes 139. Thanks to Viet Nguyen.alexruiz
fixorg.fest.swing.image.ScreenshotTaker hides the caret of a focused text component before taking a screenshot. Fixes 213. Thanks to Jean-Francois Poilpret.alexruiz
fixorg.fest.swing.edt.GuiActionRunner appends stack trace of current thread to an exception thrown in the event dispatch thread. Fixes 247. Thanks to Juhos Csaba-Zsolt.alexruiz
fixJTable cell editor lookup fixed in org.fest.swing.driver.JTableTextComponentEditorCellWriter and JTableComboBoxEditorCellWriter by looking up the editor after it has been activated. Fixes 251. Thanks to Juhos Csaba-Zsolt.alexruiz
fixConstructors in org.fest.swing.core.GenericTypeMatcher now take the supported type as parameter to guarantee correct casting in the 'isMatching' method. Fixes 257. Thanks to Juhos Csaba-Zsolt.alexruiz
fixTestNG is a compile-scoped dependency of the fest-swing-testng module. Fixes 268. Thanks to Jean-Francois Poilpret.alexruiz
addAdded methods 'rotateMouseWheel(Component, int)' and 'rotateMouseWheel(int)' to org.fest.swing.core.Robot. Fixes 270. Thanks to Slava Gurilev.alexruiz
fixRenamed org.fest.swing.core.RobotFixture to BasicRobot. Fixes 271.alexruiz
removeRemoved class org.fest.swing.core.AWTEventGenerator. Fixes 273.alexruiz
removeRemoved class org.fest.swing.core.EventMode. Fixes 273.alexruiz
removeRemoved class org.fest.swing.core.InputEventGenerators. Fixes 273.alexruiz
removeRemoved methods 'invokeLater', 'invokeAndWait' and 'releaseLeftMouseButton' in org.fest.swing.core.Robot. Fixes 274.alexruiz

Release 1.0rc - 2008-12-08

TypeChangesBy
fixorg.fest.swing.core.RobotFixture now throws ActionFailedException if the component to click is out of the boundaries of the screen. Fixes 134. Thanks to Woody Folsom.alexruiz
fixFixed JTable cell-editing actions. Fixes 177. Thanks to Juhos Csaba-Zsolt.alexruiz
fixorg.fest.swing.image.ScreenshotTaker now hides the cursor of the focused JTextComponent when taking a screenshot. Fixes 213. Thanks to Jean-Francois Poilpret.alexruiz
fixFixed code snippet in Javadoc for class org.fest.swing.data.TableCell. Fixes 214. Thanks to Michael Hüttermann.alexruiz
fixReplaced condition to verify a GuiAction is executed in the event dispatch thread with a java.util.concurrent.CountDownLatch in org.fest.swing.edt.GuiActionRunner Fixes 216. Thanks to Tarjei Skorgenes.alexruiz, wanghy
fixConsolidated fine-grained GUI tasks into new coarsed-grained ones. Fixes 216. Thanks to Simeon Fitch, Michael Hüttermann, Jean-Francois Poilpret.alexruiz
removeRemoved org.fest.swing.driver.JListLocation. Fixes 216.alexruiz
addAdded org.fest.swing.edt.GuiLazyLoadingDescription to lazy-load the description of a org.fest.swing.timing.Condition (which is executed in the event dispatch thread.) Fixes 216. Thanks to Simeon Fitch, Michael Hüttermann, Jean-Francois Poilpret.alexruiz, wanghy
addAdded annotations RunsInCurrentThread and RunsInEDT in package org.fest.swing.annotations. Fixes 216.alexruiz
addAdded annotations from "Java Concurrency in Practice" as dependency. Fixes 216.alexruiz
fixFixed implementation of method 'enterValue(JTable, int, int, String)' in org.fest.swing.driver.JTableTextComponentEditorCellWriter. Fixes 219. Thanks to Matthias Otterbach.alexruiz
fixFixed error message when the index of a JTable cell is out of bounds. Fixes 222. Thanks to Daniel F. Surdyk, III.alexruiz
fixorg.fest.swing.driver.JTableTextComponentEditorCellWriter now presses the 'F2' key to start editing a table cell that uses a JTextComponent as editor. Fixes 225. Thanks to Jan Zuchhold.alexruiz
fixModal dialogs do not blocks tests anymore (as long as tests use the event dispatch thread correctly.) Fixes 228. Thanks to Ken Geis.alexruiz
fixFixed implementation of method 'click' in org.fest.swing.fixture.JTableCellFixture. Fixes 229. Thanks to Michael Schnell.alexruiz
fixAdded method 'print(PrintStream, ComponentMatcher)' (and overloaded version) to org.fest.swing.core.ComponentPrinter. Fixes 231. Thanks to Ken Geis.alexruiz
fixJTableFixture now correctly finds the index of a column given its identifier. Fixes 232. Thanks to Ken Geis.alexruiz
fixMethod 'findAll' in org.fest.swing.core.BasicComponentMatcher now returns the found components in the same order every time it is called. Fixes 235. Thanks to Rick Juneson.alexruiz
fixAll actions performed on GUI components (e.g. click) now throw IllegalStateException if the GUI component is not showing on the screen. Fixes 237. Thanks to Simeon Fitch, Michael Hüttermann, vnguyen.sqa.alexruiz
fixAll Matchers in package org.fest.swing.core.matcher now implement 'toString' to make troubleshooting of failing component lookups easier. Fixes 239.alexruiz
fixMoved class ScreenLock from package org.fest.swing.core to org.fest.swing.lock to remove circular dependency. Fixes 240.alexruiz
fixRenamed class TableCellByColumnName (in package org.fest.swing.data) to TableCellByColumnId. Fixes 241.alexruiz
fixRenamed class TableCellByColumnName (in package org.fest.swing.data) to TableCellByColumnId. Fixes 241.alexruiz
addAdded SwingHelper project as a dependency. Fixes 242.alexruiz
addAdded org.fest.swing.edt.FailOnThreadViolationRepaintManager to force tests that violate EDT access to fail. Fixes 242.alexruiz
addAdded method 'findByLabel' (and overloaded versions) to ComponentFinder to look up components by the text of thier associated JLabel. Fixes 244. Thanks to Michel Lohr.alexruiz
addConsolidated org.fest.swing.core.NameMatcher and org.fest.swing.core.NameAndTypeMatcher into one matcher. Fixes 244.alexruiz
fixFixed NullPointerException thrown in org.fest.swing.driver.JListDriver when selecting an already selected item. Fixes 246. Thanks to Juhos Csaba-Zsolt.alexruiz
fixBy default org.fest.swing.keystroke.KeyStrokeMap uses an English keyboard mapping. Fixes 246. Thanks to Marc Johen.alexruiz
fixMade methods/classes related to JTableCellWriter accessible for better code reuse. Fixes 248. Thanks to Juhos Csaba-Zsolt.alexruiz

Release 1.0b2 - 2008-10-16

TypeChangesBy
addAdded class org.fest.swing.fixture.ComponentFixtureExtension to add extension methods to ContainerFixture. Fixes 109.alexruiz
fixMethod 'enterText(String)' in JSpinnerFixture no longer commits the value to the underlying JSpinner. Fixes 161. Thanks to filimono.wanghy
fixAdded method 'enterTextAndCommit(String)' in JSpinnerFixture to enter and commit a value in a JSpinner. Fixes 161. Thanks to filimono.wanghy
addAdded method 'columnIndexFor(Object)' in org.fest.swing.fixture.JTableFixture. Fixes 170. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded method 'cell(TableCellByColumnName cell)' to org.fest.swing.fixture.JTableFixture that returns a JTableCellFixture from a row index and column name. Fixes 170. Thanks to Juhos Csaba-Zsolt.alexruiz
addReplaced org.fest.swing.driver.JTableCell and org.fest.swing.fixture.TableCell with org.fest.swing.data.TableCell. Fixes 170. Thanks to Juhos Csaba-Zsolt.alexruiz
fixBasicJTableCellReader obtains the value of a cell from a JTable, not from a TableModel. Fixes 186. Thanks to Michael Hüttermann.alexruiz
fixIntroduced GuiActionRunner, GuiQuery and GuiTask in package org.fest.swing.edt to execute queries or tasks in the event dispatch thread. Fixes 187.alexruiz, wanghy
fixMoved class AWT from package org.fest.swing.util to org.fest.swing.awt. Fixes 187.alexruiz
fixRemoved method 'runInEventThreadAndWait' in org.fest.swing.awt.AWT. Replaced with org.fest.swing.edt.GuiActionRunner and org.fest.swing.edt.GuiTask. Fixes 187.alexruiz, wanghy
fixMoved classes Condition, Pause and Timeout from package org.fest.swing.core to org.fest.swing.timing. Fixes 187.alexruiz
fixAdded methods 'pause(Condition[])' to org.fest.swing.timing.Pause. Fixes 187.alexruiz, wanghy
fixAdded method 'done' to org.fest.swing.timing.Condition. This method is invoked by org.fest.swing.timing.Pause when a condition is evaluated (either the condition was satisfied or it timed-out.) Fixes 187.alexruiz, wanghy
addAdded method 'cell(String)' to org.fest.swing.fixture.JTableFixture. This method returns a table cell which value matches the given one. Fixes 188. Thanks to Jason Goodwin.alexruiz
fixMethods 'increment' and 'decrement' in JSpinnerDriver now work in AWT event mode. Fixes 191.wanghy
addAdded method 'select(Object)' in org.fest.swing.fixture.JSpinnerFixture. Fixes 196. Thanks to Juhos Csaba-Zsolt.wanghy
fixMethods 'click(Component)' in org.fest.swing.core.RobotFixture now click on the center of the visible area of the component, only if the component is an instance of javax.swing.JComponent. Fixes 197. Thanks to filimono.alexruiz
fixAdded method 'centerOfVisibleRect(JComponent)' to org.fest.swing.awt.AWT. Fixes 197. Thanks to filimono.alexruiz
fixAdded methods 'scrollToMaximum' and 'scrollToMinimum' to org.fest.swing.fixture.JScrollBarDriver. Fixes 197. Thanks to filimono.alexruiz
fixMethod 'showPopupMenuAt(String)' in org.fest.swing.fixture.JTreeFixture now makes the last node in the given path visible before showing a JPopupMenu. Fixes 200. Thanks to Juhos Csaba-Zsolt.alexruiz
fixMethod 'eventDispatched(AWTEvent)' in org.fest.swing.monitor.WindowAvailabilityMonitor now checks if the source of the event is a java.awt.Component before performing a cast. Fixes 201. Thanks to Juhos Csaba-Zsolt.wanghy
fixClass org.fest.swing.driver.DragAndDrop is now public. Fixes 202. Thanks to Juhos Csaba-Zsolt.alexruiz
addAdded method 'rowCount' to org.fest.swing.fixture.JTableFixture. Fixes 204. Thanks to Juhos Csaba-Zsolt.alexruiz, wanghy
fixMethod 'requireSelection(String)' in org.fest.swing.fixture.JComboBoxFixture now handles editable JComboBoxes correctly. Fixes 210. Thanks to Ewan McDougall.alexruiz
fixAdded method 'setText(String)' in org.fest.swing.fixture.JTextComponentFixture. Fixes 211. Thanks to Simeon Fitch.alexruiz

Release 1.0b1 - 2008-07-22

TypeChangesBy
addAdded org.fest.swing.applet.AppletViewer and helper classes in package org.fest.swing.applet. Fixes 11.alexruiz, wanghy
addJFileChooserDriver checks that lookup of buttons search for visible (or 'showing') buttons. Fixes 14.wanghy
fixAdded method 'menuItemWithPath(String...)' to org.fest.swing.fixture.JPopupMenuFixture. Fixes 146. Thanks to Juhos Csaba-Zsolt.alexruiz, wanghy
fixAdded component matchers using commonly used search criteria to package org.fest.swing.core.matchers. Fixes 158. Thanks to vnguyen.sqa.alexruiz, wanghy
fixReplaced method 'select(JMenuItem)' with 'click(JMenuItem)' in org.fest.swing.fixture.JMenuItemFixture. Fixes 165. Thanks to Simeon Fitch.alexruiz, wanghy
removeRemoved method 'doubleClick(JMenuItem)' in org.fest.swing.fixture.JMenuItemFixture. Fixes 165. Thanks to Simeon Fitch.alexruiz, wanghy
removeRemoved method 'rightClick(JMenuItem)' in org.fest.swing.fixture.JMenuItemFixture. Fixes 165. Thanks to Simeon Fitch.alexruiz, wanghy
removeRemoved method 'click(JMenuItem, MouseButton)' in org.fest.swing.fixture.JMenuItemFixture. Fixes 165. Thanks to Simeon Fitch.alexruiz, wanghy
removeAdded class org.fest.swing.fixture.GenericComponentFixture. Fixes 166. Thanks to Simeon Fitch.alexruiz
fixMethod 'cellReader(JComboBoxCellReader)' in org.fest.swing.fixture.JComboBoxFixture now returns 'this'. Fixes 167. Thanks to Juhos Csaba-Zsolt.alexruiz
fixMethod 'cellReader(JListCellReader)' in org.fest.swing.fixture.JListFixture now returns 'this'. Fixes 167. Thanks to Juhos Csaba-Zsolt.alexruiz
fixMethod 'cellReader(JTableCellReader)' in org.fest.swing.fixture.JTableFixture now returns 'this'. Fixes 167. Thanks to Juhos Csaba-Zsolt.alexruiz
fixMethod 'cellWriter(JTableCellWriter)' in org.fest.swing.fixture.JTableFixture now returns 'this'. Fixes 167. Thanks to Juhos Csaba-Zsolt.alexruiz
fixMethod 'cellReader(JTreeCellReader)' in org.fest.swing.fixture.JTreeFixture now returns 'this'. Fixes 167. Thanks to Juhos Csaba-Zsolt.alexruiz
fixMethods 'selectItem' ensure the drop-down list in a JComboBox is hidden after a selection has been made. Fixes 173. Thanks to fred76131.alexruiz
removeAdded class org.fest.swing.core.EmergencyAbortListener to abort running FEST-Swing tests using a predefined key combination. Fixes 174. Thanks to Simeon Fitch.alexruiz
fixJTableCellWriters now wait for the editor to show on the screen before starting editing a JTable cell. Fixes 177. Thanks to Juhos Csaba-Zsolt.wanghy
fixMethod 'separator(String)' in org.fest.swing.fixture.JTreeFixture now returns 'this'. Fixes 179. Thanks to Juhos Csaba-Zsolt.alexruiz
fixMoved abstract methods in org.fest.swing.fixture.ComponentFixture to the interfaces FocusableComponentFixture, KeyboardInputSimulationFixture, MouseInputSimulationFixture and StateVerificationFixture.alexruiz
fixMoved classes KeyPressInfo and MouseClickInfo from package org.fest.swing.fixture to org.fest.swing.core.alexruiz
fixReplaced method 'pressAndReleaseKey(int keyCode, int modifiers)' with 'pressAndReleaseKey(int keyCode, int... modifiers)' in org.fest.swing.core.RobotFixture.alexruiz
removeRemoved all methods related to keyboard input simulation from JListItemFixture and JTableCellFixture.alexruiz
fixReplaced IllegalArgumentException with NullPointerException when a method argument has null as its value.alexruiz
fixReplaced ActionFailedException and LocationUnavailableException with IndexOutOfBoundsException when an index is out of bounds (e.g. the row index in a JTable.)alexruiz

Release 1.0a3 - 2008-06-23

TypeChangesBy
fixDisabled components should not be modified by user-like actions. Fixes 126. Thanks to Manuel Kueblboeck.wanghy
addAdded method 'cleanUpWithoutDisposingWindows' to Robot and RobotFixture in package 'org.fest.swing.core'. Fixes 138. Thanks to J. Simmons.alexruiz, wanghy
fixMethod 'selectItem(String)' in JComboBoxFixture now uses the specified cell reader to find a matching value in the JComboBox. Fixes 140. Thanks to Wim Deblauwe.alexruiz
addAdded methods 'showPopupMenuAt(int)' and 'showPopupMenuAt(String)' to JTableHeaderFixture. Fixes 141. Thanks to BA.alexruiz
addAdded methods 'enterValue(TableCell, String)' to org.fest.swing.fixture.JTableFixture. Fixes 142. Thanks to Simeon Fitch, Matthias Otterbach.wanghy, alexruiz
addAdded methods 'requireEditable(TableCell)' and 'requireNotEditable(TableCell)' to org.fest.swing.fixture.JTableFixture. Fixes 142. Thanks to Simeon Fitch, Matthias Otterbach.alexruiz, wanghy
addAdded methods 'requireEditable()' and 'requireNotEditable()' to org.fest.swing.fixture.JTableCellFixture. Fixes 142. Thanks to Simeon Fitch, Matthias Otterbach.alexruiz, wanghy
addAdded methods 'startEditing(),' 'stopEditing(),' 'cancelEditing(),' 'editor(),' and 'enterValue(String)' to org.fest.swing.fixture.JTableCellFixture. Fixes 142. Thanks to Simeon Fitch, Matthias Otterbach.wanghy, alexruiz
addAdded methods 'findAll(ComponentMatcher)' and 'findAll(Container, ComponentMatcher)' to org.fest.swing.core.ComponentFinder to look up all the components that match certain search criteria. Fixes 144. Thanks to Simeon Fitch.alexruiz
fixFixed mapping of character '+' to a key stroke in org.fest.swing.keystroke.KeyStrokeMappingProvider_en. Fixes 145. Thanks to Juhos Csaba-Zsolt.alexruiz
fixFixed multiple selection in JListDriver, JTableDriver and JTreeDriver. Fixes 147. Thanks to Juhos Csaba-Zsolt.alexruiz
fixFixed implementation of 'selectItems(JList, int, int)' in org.fest.swing.driver.JListDriver. Fixes 152. Thanks to Juhos Csaba-Zsolt.wanghy
fixAll fixtures now throw IllegalArgumentException if any constructor argument is null (with the exception of the name of the component to look up.) Fixes 153. Thanks to Juhos Csaba-Zsolt.alexruiz, wanghy
fixJMenuItemFixture now supports the screen menu bar in Mac OS. Fixes 157. Thanks to Andriy Tsykholyas, Simeon Fitch.wanghy
fixFixed bug in org.fest.swing.core.RobotFixture. Closing a window that is not shown resulted in an ActionFailedException.wanghy
addRenamed methods 'slideToMax' and 'slideToMin' in JSliderFixture to 'slideToMaximum' and 'slideToMinimum' respectively.wanghy
addAdded class 'org.fest.swing.launcher.ApplicationLauncher' to start application from the 'main' method.wanghy
removeRemoved methods 'increment' and 'decrement' in JSliderFixture. These methods were not communicating their intention properly and are not needed since JSliderFixture has methods 'slideToMaximum' and 'slideToMinimum'.wanghy
addAdded method 'controlOrCommandMask' to org.fest.swing.util.Platform.alexruiz
addAdded method 'pressAndReleaseKey(KeyPressInfo)' to all component fixtures.alexruiz

Release 1.0a2 - 2008-05-19

TypeChangesBy
addAdded method 'selectPaths(String...)' and 'selectRows(int...)' to JTreeFixture. Fixes 68.wanghy, alexruiz
addMethod 'requireSelection(String)' and 'requireSelection(row)' in JTreeFixture now take an array as argument to verify multi-selection in a JTree. The new signatures are 'requireSelection(String...)' and 'requireSelection(int...)' respectively. Fixes 68.wanghy, alexruiz
addCreated JTableCellReader (with default implementation BasicJTableCellReader) which reads the value of a cell in a JTable. BasicJTableCellReader supports JLabels, JComboBoxes and JCheckBoxes as cell renderers of a JTable. Fixes 99. Thanks to J. Simmons.alexruiz, wanghy
addAdded methods 'fontAt(TableCell)', 'backgroundAt(TableCell)' and 'foregroundAt(TableCell)' to JTableFixture to verify the font, background and foreground of an specific cell in a JTable. Fixes 99. Thanks to J. Simmons.alexruiz, wanghy
addAdded methods 'font()', 'background()' and 'foreground()' to JTableCellFixture to verify the font, background and foreground of an specific cell in a JTable. Fixes 99. Thanks to J. Simmons.alexruiz, wanghy
fixFixed NullPointerException in method 'enterText' in org.fest.core.RobotFixture. Fixes 123. Thanks to Manuel Kueblboeck.alexruiz
fixAdded method 'selection' to JListFixture. This method returns the String representation of the selection of a JList. Fixes 124. Thanks to Woody Folsom.alexruiz
fixIntroduced 'JListCellReader' to read values from JLists. Users can implement their own JListCellReaders when using custom cell renderers in JLists. After creating a JListCellRendering, users only need to pass an instance to method 'cellReader(JListCellReader)' in JListFixture. Fixes 124. Thanks to Woody Folsom.alexruiz
fixFixed regression. JToolBarFixture extends ComponentFixture. Fixes 125. Thanks to Woody Folsom.alexruiz
addCreated JComboBoxCellReader and BasicJComboBoxReader to support custom cell renderers in JComboBoxFixture. Fixes 128.alexruiz
addCreated JTreeCellReader and BasicJTreeReader to support custom cell renderers in JTreeFixture. Fixes 130.alexruiz, wanghy
addAdded method 'requireNoSelection' to JComboBoxFixture, JListFixture, JTableFixture and JTreeFixture. Fixes 131.wanghy, alexruiz
fixJTreeFixture now scrolls (up or down) to the row or path to select, drag or drop. Fixes 133.alexruiz
addAdded method 'contents' to JTableFixture. This method returns the String representation of the cell values of a JTable. Fixes 135.alexruiz
addAdded method 'requireContents(String[][])' to JTableFixture. Fixes 135.alexruiz
addComponent finders (WindowFinder, JFileChooserFinder and JOptionPaneFinder) can perform lookups using GenericTypeMatchers. Many thanks to Mariusz Saternus.wanghy, alexruiz
addAdded method 'font' to all fixtures. This method returns a FontFixture.alexruiz
addAdded method 'background' to all fixtures. This method returns a ColorFixture.alexruiz
addAdded method 'foreground' to all fixtures. This method returns a ColorFixture.alexruiz
fixRenamed method 'selectionContents' to 'selectionValue' in JTableFixture.alexruiz
fixRenamed method 'contentAt' to 'valueAt' in JTableFixture. This change was made to keep name consistency between JComboBoxFixture, JListFixture and JTableFixture.alexruiz
addAdded method 'requireValue(String)' to JTableCellFixture.alexruiz
addAdded method 'requireSelection(String)' to JTreeFixture. This method verifies that a JTree has the given path selected. The path is specified as a String, for example "root/node1/node1.1".alexruiz, wanghy
addAdded method 'requireSelection(int)' to JTreeFixture. This method verifies that a JTree has the row selected.alexruiz, wanghy
addAdded methods 'showPopupMenuAt(int)' and 'showPopupMenuAt(String)' to JTreeFixture. These methods show a JPopupMenu in a given row and node path respectively.wanghy
addReplaced TreePath as method parameter in JTreeFixture with a String specifying the path. For example, now a path can be set as "root/node1/node1.1".alexruiz, wanghy

Release 1.0a1 - 2008-04-07

TypeChangesBy
addAdded methods 'selectAllText' and 'replaceText(String)' to JComboBoxFixture.wanghy
fixReplaced constants that indicate the operating system with methods in org.fest.swing.util.Platform.alexruiz
removeEliminated some project dependencies. FEST-Swing now depends on FEST-Assert, FEST-Reflect and FEST-Util only.alexruiz, wanghy
fixFixed regression. JPanelFixture extends ComponentFixture. Fixes 121. Thanks to Frederik Martens.alexruiz
fixFixed regression. JInternalFrameFixture extends ComponentFixture. Fixes 120. Thanks to Manuel Kueblboeck.alexruiz
addRenamed method names that start with 'mouse' in org.fest.swing.core.Robot. For example, method 'mouseMove' is now 'moveMouse'. This change was done to keep method naming consistency.wanghy
addAdded method 'pressModifiers(int)' and 'releaseModifiers(int)' to org.fest.swing.core.Robot.wanghy, alexruiz
addAdded methods 'focus(Component)' and 'focusAndWaitForFocusGain(Component)' to org.fest.swing.core.Robot.alexruiz

Release 0.9 - 2008-03-21

TypeChangesBy
fixFixed JListDriver and JTableDriver to scroll to the item to select, drag or drop.wanghy, alexruiz
fixSelecting items in JComboBox now scroll drop-down list to get to the item to select. Fixes 116. Thanks to Rich Toulouse.wanghy, alexruiz
addAdded method 'tableHeader' to JTableFixture. This method returns a JTableHeaderFixture. Fixes 110. Thanks to Dan Dyer.wanghy
addAdded JTableHeaderFixture to test instances of JTableHeader. Fixes 110. Thanks to Dan Dyer.wanghy
fixMade methods of class org.fest.core.Settings not static. To set a particular setting, an instance of Settings should be retrieved from a Robot.wanghy
addAdded methods 'includeHierarchyIfComponentNotFound' and 'includeHierarchyIfComponentNotFound(boolean)' to org.fest.swing.core.ComponentFinder to indicate if the component hierarchy should be included in a ComponentLookupException thrown when a component cannot be found. Fixes 118. Thanks to Lukasz Tutaj.alexruiz
addAdded method 'component' to ComponentFixture. It returns the GUI component in a fixture. Fixes 95. Thanks to Fabien Barbero.alexruiz
addAdded methods 'requireEditable' and 'requireNotEditable' to JComboBoxFixture, JTextComponentFixture and JTreeFixture. Fixes 95. Thanks to Fabien Barbero.alexruiz
addAdded method 'requireNoJOptionPaneIsShowing' to RobotFixture. Fixes 92. Thanks to Wim Deblauwe.alexruiz, wanghy
addRenamed ComponentPrinter to BasicComponentPrinter (in package org.fest.swing.core). Introduced interface ComponentPrinter.alexruiz
addRenamed ComponentFinder to BasicComponentFinder (in package org.fest.swing.core). Introduced interface ComponentFinder.alexruiz
fixMoved methods from org.fest.swing.util.Swing to org.fest.swing.util.AWT. Deleted class org.fest.swing.util.Swing.alexruiz
addCreated interface org.fest.swing.core.Robot and made RobotFixture implement it, to facilitate unit testing.alexruiz
addAdded method 'showPopupMenuAt(String)' to JListFixture.alexruiz

Release 0.8.1 - 2008-02-04

TypeChangesBy
addUpdated dependency versions: fest-assert-0.9.1, fest-reflect-0.3, fest-util-0.3.alexruiz
addDue to the introduction of component drivers, fest-reflect is a required, compile-time dependency.alexruiz
addAll component formatters in org.fest.swing.formatter display the properties 'visible' and 'showing'. Thanks to Wim Deblauwe.alexruiz
fixComponentFinderTemplate uses the specified name to find a component. Fixes 108. Thanks to Wim Boffe.alexruiz
fixFixed constructors in ContainerFixture to use lookup scope from org.fest.swing.core.Settings. Fixes 105. Thanks to Woody Folsom.alexruiz
addAdded method 'click(TableCell, MouseButton)' to JTableFixture.wanghy, alexruiz
addAdded method 'click(TableCell, MouseClickInfo)' to JTableFixture.wanghy, alexruiz
addAdded method 'scrollTo(int)' to JScrollBarFixture.wanghy, alexruiz
addAdded method 'found' to ComponentLookupException. This method returns all the GUI components found when looking up for a single component.alexruiz
addMoved methods 'showPopupMenu' and 'findActivePopupMenu' from org.fest.swing.core.RobotFixture to org.fest.swing.driver.JPopupMenuDriver.alexruiz
addAdded method 'pressAndReleaseKey(int keyCode, int modifiers)' to org.fest.swing.core.RobotFixture. Fixes 104. Thanks to Fabien Barbero.alexruiz
addAdded the following component drivers to replace Abbot's testers: ComponentDriver, ContainerDriver, FrameDriver, JComboBoxDriver, JComponentDriver, JInternalFrameDriver, JListDriver, JMenuItem, JPopupMenu, JScrollBarDriver, JSliderDriver, JSpinnerDriver, JTabbedPane, JTable, JTextComponentDriver, JToolBarDriver, JTreeDriver. Component drivers are intended for internal use only.alexruiz, wanghy
addAdded method 'enterText(String)' to class org.fest.swing.core.RobotFixture.alexruiz
addAdded method 'timeoutToFindPopup' to class org.fest.swing.core.Settings. This method sets the number of milliseconds to wait before failing to find a pop-up menu that should appear.alexruiz
addAdded method 'click(Component, Point)' to org.fest.swing.core.RobotFixture.alexruiz
addAdded several constants to org.fest.swing.core.Settings that indicate the operating system the tests are running on (e.g. 'IS_WINDOWS', 'IS_OS_X', etc.)alexruiz
fixRenamed method 'robotAutoDelay' to 'delayBetweenEvents' in class org.fest.swing.core.Settings.alexruiz
addAdded method 'timeoutToBeVisible' to class org.fest.swing.core.Settings. This method sets the the number of milliseconds to wait for a component to be visible.alexruiz
fixFixed bug in which IntrospectionComponentFormatter could show the value of the property 'showing'.alexruiz

Release 0.8 - 2008-01-09

TypeChangesBy
fixRenamed method 'menuItem(String...)' in ContainerFixture to 'menuItemWithPath(String...)'. Fixes 88. Thanks to Rich Toulouse.alexruiz
fixAdded global setting 'componentLookupScope' (in class Settings) to configure scope of component lookup (in fixtures only.) Fixes 80. Thanks to Win Deblauwe, Volker Berlin.alexruiz
fixAdded enum ComponentLookupScope to configure component lookup to consider showing components only. Fixes 80. Thanks to Win Deblauwe, Volker Berlin.alexruiz
addAdded JScrollBarFixture and JScrollPaneFixture. Fixes 75. Thanks to Fabien Barbero.wanghy, alexruiz
fixComponent lookup using a org.fest.swing.core.ComponentFinder now throws ComponentLookupException if more than one component matching the given search criteria is found. Fixes 81. Thanks to Win Deblauwe.alexruiz, wanghy
fixMoved 'print' methods from org.fest.swing.core.ComponentFinder to the new class org.fest.swing.core.ComponentPrinter. Fixes 81. Thanks to Win Deblauwe.alexruiz
addAdded NameAndTypeMatcher to lookup GUI components by name and type.alexruiz
addAdded method 'printer()' to RobotFixture. This method returns a ComponentPrinter using the same component hierarchy as the RobotFixture.alexruiz
fixComponentFinders now match components if 'isShowing()' is true, instead of checking for 'isVisible()'. Fixes 76. Thanks to Win Deblauwe.alexruiz
fixWhen components are not found, the message in the thrown ComponentLookupException now includes list of Components in the hierarchy. Fixes 71. Thanks to Win Deblauwe.alexruiz, wanghy
addAdded methods 'printComponents(PrintStream, Container)' and 'printComponents(PrintStream, Class, Container)' to ComponentFinder. Fixes 71. Thanks to Win Deblauwe.wanghy
fixAdded 'toString' implementation to org.fest.swing.core.NameMatcher to facilitate debugging. Fixes 71. Thanks to Wim Deblauwe.alexruiz
fixAdded 'toString' implementation to org.fest.swing.core.TypeMatcher to facilitate debugging. Fixes 71. Thanks to Wim Deblauwe.alexruiz
fixAdded 'toString' implementation to org.fest.swing.fixture.JMenuItemMatcher to facilitate debugging. Fixes 71. Thanks to Wim Deblauwe.alexruiz
fixAdded 'toString' implementation to org.fest.swing.fixture.JButtonMatcher to facilitate debugging. Fixes 71. Thanks to Wim Deblauwe.alexruiz
addRenamed methods 'wait' and 'delay' in RobotFixture to 'pause'. Then moved methods 'pause' to the new class Pause.alexruiz
addAdded method 'robotAutoDelay' in class 'org.fest.swing.core.Settings' to configure test speed. Fixes 69. Thanks to Wim Deblauwe.wanghy, alexruiz
addAdded JInternalFrameFixture. Fixes 70. Thanks to Ken Geis.wanghy, alexruiz
addAdded method 'moveTo(Point)' to FrameFixture and DialogFixture.wanghy, alexruiz
addAdded method 'requireValue(Object)' to JSpinnerFixture. Fixes 73. Thanks to Wim Deblauwe.alexruiz
addAdded method 'increment(int)' to JSpinnerFixture. Fixes 74. Thanks to Wim Deblauwe.alexruiz
addAdded method 'decrement(int)' to JSpinnerFixture.alexruiz
addAdded class JListItemFixture. that knows how to simulate user input on a specific item of a JList. Fixes 63. Thanks to Fabien Barbero.alexruiz, wanghy
addAdded method 'item(int)' and 'item(String)' to JListFixture. These methods return a JListItemFixture. Fixes 63. Thanks to Fabien Barbero.alexruiz, wanghy
addAdded method 'showPopupMenuAt(Point)' to ComponentFixture (and therefore to all fixtures). Fixes 63. Thanks to Fabien Barbero.alexruiz
removeRemoved unnecessary generic types in ItemGroupFixture, TextInputFixture and TextDisplayFixture.alexruiz, wanghy
addAdded method 'requireSelection(String)' to JComboBoxFixture. Fixes 52. Thanks to John Stephi.alexruiz
addAdded method 'requireSelection(String)' to JListFixture. Fixes 52. Thanks to Wim Deblauwe.alexruiz
addAdded method 'requireSelectedItems(String...)' to JListFixture. Fixes 52. Thanks to Wim Deblauwe.alexruiz
addAdded method 'selectItems(int...)' to allow multiple-selection a JListFixture. Fixes 64. Thanks to Fabien Barbero.alexruiz
addAdded method 'selectItems(String...)' to allow multiple-selection a JListFixture. Fixes 64. Thanks to Fabien Barbero.alexruiz
addAdded method 'selectItems(Range.From, Range.To)' to allow selection of a range of items in a JListFixture. Fixes 64. Thanks to Wim Deblauwe.alexruiz
addAdded methods 'okButton', 'cancelButton', 'yesButton' and 'noButton' to JOptionPaneFixture. These methods return a JButtonFixture wrapping the buttons in a JOptionPane Fixes 66. Thanks to Wim Deblauwe, Volker Berlin.alexruiz
fixAdded method 'panel' to class ContainerFixture. FrameFixture and DialogFixture can now lookup a JPanel (or subclass by type (if only one JPanel in the container,) by name or by custom search criteria. Fixes 67. Thanks to Rich Toulouse.alexruiz
addAdded method 'invokeAndWait(Runnable)' to RobotFixture.alexruiz

Release 0.7 - 2007-11-27

TypeChangesBy
addAdded method 'takeScreenshotOf' to class ScreenshotTaker. This method takes screenshots of a particular GUI component. Thanks to Steve Tom.wanghy, alexruiz
addAdded method 'saveComponentAsPng' to class ScreenshotTaker. This method takes screenshots of a particular GUI component and saves it as PNG. Thanks to Steve Tom.wanghy, alexruiz
addAdded method 'printComponents' (with overloaded version) to ComponentFinder. Fixes 58. Thanks to Volker Berlin.alexruiz
addAdded method 'toggleButton' (and overloaded versions) to org.fest.swing.fixture.ContainerFixture. Fixes 60. Thanks to Volker Berlin.alexruiz
addAdded org.fest.swing.fixture.JToggleButtonFixture to handle javax.swing.JToggleButton(s). Fixes 60. Thanks to Volker Berlin.alexruiz
removeRenamed org.fest.swing.fixture.JToggleButtonFixture to org.fest.fixture.TwoStateButtonFixture. Fixes 60. Thanks to Volker Berlin.alexruiz
addMoved Ant task-related classes from the package 'org.fest.swing.junit' to 'org.fest.swing.junit.ant'. Fixes 55. Thanks to Volker Berlin.alexruiz, wanghy
addAdded support for taking screenshots of failing tests with JUnit inside an IDE. Fixes 55. Thanks to Volker Berlin.alexruiz, wanghy
fixMoved org.swing.fest.GUITest and org.fest.swing.util.GUITestFinder to package org.fest.swing.annotation. Fixes 59.alexruiz
fixMoved exception classes in package org.fest.swing to org.fest.swing.exception. Fixes 59.alexruiz
fixMoved classes in package org.fest.swing to org.fest.swing.core. Fixes 59.alexruiz
fixRenamed package org.fest.swing.fixture.util to org.fest.swing.finder. Fixes 59.alexruiz
addAdded method 'requireEnabled(Timeout)' to all component fixtures. Fixes 56. Thanks to Volker Berlin.wanghy
addAdded class JOptionPaneFinder to find a JOptionPane with timeout support. Fixes 56. Thanks to Volker Berlin.wanghy
addAdded factory method 'timeout(long, java.util.concurrent.TimeUnit)' to class org.fest.swing.core.Timeout.wanghy, alexruiz
fixRenamed method 'time' to 'duration' in class org.fest.swing.core.Timeout.wanghy
fixRenamed method 'checkbox' to 'checkBox' in ContainerFixture. Fixes 57. Thanks to John Stephi.wanghy
addAdded method 'click(Component, Point, MouseButton, int)' to RobotFixture. This method simulates a user clicking on the given component, at the specific point, with the given mouse button, the given number of times.wanghy
addAdded methods 'doubleClickItem(int)' and 'doubleClickItem(String)' to JListFixture. Fixes 40. Thanks to Fabien Barbero.wanghy
addUploaded source attachments to Maven repository.alexruiz
addAdded class JPanelFixture. Fixes 42.wanghy
fixMoved ImageException and ScreenshotTaker from package org.fest.swing.util to package org.fest.swing.image.alexruiz
fixRenamed org.fest.swing.util.GUITests to org.fest.swing.annotation.GUITestFinder.alexruiz
addAdd timeout for RobotFixture.wait(Condition): RobotFixture.wait(Condition, Timeout). Fixes 45.wanghy
addAdded method 'close' to WindowFixture (superclass of FrameFixture and DialogFixture). Fixes 44. Thanks to Javier Sandino.alexruiz
fixCreated class JFileChooserFinder. Fixes 50. Thanks to Javier Sandino.alexruiz

Release 0.6.1 - 2007-09-26

TypeChangesBy
fixAdded methods 'radioButton' and 'table' to ContainerFixture (superclass of DialogFixture and FrameFixture). Thanks to Pavol Bernhauser.alexruiz
fixAdded static methods 'leftButton', 'middleButton' and 'rightButton' to MouseClickInfo. Thanks to Andres Almiray.alexruiz

Release 0.6 - 2007-09-25

TypeChangesBy
addAssertion failures in all fixtures now provide better feedback. Fixes 27. Thanks to Jesper Thaning.alexruiz
addAdded support for time delays in RobotFixture. Fixes 34.wanghy
addAdded method 'pressAndReleaseKeys(int...)', 'pressAndReleaseKey(int)', and 'releaseKey(int)' to all fixtures.wanghy
addAdded method 'rightClick' to all fixtures. Fixes 33.alexruiz
addAdded method 'doubleClick' to all fixtures.wanghy
addAdded method 'click(MouseButton)' to all fixtures; this method simulates a user clicking the specified mouse button.wanghy
addAdded method 'click(MouseClickInfo)' to all fixtures; this method simulates a user clicking the specified mouse button, the specified number of times.wanghy
addAdded method 'showPopupMenu' to all fixtures. This method shows a pop-up menu on a component and returns a JPopupMenuFixture.alexruiz
removeReplaced class JTableFixture.Cell with TableCell.alexruiz
addIn JTableFixture, methods that used to take two int values as the row and column indices as arguments, now take a TableCell as argument.alexruiz
addAdded method 'cell(TableCell)' to JTableFixture, which returns a fixture that can manage the specified table cell.alexruiz
addAdded support for JPopupMenu, JRadioButton and JSplitPane.wanghy
removeRenamed method 'contents' to 'selectionContents' in JTableFixture.alexruiz
removeRemoved method testerCastedTo from ComponentFixture.alexruiz

Release 0.5 - 2007-08-30

TypeChangesBy
addAdded drag 'n drop support for JList, JTable and JTree. Thanks to Fabien Barbero.alexruiz
addAdded support for custom matchers for component lookup. This feature is useful when testing GUI components that don't have an associated name (e.g. testing legacy applications.)wanghy
addAdded utility class Platform, which contains platform-specific utility methods.alexruiz
addContainerFixture now recognizes JFileChooserFixture and JListFixture. Thanks to Fabien Barbero.alexruiz

Release 0.5-SNAPSHOT - 2007-08-06

TypeChangesBy
addSupport for testing time-consuming tasks Fixes 15.alexruiz, wanghy
addSwing module and the extensions for TestNG and JUnit are included in one zip file.alexruiz, wanghy

Release 0.4 - 2007-07-17

TypeChangesBy
addNow it is possible to embed screenshots of failing GUI tests in JUnit's HTML report. Fixes 3.alexruiz, wanghy
addAdded support for more Swing components: JTable, JSpinner, JSlider and JFileChooser.alexruiz, wanghy
addSeparated the TestNG and JUnit extensions (screenshots of failing tests) into their own separate projects.alexruiz, wanghy

Release 0.3 - 2007-06-04

TypeChangesBy
fixAdded class ScreenLock to guarantee real sequential execution of GUI tests, regardless of the testing framework being used (JUnit or TestNG.) Fixes 1.alexruiz
addAdded capability to add a screenshot of the desktop to a TestNG HTML test report when a test fails.alexruiz, wanghy
addAdded support for testing JTrees. Thanks to Keith Coughtrey.alexruiz
addReplaced prefix 'should' with 'require' in fixture assertions to make API more concise (e.g. method 'shouldBeVisible' is now 'requireVisible.') Thanks to Jeff Bay.alexruiz
fixRenamed method 'shouldHaveThisText' to 'requireText' in interface TextDisplayFixture. Thanks to Jeff Bay.alexruiz
fixRemoved prefix 'find' from methods in ContainerFixture (e.g. method 'findLabel' is now 'label.') Thanks to Jeff Bay.alexruiz
addAdded Maven 2 tasks for Ant for dependency management.alexruiz, wanghy
addCreated a Maven 2 pom.xml file for Abbot.alexruiz, wanghy
addCreated a Maven 2 local repository containing all FEST dependencies. This way, it is not necessary to download any dependency from a remote Maven repository when building FEST.alexruiz
addAdded module fest-reflect, which provides a 'fluent interface' that simplifies the usage of Java reflection.alexruiz, wanghy