Commit Graph

59 Commits

Author SHA1 Message Date
Michał Gołębiowski-Owczarek
9887579b61
All: Stop relying on jquery-patch.js internally, add tests
Avoid relying on jQuery patches. Instead:
* use `CSS.escape` instead of `jQuery.escapeSelector`
* use `.filter()` with a proper handler instead of `.even()`

Keep `jquery-patch.js` for backwards compatibility, though.

Also, add tests for jquery-patch.

Ref gh-2249
2024-05-15 00:38:40 +02:00
Michał Gołębiowski-Owczarek
bb49bd794b
All: Drop support for IE & some other browsers (but mostly IE)
Closes gh-2249
2024-05-15 00:38:40 +02:00
Michał Gołębiowski-Owczarek
daa6fb55b3
All: Drop support for jQueries different than the latest for each major
Also, remove the ability to run the test suite in jQuery <1.12.4 & <2.2.4.

Closes gh-2249
2024-05-15 00:38:30 +02:00
Michał Gołębiowski-Owczarek
ac8b1e4eee
Core: Make back compat disabled by default
Closes gh-2250
2024-05-13 18:11:57 +02:00
Timmy Willison
91df20be6b
Tests: replace grunt-contrib-qunit with jQuery test runner
- add filestash workflow

Close gh-2221
2024-03-29 09:13:46 -04:00
Michał Gołębiowski-Owczarek
1be4538817
Build: Add jQuery 3.7.0 2023-05-12 00:48:38 +02:00
Michał Gołębiowski-Owczarek
ba249efb6b
Tests: Workaround IE issues in qunit-assert-domequal
In IE, `option` elements may have different initial `option` colors.
They may initially all be transparent, but later the selected
option gets a blue background with white text; we now ignore it.

The logic of `qunit-assert-domequal` was also fixed to use the same
method of fetching styles in all browsers; IE used to get a legacy
one meant for IE <9 due to a mistake in the performed check.
2023-05-10 17:34:14 +02:00
Michał Gołębiowski-Owczarek
beeb410ccb
Build: Add jQuery 3.6.4, update Migrate to 3.4.1
Closes gh-2161
2023-05-10 10:54:31 +02:00
Michał Gołębiowski-Owczarek
546214e869 Build: Fork vendors to remove QUnit deprecated API usage
Changes:
* add `tests/lib/vendor/**/*` to `.eslintignore`
* move `qunit-composite` to `tests/lib` so that we can modify it
* move `qunit-assert-classes` to `tests/lib` so that we can modify it
* move `qunit-assert-close` to `tests/lib` so that we can modify it
* replace `assert.push` with `assert.pushResult`
* remove usage of `QUnit.extend`

Closes gh-2157
2023-05-10 10:53:57 +02:00
Michał Gołębiowski-Owczarek
360259e2b2 Tests: Make Puppeter really fire Chrome on macOS
Also, workaround issues with QUnit Chrome bridge: the Chrome bridge
from `grunt-contrib-qunit` is now getting injected into every single
iframe, including an empty one that has no intention of running QUnit
tests. Since that bridge requires QUnit, it fails with an error
in such cases. Workaround the issue by wrapping the bridge in
another function that bails early if QUnit is not defined.

Ref gh-2157
2023-05-10 10:53:57 +02:00
Michał Gołębiowski-Owczarek
3286792ec5
Build: Add jQuery 3.6.1-3.6.3, update Migrate to 3.4.0 2023-01-15 21:41:18 +01:00
Michał Gołębiowski-Owczarek
c3749ca924 Tests: Take development jQuery versions from releases.jquery.com
code.jquery.com is now used just for the specific versions.
2021-09-29 19:07:43 +02:00
Michał Gołębiowski-Owczarek
232fe3bafa Tests: Load the TestSwarm listener via HTTPS 2021-09-29 17:22:17 +02:00
Michał Gołębiowski-Owczarek
3f5c7201da Tests: Update the default jQuery version from 1.12.4 to 3.6.0 2021-09-25 12:24:55 +02:00
Michał Gołębiowski-Owczarek
70dae67b73
Build: Migrate from JSHint & JSCS to ESLint
Fixes #15393
Closes gh-1958
2021-06-07 00:58:12 +02:00
Michał Gołębiowski-Owczarek
e6592a8aff
Build: Add jQuery 3.6.0, update Migrate from 3.3.1 to 3.3.2
Closes gh-1948
2021-03-09 00:09:51 +01:00
Michał Gołębiowski-Owczarek
5b5fda7cd2
Tests: Account for an extra noop focus/blur listener 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. This leaves extra focus & blur events if any of these events were ever
listened to at a particular element.

We've started skipping these handlers in the `domEqual` assertion in gh-1930 but
we missed a case where an event is triggered before any handler is attached -
jQuery >=3.4.0 attaches then an extra noop listener just to force the code path
to go through the setup code before the trigger happens. We now skip this extra
handler as well.

This fixes a test failure in "dialog: methods" destroy tests.

Closes gh-1945
Ref jquery/jquery#4496
Ref gh-1930
2021-02-20 19:11:03 +01:00
Michał Gołębiowski-Owczarek
d2f577f13b
Tests: Update jQuery Migrate from 3.3.0 to 3.3.1
That upgrade makes UI pass the whole test suite without a single jQuery Migrate
warning. 🎉

Closes gh-1932
2020-07-27 21:03:48 +02:00
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