Commit Graph

7223 Commits

Author SHA1 Message Date
Michał Gołębiowski-Owczarek
f7e7e14a69 Build: Don't save temporary npm dependencies to package.json
Past npm versions required the `--save` flag to save anything in `package.json`
when installing packages but newer ones do this by default. Pass `--no-save` to
restore the original behavior in the `release-test.js` script.

Ref gh-1966
2021-08-06 13:36:30 +02:00
Michał Gołębiowski-Owczarek
74af512794 Build: Don't publish dist/cdn to npm 2021-08-04 22:57:11 +02:00
Michał Gołębiowski-Owczarek
399c81e077
Build: Update dependencies passed to jquery-release
The older versions were not compatible with Node.js 10 & newer.

Closes gh-1963
2021-08-04 18:03:46 +02:00
Michał Gołębiowski-Owczarek
11734928c0
Docs: Update AUTHORS.txt
Closes gh-1964
2021-08-04 17:39:54 +02:00
Michał Gołębiowski-Owczarek
d82ea60d05
Build: Fix package generation
jQuery UI 1.12.1 was released using an outdated (at the time of its release)
version of the download.jqueryui.com package; the latest ones wouldn't generate
relevant JS files.

This commit accounts for the changes so that the latest version can be used.

Closes gh-1965
2021-08-04 17:29:48 +02:00
c-lambert
cf938e2863
Datepicker: Get selectedDay from data-date instead of element contents
This makes datepicker work fine even if translation software modifies texts on the page.

Closes gh-1943
2021-07-12 09:41:41 +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
Patrick McKay
a12c98574d Datepicker: Improve callbacks test for onUpdateDatepicker
Make sure the custom element added by the onUpdateDatepicker callback still exists and is not duplicated after calling refresh and setDate.
2021-05-21 17:58:10 +02:00
Patrick McKay
17d115b829 Datepicker: Add option for onUpdateDatepicker callback
Add a new option named onUpdateDatepicker that allows a custom callback
to be provided. If provided, the callback is called at the end of
$.datepicker._updateDatepicker.
2021-05-21 17:58:10 +02:00
Mikolaj Wolicki
b864cd103a Fix: Adapt datpicker.js for a11y 2021-05-15 18:29:08 +02:00
Michał Gołębiowski-Owczarek
7c6a9f0128
All: Drop $.ui.escapeSelector in favor of $.escapeSelector
Fixes #14991
Closes gh-1957
2021-05-14 23:37:19 +02:00
Michał Gołębiowski-Owczarek
afe20b79a6
Datepicker: Make sure text option are text, shorten HTML strings
Instead of using enormous HTML strings, various elements are now constructed
using jQuery APIs. This makes it more obvious user-provided data is used
correctly.

Fixes #15284
Closes gh-1953
2021-05-12 00:59:42 +02:00
Michał Gołębiowski-Owczarek
effa323f15
Position: Make sure of is treated as a CSS selector
Closes gh-1955
2021-05-04 13:31:39 +02:00
Michał Gołębiowski-Owczarek
32850869d3
Datepicker: Make sure altField is treated as a CSS selector
Closes gh-1954
2021-05-04 13:30:06 +02:00
Michał Gołębiowski-Owczarek
9380d2734e
Tests: Accept delayed focusout in IE with jQuery 1.8
In IE with jQuery 1.8 focusout may not happen immediately so some checks
need to be done later.

Closes gh-1952
2021-04-16 23:33:57 +02:00
Michał Gołębiowski-Owczarek
dff0dc0d6a
Tests: Fix the "dialog: core: focus tabbable" test in IE
In IE in jQuery 3.4+ a sequence:
```js
$( inputNode ).trigger( "focus" ).trigger( "blur" ).trigger( "focus" );
```
doesn't end up with a focused input. However, in this test we only want to check
that the last focused input receives the focus back when `_focusTabbable()` is
called which in reality doesn't happen so quickly so let's avoid the issue by
waiting a bit.

Ref jquery/jquery#4856
Closes gh-1951
2021-03-16 22:17:25 +01:00
Michał Gołębiowski-Owczarek
e31cf579a0
Build: Fix the new htmllint error regex
Some bad pages are being detected as Catalan randomly which makes the build
fail. This is reproducible both locally & on Travis. PR gh-1949 added a new
regex to account for this error but it didn't escape parens properly so it's
not matching the problematic error message.

Ref gh-1949
Closes gh-1950
2021-03-10 11:50:52 +01:00
Michał Gołębiowski-Owczarek
9ea690a0d9
Tests: Make some number comparisons less strict
Some of the APIs return fractional values in newer jQueries, making comparisons
sometimes not being 100% accurate. Allow some delta.

This is similar to what was already done in
98b539171b but a few cases affecting IE and/or
Edge Legacy were missed.

Closes gh-1947
2021-03-09 00:11:40 +01:00
Michał Gołębiowski-Owczarek
1029849a53
Build: Add a new htmllint error regex
Some bad pages are being detected as Catalan randomly which makes the build
fail. This is reproducible both locally & on Travis. This commit adds a new
regex to account for this error.

Closes gh-1949
2021-03-09 00:10:38 +01: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
834ee5f7cf
Dialog: Workaround broken focus re-triggering in jQuery 3.4/3.5
Focus re-triggering in jQuery 3.4/3.5 makes the original element
have its focus event propagated last, breaking the re-targeting.
Trigger focus in a delay in addition if needed to avoid the issue.

This fixes the "interaction between overlay and other dialogs" core dialog
test when tested against jQuery 3.4/3.5.

