Commit Graph

41 Commits

Author SHA1 Message Date
Michał Gołębiowski-Owczarek
5e2fc44c0c
Tests: Account for extra focus/blur listeners in jQuery >=3.4
jQuery >=3.4.0 uses a special focus/blur handler pair
needed to fix various issues with checkboxes/radio buttons
as well as being able to pass data in focus triggers.
However, this leaves dummy focus & blur events if any of these
events were ever listened to at a particular element. There's not
a lot UI can do to fix this so we now just skip these handlers for
data comparisons in tests.

Ref jquery/jquery#4496
Closes gh-1930

Co-authored-by: Richard Gibson <richard.gibson@gmail.com>
2020-07-23 15:54:16 +02:00
Michał Gołębiowski-Owczarek
b61b16b5a8
All: Drop support for jQuery 1.7
Closes gh-1923
2020-07-22 16:04:47 +02:00
Michał Gołębiowski-Owczarek
e7a10c70ae
Tests: Ensure no timers are running at the end of each test (#1920)
This helps fix issues that make tooltip tests sometimes fail when run against
jQuery 3.2 or newer due to timing differences.

Details:
* Add the `moduleAfterEach` function ensuring no timers are running.
* Attach this function via `common.testWidget`.
* Attach this function to most test suites.
* Add a tooltip test helper cleaning up leftover timers.
* Rename legacy `setup`/`teardown` hooks to `beforeEach`/`afterEach`.

Closes gh-1920
2020-05-16 09:16:24 +02:00
Michał Gołębiowski-Owczarek
b36d542569
Tests: Load jQuery Migrate before UI test files
This is necessary to catch all possible warnings that the test files
may trigger.

Closes gh-1918
2020-05-16 08:30:11 +02:00
Michał Gołębiowski-Owczarek
7caf8f61df
Build: Rename jquery-1-7 to jquery-patch
The file now contains many more than just jQuery 1.7 patches.

Closes gh-1917
2020-05-16 08:29:08 +02:00
Michał Gołębiowski-Owczarek
d37ebc624d
Build: Add jQuery 3.5.0 & 3.5.1
Closes gh-1915
2020-05-16 08:27:27 +02:00
Michał Gołębiowski-Owczarek
512cbbf4d9
Build: Update jQuery Simulate, jQuery Migrate & jQuery Color
The jQuery Simulate & jQuery Color updates are needed for compatibility
with jQuery master, a future jQuery 4.

Closes gh-1914
2020-05-16 08:26:48 +02:00
Michał Gołębiowski-Owczarek
0c860b0d92
All: Remove usage of jQuery positional selectors
jQuery positional selectors () have been deprecated in
[jQuery 3.4.0](https://blog.jquery.com/2019/04/10/jquery-3-4-0-released/)
and they'll be removed in jQuery 4.0.0. This PR removes their usage.

Most of the changes were possible without changing public API. However,
dropping `:even` usage required a change to the
[`header` option](https://api.jqueryui.com/accordion/#option-header)
of the accordion widget. I made it an optional function; this will need
to be documented.

The polyfill for `.even()` & `.odd()` is added for jQuery <3.5.0. There was
no usage of the :odd selector in the code but the `.odd()` method is also
polyfilled for completeness.

Closes gh-1904
2020-01-22 16:44:34 +01:00
Michał Gołębiowski-Owczarek
3481f50bfc Tests: Add the 3.x-git jQuery version to the dropdown
Closes gh-1905
2020-01-14 14:03:23 +01:00
Michał Gołębiowski-Owczarek
98b539171b All: Migrate away from deprecated/removed Core APIs
Summary of the changes:

* Build: Add jQuery 3.2.0-3.4.1 to versions UI can be tested against
* Build: Load jQuery & Migrate via HTTPS
* Build: Add package-lock.json to .gitignore
* Build: Update jQuery Migrate from 3.0.0 to 3.1.0
* Build: Allow to run tests against jQuery 3.x-git
* Build: Fix formatting according to JSCS rules
* Build: Disable JSCS for the inlined jQuery Color
* All: Switch from $.isArray to Array.isArray (jQuery.isArray will be
  removed in jQuery 4.0)
* All: Switch from `$.isFunction( x )` to `typeof x === "function"`
  (jQuery.isFunction will be removed in jQuery 4.0)
* All: Inline jQuery.isWindow as it'll be removed in jQuery 4.0
* Effects: Fix a timing issue in a variable declaration. Previously,
  a jQuery object was created, chained & assigned to a variable that
  was then accessed in a callback used inside of this chained
  definition. Due to a timing difference in when the callback fired for
  the first time in latest jQuery master, it was being called before
  the variable was defined.
* Tests: Make dialog & draggable unit tests less strict (newest jQuery
  returns fractional results in some cases, making comparisons fail when
  there's a tiny difference)
* All: Migrate from $.trim to bare String.prototype.trim (jQuery.trim
  will be deprecated in jQuery 3.5)

Closes gh-1901
2019-12-08 22:23:08 +01:00
Scott González
74f8a0ac95 Tests: Load jquery-1-7 before other modules 2017-05-31 14:09:05 -04:00
Scott González
0940cb9bd2 All: Remove uses of jQuery.camelCase()
Ref #15160
Ref gh-1813
2017-05-17 11:17:09 -04:00
Scott González
ae31f2b3b4 Tests: Load jquery-1-7 module for jQuery 2.x as well 2017-05-15 18:24:19 -04:00
Scott González
39bbe70b54 Tests: Load the jquery-1-7 module for all 1.x versions 2017-05-10 09:02:53 -04:00
Scott González
162377fba2 Build: Add missing semicolon 2017-02-06 10:20:50 -05:00
Eirik Sletteberg
4fa0267edc Qunit: Add bootstrap config for running tests with jQuery Migrate
Closes gh-1774
2017-02-06 08:23:18 -05:00
Michał Gołębiowski
4673c8808b Build: Add jQuery 3.1.1
Closes gh-1766
2016-11-02 12:52:22 -04:00
Scott González
ea44d84975 Build: Add jQuery 3.1.0 2016-07-08 13:02:10 -04:00
Alexander Schmitz
71b93ed247 Build: Add jQuery 3.0 for testing 2016-07-06 09:45:29 -04:00
Scott González
3c860f95aa All: Replace non-breaking spaces with regular spaces 2016-06-08 13:03:42 -04:00
Michał Gołębiowski
468f1e3abe Build: Add jQuery 1.12/2.2 to the test configuration
Ref gh-1706
2016-05-25 16:42:06 -04:00
Amanpreet Singh
e568225a30 Tests: Update common lib to use no globals 2016-04-14 00:14:57 +05:30
Michał Gołębiowski
15586ea752 Build: Use jquery-git in place of jquery-compat-git
jQuery Compat is not going to get released after all; jQuery UI should be tested
against jquery-git instead of jquery-compat-git.

Closes gh-1646
2015-11-14 06:12:55 -05:00
Alexander Schmitz
79d312f3f5 Tests: Allow widgets to not have a default element 2015-10-07 10:47:43 -04:00
Scott González
9bb9a8bac0 Tests: Load ui/jquery-1-7.js when testing against jQuery 1.7.x 2015-08-31 15:33:02 -04:00
Alexander Schmitz
c13ddf22ed Tests: Style updates
Ref #14246
Ref gh-1588
2015-08-21 08:06:24 -04:00
Alexander Schmitz
10e2343e77 Tests: adjust jshint path for moving all widgets into folder
Ref #13885
2015-08-08 00:29:39 -04:00
Alexander Schmitz
6fd9fc92a3 Tests: Add custom build of core to tests
This adds a custom build which excludes the event/alias and deprecated modules

Fixes #12770
Closes gh-1556
2015-05-20 14:28:55 -04:00
Alexander Schmitz
27d746cdd6 Tests: Remove core event/alias and deprecated module dependencies 2015-05-20 14:27:58 -04:00
Scott González
ae25cdb688 Build: Upgrade to jQuery 1.11.3 2015-05-14 08:25:16 -04:00
Scott González
e1751383f1 Tests: Use new jquery-compat-git and jquery-git files 2015-05-14 07:44:13 -04:00
Alexander Schmitz
6a03b0f2ba Build: Update to qunit-assert-classes to V 1.0.2
Closes gh-1547
2015-05-01 07:11:35 -04:00
Scott González
1d193c24dc Tests: Fix loading in TestSwarm 2015-04-17 13:45:13 -04:00
Scott González
6231b161b9 Tests: Fix AMD loading in IE8
It appears that we must load require.js via a standard script tag in order
for it to work properly in IE8.
2015-04-17 12:13:38 -04:00
Scott González
45797b9b41 Tests: Fix domEqual handling for invalid input 2015-04-17 12:10:36 -04:00
Scott González
4bf80d209a Tests: Use the qunit-assert-close module
Moved QUnit assertion dependencies from `lib/bootstrap` to `lib/qunit`.

Corrected bad draggable assertions.

Ref gh-1528
2015-04-09 09:28:25 -04:00
Scott González
bde431bb44 Tests: Rename files
Ref gh-1528
2015-04-09 09:27:00 -04:00
Scott González
0714f55ad4 Tests: Support $.uiBackCompat = false via data-no-back-compat
Ref #10119
Ref gh-1528
2015-04-09 09:26:27 -04:00
Scott González
8bda52c8d1 Spinner: Convert tests to new infrastructure
Ref #10119
Ref gh-1528
2015-04-09 09:26:27 -04:00
Scott González
2e1c72fb59 Tests: Convert closeEnough() to a proper QUnit assertion
Should eventually replace with qunit-assert-close.

Ref #10119
Ref gh-1528
2015-04-09 09:24:45 -04:00
Scott González
7c896ddb85 Tests: Change test infrastructure to use AMD and reduce boilerplate
Ref #10119
Ref gh-1528

* Adds RequireJS and relies on AMD for loading dependencies.
* Updates to grunt-contrib-qunit 0.6.0.
* Convert `domEqual()` to a proper QUnit assertion.
* Introduces two bootstrap files (JS and CSS) which use `data-` attributes to
reduce the amount of boilerplate needed in each test
2015-04-09 09:21:06 -04:00