This commit adds the possibility to load in the Classic Test Runner the extrascripts exposed in attester's config, when CTR is run in isolated mode. Previously, the extrascripts were injected by attester only to CTR's index page, but CTR had no possibility to propagate those scripts into the iframe when tests were run with `#runIsolated=true` in the URL. This commit needs attester/attester#121 integrated in attester (to be released in attester 2.2.0) in order for it to properly expose `before` and `after` extrascripts. Close #1411
Added backward compatibility for widget's default error messages customization. The non-backward change concerns the keys used inside a resource file to define the hardcoded fallback for default values. There is no deprecation message or so on because the broken feature was not a public feature, but a commonly agreed hack.
The implementation and tests code is now cleaner, and the tests are more documented. A little bit of redundancy checking has been introduced in the tests just to make sure that if the order of some methods changes or if some are removed or whatever the tests will still work and be comprehensive. Also fixed a small mistake in AutoComplete's default error messages test. An unwanted `return` statement was remaining at the end of the `$constructor` of the test. It was not breaking anything regarding our class system implementation, but this remains incorrect.
…ementation. The problem is that this is still a change of another nature compared to the others: we remove it, but we have another property which is not quite equivalent but can be used as replacement. Concretely, `environment` was considered as a synonym of `osName`, and corresponded to the latter's value. This should not be the case, but the documentation and the deprecation logging should reflect the alternative. A custom message could be added to the definition of deprecated properties. Closes #1421
…ity for Orientation class. This commit can be reverted as soon as the deprecation period has ended. It completes commit 608c176 and the latter should be considered regarding the date of the deprecation.
…d Orientation class. There is another commit dealing with the deletion of deprecated code, but this one completes it by removing some code which has been missed.
It is now possible for a user to customize the error messages used by the widgets. There are 3 levels of error messages specifications, the two firsts being user configuration while the last is the hardcoded default. This is resolved in this order of precedence: - local: widget's configuration - global: application's environment - hardcoded: widget's resources
It is important for an application to decide the order in which widgets and templates-related css rules (coming from CSS templates) are inserted in the head tag. In order to do that, the application can insert tags with the correct id. This commit allows to use existing tags for the css insertion. Close 1423
item on IE <= 9 close #1420
This commit fixes a regression introduced in commit f9a1670 for TemplateManagerTest and SectionAsContainerTest on IE 7. On IE 7, the toString method of an error object returns no information about the error (only the string "[object Error]"). It is necessary to use the description property instead. This commit depends on the following pull request on noder-js: ariatemplates/noder-js#30
This commit can be reverted as soon as the deprecation period has ended. In order to produce this commit, portions of code delimited by comments `/* BACKWARD-COMPATIBILITY-BEGIN (GitHub #1397) */` and `/* BACKWARD-COMPATIBILITY-END (GitHub #1397) */` have been removed. Additional formatting has been needed sometimes (white spaces left overs or some commas at end of lists for instance). To find this portions of code easily, this regular expression has been used: `[ \t]*\/\* BACKWARD-COMPATIBILITY-BEGIN \(GitHub \#1397\) \*\/(?:.|\n)*?\/\* BACKWARD-COMPATIBILITY-END \(GitHub \#1397\) \*\/`.
…evice classes. There are mainly two main changes: - the implementation strategy: see below - the API: some properties have been renamed, moved, considered as duplicates or obsolete The new implementation strategy concerns everything related to the use of the user agent to extract information. Now an external library is used to do most of the work, and edge cases are handled by us, by fixing some values. Then, some process is done to use the information through our API instead of the external library's one. Here is a list of non-backward compatible changes: - `aria.core.Browser` - `isIE6` is now obsolete - `isFF` has been removed to keep only `isFirefox` - `browserType` has been removed to keep only `name` - `browserVersion` has been removed to keep only `version` - `environment` has been removed to keep only `osName` - `isOtherMobile` has been renamed to `isOtherOS` - `DesktopView` has been renamed to `isDesktopView` - `isPhone` has been removed to keep only `aria.utils.Device.isPhone` - `isTablet` has been removed to keep only `aria.utils.Device.isTablet` - `deviceName` has been moved to `aria.utils.Device.deviceName` - `aria.utils.Device` - `ua` has been removed to keep only `aria.core.Browser.ua` - `isMobile` has been renamed to `isPhone` - `isPhoneGap` has been moved to `aria.core.Browser.isPhoneGap` - `is2DTransformCapable` has been moved to `aria.core.Browser.is2DTransformCapable` - `is3DTransformCapable` has been moved to `aria.core.Browser.is3DTransformCapable` closes #1397 closes #1410
…plate The previous error message (stating that the module did not contain the expected class) was confusing. Now, when a template cannot be compiled to js, only one clear error message is displayed.
When those test are run in attester, probably because of the added iframe, the actual splitter seems to be a few pixels on the right or on the bottom of the mouse position, resulting in a test failure. With this commit, instead of starting the drag operation at the edge of the handle, the mouse is now centered on the handle which makes those tests more reliable.
…or 2s) Sometimes, if the first test to be executed by a browser is a robot test, it can fail with the error "The robot is not available." even if the browser was started with selenium-java-robot because selenium-java-robot has not yet injected the SeleniumJavaRobot object in the page. This commit makes sure we wait up to 2s before raising the error that the robot is not available.
Fixes test.aria.widgets.container.checkContent.DivTest on Safari (where scroll bars take no space).