Closes gh-1946
Ref jquery/jquery#4382
2021-02-22 00:02:02 +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
19c628675d
Build: Rename the primary branch master to main
Closes gh-1944
2021-02-19 20:57:54 +01:00
sakshi87
91b6fc3f08
Build: Update grunt-contrib-qunit version from 1.0.1 to 4.0.0
Closes gh-1894
2020-10-21 23:43:26 +02:00
Michał Gołębiowski-Owczarek
b15e45a451
Core: Resolve csslint issues with the IE filter property
IE filter property violates standard CSS parsing rules. Because of that, IE 8
added `-ms-filter` which accepts the same values but quoted:
https://web.archive.org/web/20101112132308/http://blogs.msdn.com/b/ie/archive/2008/09/08/microsoft-css-vendor-extensions.aspx
Both `filter` & `-ms-filter` serialize to the same `filter` property in
`currentStyle`.

This commit switches to that new property to resolve csslint issues.

Closes gh-1939
2020-10-15 14:33:51 +02:00
Micah Miller
a22361dbe4 Build: Update to the latest version of Grunt & many other packages
JSHint, JSCS & QUnit-related packages are not updated as they need more code
adjustments.

Fixes #15112
Closes gh-1882
2020-10-14 23:55:35 +02:00
Paul Capron
f5d38e2e05
Focusable: Fix handling of visibility: collapse
"collapse" is similar to "hidden", with a slight difference in the case
of tr/tbody/td/colgroup elements.
See https://www.w3.org/TR/CSS22/visufx.html#visibility
See https://www.w3.org/TR/CSS22/tables.html#dynamic-effects
See https://developer.mozilla.org/en-US/docs/Web/CSS/visibility#Table_example

"visibility: collapse" elements are always not focusable, though.

Commit d3025968f3 introduced a regression by testing with `!== "hidden"`
instead of `=== "visible"`.

Closes gh-1843
2020-10-14 23:53:11 +02:00
Michał Gołębiowski-Owczarek
bfffac3fd5
Travis: Use Node 10, remove obsolete properties
Also, migrate to a Java build as we need JDK 8 and it's easier to
install a specific Node.js version in a Java image than vice-versa.

Closes gh-1938
2020-10-14 23:45:19 +02:00
Hrvoje Novosel
2434dfd45d Widget: Fix boolean option when under use strict
Fix for `options === true` when using jQuery UI under `use strict`,
which throws:
```
Uncaught TypeError: Cannot create property 'complete' on boolean 'true'
```
on line:
```js
options.complete = callback;
```

Closes gh-1931
2020-10-06 14:54:13 +02:00
Michał Gołębiowski-Owczarek
6bf38048f3
Build: Allow to specify browser sets to TestSwarm tasks
This will make it easier to e.g. now exclude Edge Legacy when testing against
jQuery 4.x.

Closes gh-1936
2020-09-25 09:40:33 +02:00
Jérémy Munsch
dadde722a4 Resizable: Fix CSP violation (style unsafe-inline) 2020-08-11 23:43:45 +02:00
Felix Nagel
1e2f05bc2a Package: Remove Scott González from maintainers 2020-08-11 23:36:29 +02:00
Felix Nagel
43254468de Theme: Don't load the image sprite for 'ui-icon-blank' 2020-08-11 23:36:29 +02: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
Szabolcs Szabolcsi-Toth
bcdaf14815
External: Add .npmignore file 2020-07-24 22:08:07 +02:00
Michał Gołębiowski-Owczarek
74b5d8d7b9
All: Remove a leftover empty file
Closes gh-1933
2020-07-24 13:23:23 +02:00
Michał Gołębiowski-Owczarek
1712b9bbb2
Menu: Account for scrollbars in jQuery 3.2
jQuery >=3.2 doesn't include scrollbars in `.height()`, this commit switches
it to `.innerHeight()` which does so in jQuery >=3.3. In  jQuery 3.2 it doesn't
either so include scrollbars in innerHeight, add it back.

Using `.innerHeight()` instead of `.height()` should be fine as menu doesn't
define padding styles.

Closes gh-1929
2020-07-23 15:55:18 +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
91037d66b0
Tests: Accept a small difference of animated width/height
jQuery 3.2 & newer have a different animation logic and the animated elements
width/height differ from the starting ones even at the beginning of the
animation. The point of the assertions checking that they're identical was
to ensure bug #5245 is fixed; that issue manifested by a big jump to half the
element size. To test for that, it's enough to check that the first obtained
values are close to the original ones.

This makes effects tests pass in all supported jQuery versions.

Closes gh-1928
Ref #5245
2020-07-23 15:53:36 +02:00
Michał Gołębiowski-Owczarek
b8ec78a37a
Tests: Skip a scrollbar test in jQuery 3.2
jQuery 3.2 incorrectly handle scrollbars in WebKit/Blink-based browsers.
This is fixed in version 3.3, see https://github.com/jquery/jquery/issues/3589.
As the data here comes from jQuery directly and the changes to fix it
are non-trivial: https://github.com/jquery/jquery/pull/3656, just accept
that scrollbar data in this jQuery version is inaccurate.

Closes gh-1927
Ref jquery/jquery#3589
Ref jquery/jquery#3656
2020-07-23 15:51:15 +02:00
Michał Gołębiowski-Owczarek
42bcdb90f6
Tests: Clear the timers queue in an animateClass test
jQueries older than 1.11 or 2.1 were leaving a timer in the queue which could
then influence other tests.

Closes gh-1926
2020-07-23 15:49:27 +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
086c304218
Build: Update the version from 1.12.2-pre to 1.13.0-pre
Closes gh-1921
2020-07-22 16:03:52 +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
f4ef03e57e
All: Resolve most jQuery Migrate warnings
Closes gh-1919
2020-05-16 08:36:55 +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
579bedd7d2
Tests: Solve a frequent race condition in tests in Chrome/Safari
Closes gh-1916
2020-05-16 08:28:26 +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