2.42. Changes in 4.0 Beta 1

Table of Contents

2.42.1. General
2.42.2. Scripting
2.42.3. Web-specific
2.42.4. Qt-specific
2.42.5. Java-specific
2.42.6. Mac-specific
2.42.7. Classic IDE
2.42.8. Source builds

Here is a summary of the changes that have been made since the Technical Preview editions and which are incorporated in the new Squish 4.0-beta1 editions.

2.42.1. General

  • Added a new squishserver --verbose option to make it easier to debug connection problems involving remote hosts.

  • The Squish IDE no longer crashes if it's asked to display a reference to a non-existent Perl function.

  • The Spy's tooltip colors no longer conflict with the AUT's palette.

  • The Squish IDE is much more robust when property accesses to null objects are attempted.

  • The Squish IDE is no longer has startup errors if .ini configuration files are missing.

2.42.2. Scripting

  • The waitForObject() and waitForObjectItem() functions can now accept an object name (as before) or an object reference (new) as their first argument.

  • The execution of waitForObject() function calls has been speeded up by eliminating one call round-trip between squishrunner and the AUT. (And newly recorded scripts are faster anyway.)

  • The waitForObjectItem() function returns a reference to the item rather than the object that contains the item—for example, it returns the relevant table cell item rather than the table.

  • If the source() function was used in Perl scripts that had one or more breakpoints, the filename and line number reported by the Squish IDE could be wrong; these problems have now been fixed.

  • Squish no longer crashes if the test script has incomplete or syntactically incorrect switch statements.

  • Squish no longer crashes if a JavaScript test script attempts to access results on a closed SQL query.

  • The JavaScript SQL result object's toFirst(), toNext(), and value() methods no longer produce spurious warnings.

2.42.3. Web-specific

  • The waitForObject() function now uses an improved readiness check for Web objects.

  • JavaScript error reporting in Internet Explorer has been improved.

  • Squish now provides access to the computed/cascaded style values in HTML elements' style properties. This ensures that the values retrieved correctly reflect the actual state of the elements in the web page.

  • Fixed a bug relating to setText() calls on file upload elements on macOS (for Firefox 3 and Safari).

  • Fixed a bug with Spy highlighting when using Firefox and Safari on macOS.

  • The setup program now enforces the selection of a usable Firefox version to work around problems with Firefox 3.5.2 and later.

2.42.4. Qt-specific

  • QIconView items are now accessible as objects with properties and geometry.

  • The waitForObjectItem() function when applied to a QTable returns an object representing a particular cell item—or raises an exception if no cell item is matched. The cell item object can be used like any other object, for example, by passing it to the mouseClick() function.

  • When the waitForObjectItem() function is used on a menu it waits for the specified menu item to become available, i.e., visible and enabled.

  • If the activateItem() function is called on a disabled item, an exception is thrown.

  • If the native GUI style requests that clicking a button should move the keyboard focus to the button, the clickButton() function will honor this.

  • Squish no longer crashes if a QLabel had directly or indirectly set itself as its own buddy.

  • Conversions to and from the C++ Standard Library's std::string type have been added.

  • Script bindings for Qt 4's QMovie class have now been provided. (They were missing originally because of a function name conflict.)

  • Squish no longer crashes if a non-QWidget argument is passed to the waitForObjectItem() function.

  • The RTTI (Run Time Type Information) of QListViewItems is now exposed as a Spy property.

  • Replaced the new changeWindowState() function that was introduced in the Technical Previews with a better setWindowState() function which takes an object name or reference and an enum (such as WindowState.Maximize).

2.42.5. Java-specific

  • Fixed a bug that occurred when hooking into Eclipse/RCP 3.5-based applications.

  • Fixed a bug in the dragAndDrop() function where if the target was given as an object name rather than as a reference it could be incorrectly handled.

  • Fixed the recording of mouse clicks and double-clicks on SWT Tables, when the clicks were not on table cell items—for example, if the top-left corner of the Table was clicked.

  • Fixed a problem with text escaping that affected SWT Combo and List items.

  • Added MessageBoxOpened as a possible option for the installEventHandler() function. If this option is used, the event handler will be called when a native SWT message box is shown.

2.42.6. Mac-specific

  • The scrollToObject() function now supports NSTableView items.

2.42.7. Classic IDE

  • Fixed a bug in the 'Use as expected image' feature on Windows.

2.42.8. Source builds

  • Squish now builds successfully with gcc 4.4.

  • Support has been added for the --enable-64bit configure option for gcc on Linux and Solaris.

  • Eliminated squishidl's dependency on the fkit library. This simplifies cross-compilations since it avoids a possible conflict.