Commit Graph

2512 Commits

Author SHA1 Message Date
Michał Gołębiowski-Owczarek
c9aae3565e Tests: Account for the iPad with iOS 11.3 user agent
The user agent of the iPad with iOS 11.3 on BrowserStack is missing the "iPhone"
part in the "iPhone OS 11_3" part. This commit makes the iOS regex accept such
(probably?) malformed UAs.
2018-08-01 15:12:30 +02:00
Michał Gołębiowski-Owczarek
ae82e85e64
Tests: Skip module tests in Edge
Edge sometimes doesn't execute module scripts. It needs to be investigated why
but for now, we're skipping the test to make our tests more stable.

Closes gh-4140
2018-07-30 18:41:08 +02:00
Michał Gołębiowski-Owczarek
063c1f2ca3 Tests: Make support tests pass in Firefox 52
jQuery Core now supports Firefox ESR.
2018-07-30 18:06:08 +02:00
Richard Gibson
979809c5a8
Manipulation: Properly detect HTML elements with single-character names
Fixes gh-4124
Closes gh-4125
2018-07-13 00:35:08 -04:00
Michał Gołębiowski-Owczarek
cc95204589
Tests: Add support test results for Firefox 61+
Firefox 61 now passes the reliableMarginLeft test.

Closes gh-4122
2018-07-09 18:37:52 +02:00
Jason Bedard
e743cbd285
Dimensions: fix computing outerWidth on SVGs
Fixes gh-3964
Closes gh-4096
2018-06-20 22:09:29 -07:00
Timmy Willison
0645099e02
Serialize: jQuery.param: return empty string when given null/undefined
Fixes gh-2633
Close gh-4108
2018-06-20 12:07:44 -04:00
Michał Gołębiowski-Owczarek
81d829b357
Test: enable a spec testing CSS whitespace preserving in Edge 17
In Edge 14-16 setting a style property to a whitespace-only value resets it to
the default, forcing us to skip a relevant CSS test in Edge. Now that Edge 17
has fixed the issue we can re-enable this test there.

Ref gh-3204
Closes gh-4101
2018-06-18 18:48:15 +02:00
Michał Gołębiowski-Owczarek
75b77b4873
CSS: Don't auto-append "px" to CSS variables (#4064)
Fixes gh-4063
Closes gh-4064
2018-06-04 18:08:06 +02:00
Dave Methvin
dc48b11e0c squash! Set attributes all at once, src last 2018-05-14 14:09:43 -04:00
Dave Methvin
1f4375a342 Ajax: Allow custom attributes when script transport is used
Fixes gh-3028
Ref gh-2612

Useful, for example, to add `nonce`, `integrity`, or `crossorigin`.
2018-05-14 14:09:43 -04:00
Luis Emilio Velasco Sanchez
0ba8e38d0c Traversing: $.fn.contents() support for object
Fixes gh-4045
Closes gh-4046
2018-05-14 13:41:42 -04:00
Richard Gibson
821bf34353
CSS: Correctly detect scrollbox support with non-default zoom
Fixes gh-4029
Closes gh-4030
2018-05-07 09:28:18 -04:00
Michał Gołębiowski-Owczarek
f8c1e9020c
CSS: Ensure camel- vs kebab-cased names are not collapsed for CSS vars
Closes gh-4062
2018-05-02 17:08:20 +02:00
Michał Gołębiowski-Owczarek
f5e36bd8f2
CSS: Skip the px-appending logic for animations of non-element props
Without this change animating properties from jQuery.cssNumber on non-elements
throws an error.

Ref gh-4055
Closes gh-4061
2018-04-30 18:52:39 +02:00
Michał Gołębiowski-Owczarek
9a5b3b6ed0 Tests: ensure support tests are failed by at least one tested browser
A whitelist is available so that some tests can be allowed to always succeed.
This is used only for ajax for now as it can be manually disabled in IE but
is enabled by default.

Closes gh-4052
2018-04-23 20:39:52 +02:00
Michał Gołębiowski-Owczarek
4a2bcc27f9
Tests: Fix Android 4.0 Deferred tests
Closes gh-3967
2018-02-12 20:24:58 +01:00
Michał Gołębiowski-Owczarek
56742491bd
Tests: Disable native abort test in Android 4.0
The test works on its own when checked manually but mysteriously fails in
TestSwarm only in Android 4.0. Let's just disable it there.

Closes gh-3968
2018-02-12 19:08:36 +01:00
Timmy Willison
6483af7ee5
Tests: skip test with invalid selector for selector-native tests 2018-01-19 11:13:48 -05:00
Timmy Willison
625e19cd9b
Tests: ensure that module assertions run on supported browsers
- Also fixes tests for karma, where the URL for the module is different

Ref gh-3871
2018-01-16 15:18:32 -05:00
basil.belokon
5d3a968e03
Manipulation: Add support for scripts with module type
Fixes gh-3871
Close gh-3869
2018-01-16 11:39:16 -05:00
Timmy Willison
14e5143b83
Tests: fix number of expected assertions in basic core 2018-01-16 10:51:03 -05:00
Jason Bedard
1ea092a54b
Core: deprecate jQuery.type
Fixes gh-3605
Close gh-3895
2018-01-16 10:39:08 -05:00
Timmy Willison
91fb18190e
Tests: fix weird flaky attributes test in Edge 16
Fixes gh-3867
Close gh-3931
2018-01-16 10:18:27 -05:00
Timmy Willison
5e6deb3999
Tests: fix weird failure in Edge 16 CSS
Fixes gh-3866
Close gh-3932
2018-01-16 10:16:15 -05:00
Jason Bedard
c4494d4abc Core: deprecate jQuery.isNumeric
Fixes gh-2960
Closes gh-3888
2018-01-15 20:50:02 -08:00
Dave Methvin
d7237896c7 Ajax: Don't process non-string data property on no-entity-body requests
Fixes gh-3438
Closes gh-3781
2018-01-15 21:48:54 -05:00
Dave Methvin
022b69a44e Event: Move event aliases to deprecated
Fixes gh-3214
2018-01-15 21:40:45 -05:00
Jason Bedard
3d732cca6b Core: deprecate jQuery.isFunction
Fixes gh-3609
2018-01-15 09:26:19 -08:00
Timmy Willison
50b94f47d2
Tests: fix function reference for unbinding
Ref gh-2958
2018-01-08 11:55:14 -05:00
Timmy Willison
e2f192887c
Tests: only run ontimeout test if ontimeout exists
Fixes gh-3742
Close gh-3919
2018-01-08 11:46:43 -05:00
Timmy Willison
7be448d41f
Ajax: add unit test for getScript(Object)
Fixes gh-3736
Close gh-3918
2018-01-08 11:45:21 -05:00
Timmy Willison
80f57f8a13
Attributes: allow array param in add/remove/toggleClass
+30 bytes instead of +182

Thanks to @faisaliyk for the first pass on this feature.

Fixes gh-3532
Close gh-3917
2018-01-08 11:43:53 -05:00
Timmy Willison
3a8e44745c
Core: deprecate jQuery.proxy (not slated for removal)
Fixes gh-2958
Close gh-3885
2018-01-08 11:28:35 -05:00
Timmy Willison
909e0c9925
Core: deprecate jQuery.now
Fixes gh-2959
Close gh-3884
2018-01-08 11:24:45 -05:00
Timmy Willison
775caebd61
Core: adjust data tests to ensure proper camelCasing
- Add back camelCase to the public object (deprecate not remove)
Ref #3384
2018-01-08 11:21:22 -05:00
Nilton Cesar
64a289286a
Core: make camelCase function available only for internal usage
Close gh-3604
Fixes gh-3384
2018-01-08 11:21:22 -05:00
Timo Tijhof
ecd8ddea33
Tests: Add support for running unit tests via grunt with karma
- Update QUnit to 1.23.1
- Remove unused dl#dl from test/index.html
- Remove unused map#imgmap from test/index.html
- Ensure all urls to data use baseURI
- Add the 'grunt karma:main' task
  - customContextFile & customDebugFile
- Add 'npm run jenkins' script

Close gh-3744
Fixes gh-1999
2017-12-18 12:27:38 -05:00
Saptak Sengupta
f00a07590e CSS: Correctly set support properties with non-default zoom
Fixes gh-3808
Closes gh-3872
2017-12-05 23:59:54 -05:00
Michał Gołębiowski-Owczarek
60cc6c9fbf Tests: Add iOS 11 support test results 2017-11-20 23:46:31 +01:00
Michał Gołębiowski-Owczarek
50e3395e7e Tests: Add Safari 11 support test results 2017-10-18 17:59:22 +02:00
Richard Gibson
94ddf62022 CSS: Detect more WebKit styles erroneously reported as percentages
Ref 692f9d4db3
Fixes gh-3777
Closes gh-3778
2017-09-18 11:59:50 -04:00
Richard Gibson
8ea78caa82 Tests: Update lineHeight adjustments to give Android more slop 2017-09-08 17:14:57 -04:00
Richard Gibson
692f9d4db3 CSS: Avoid unit-conversion interference from CSS upper bounds
Fixes gh-2144
Closes gh-3745
2017-08-28 13:23:04 -04:00
Jordan Beland
b1b949d35e Tests: Update path calculation
Fixes gh-3756
Closes gh-3757
2017-08-16 01:07:49 -04:00
Richard Gibson
3cf1d14ccc Dimensions: Don't trust non-pixel computed width/height
Fixes gh-3611
Closes gh-3741
2017-08-07 12:26:03 -04:00
Richard Gibson
f3c5776b82 Tests: Replace non-ASCII whitespace in source code 2017-07-31 15:16:23 -04:00
Richard Gibson
a49578499e Dimensions: Improve offsetWidth/offsetHeight fallback
Fixes gh-3698
Fixes gh-3602
Closes gh-3738
2017-07-31 12:36:54 -04:00
Erik Lax
262acc6f1e
Ajax: add an ontimeout handler to all requests
Fixes gh-3586
Close gh-3590
2017-07-24 11:44:09 -04:00
Richard Gibson
d65bdd5fc8 Tests: Account for TestSwarm focus issues
Closes gh-3732
2017-07-20 14:17:09 -04:00
Richard Gibson
deba37e53d Tests: Simulate events when CI hinders use of native ones
Ref gh-3732
2017-07-20 13:16:04 -04:00
Richard Gibson
928c580a1a Tests: Reduce the abort timeout for simple focus testing
Ref gh-3732
2017-07-19 11:45:03 -04:00
Richard Gibson
03db56a7e3 Tests: Abort focus tests when the environment doesn't cooperate
Ref gh-3732
2017-07-18 20:49:47 -04:00
Richard Gibson
d9a099a58e Tests: Try extra hard to control focus
Ref gh-3732
2017-07-18 20:32:01 -04:00
Richard Gibson
20cdf4e7de Support: Properly check for IE9 absolute scrollbox mishandling
Ref gh-3589
Fixes gh-3699
Fixes gh-3730
Closes gh-3729
2017-07-18 15:40:41 -04:00
Richard Gibson
3fcddd6e72 Dimensions: Detect and account for content-box dimension mishandling
Fixes gh-3699
Closes gh-3700
2017-07-10 12:35:03 -04:00
Jason Bedard
30b5ba5b92 Test: ensure position/offset return mutable objects
Fixes gh-3612
Closes gh-3695
2017-07-10 09:03:08 -07:00
Shashanka Nataraj
c18d608537
Core: Deprecate jQuery.isWindow
Fixes gh-3629
Close gh-3702
2017-07-10 12:00:27 -04:00
Pierre Spring
490db839fb
Event: stopPropagation() on native event-handler
Fixes gh-3693
Close gh-3694
2017-07-10 11:55:32 -04:00
Richard Gibson
80f1c8239e Dimensions: Include scroll gutter in "padding" box
Fixes gh-3589
Closes gh-3656
2017-06-19 15:42:55 -04:00
Andreas Solleder
5bdd1ca1ab
Tests: minor typos
Close gh-3671
2017-06-05 11:46:43 -04:00
Michał Gołębiowski
731c501155 Docs:Tests: Update IE/Edge-related support comments & tests
Closes gh-3661
2017-05-15 20:37:14 +02:00
Richard Gibson
b3defccdc0 Tests: Revert some testIframe changes to fix dimensions tests
Ref c0edd8dc18
2017-04-29 09:46:19 -04:00
Richard Gibson
72af0c4c7e Revert "Tests: Revert some testIframe changes to fix dimensions tests"
This reverts commit c4368a9311.
2017-04-29 02:05:46 -04:00
Richard Gibson
c4368a9311 Tests: Revert some testIframe changes to fix dimensions tests
Ref c0edd8dc18
2017-04-29 02:00:12 -04:00
Richard Gibson
00cc67af23 Tests: Correct expected assertion count
Ref e94b5b0bbf
2017-04-29 01:37:47 -04:00
Richard Gibson
e94b5b0bbf Tests: Clean up offset debugging
Ref 1d2df772b4
Ref c0edd8dc18
2017-04-29 01:35:20 -04:00
Richard Gibson
da533c6acc Tests: Adjust by actual scroll position, rather than expected
Ref 1d2df772b4
2017-04-29 01:22:55 -04:00
Richard Gibson
c0edd8dc18 Tests: Keep iframes visible in TestSwarm
Ref 1d2df772b4
2017-04-28 23:54:06 -04:00
Richard Gibson
dd408ce12f Tests: Add debugging to investigate iOS failures
Ref 1d2df772b4
2017-04-28 22:36:57 -04:00
Richard Gibson
cc73471d07 Tests: Reset iframe window scroll after updating html/document position
Ref 1d2df772b4
Closes gh-3649
2017-04-28 00:46:39 -04:00
Richard Gibson
5aaa514555 Tests: Prepend test iframes for even *more* consistency
Ref 1d2df772b4
2017-04-25 16:32:40 -04:00
Richard Gibson
bb757213b2 Tests: Allow a mock QUnit.test for perfect testIframe fidelity
Ref 1d2df772b4
Closes gh-3647
2017-04-25 16:22:35 -04:00
Richard Gibson
bb79f728b0 Tests: Attach test iframes to the body for visibility-dependent code
Ref 1d2df772b4
Closes gh-3645
2017-04-25 15:39:41 -04:00
Richard Gibson
87a2d3aae7 Tests: Be even more async for iOS
Ref 1d2df772b4
Closes gh-3643
2017-04-24 22:59:18 -04:00
Richard Gibson
9e121482a5 Tests: Improve offset test setup and labels
Hopefully this fixes iOS testing: http://swarm.jquery.org/job/5226

Ref 1d2df772b4
Closes gh-3641
2017-04-24 21:44:51 -04:00
Richard Gibson
a16339b893 Core: Update isFunction to handle unusual-@@toStringTag input
Ref gh-3597
Fixes gh-3600
Fixes gh-3596
Closes gh-3617
2017-04-24 12:39:25 -04:00
Richard Gibson
1d2df772b4 Offset: Use correct offset parents; include all border/scroll values
Thanks @anseki

Fixes gh-3080
Fixes gh-3107
Closes gh-3096
Closes gh-3487
2017-04-24 12:15:39 -04:00
Timo Tijhof
c1c549793a Tests: Fix incorrect assert name for ensure_iterability_es6
Closes gh-3584
Ref bb026fc1.
2017-03-20 23:32:43 +01:00
Timmy Willison
a6b0705294
Tests: add test for passing trigger data to radio click handler
Close gh-3581
Fixes gh-3579
2017-03-20 13:12:43 -04:00
Timmy Willison
35785a3229
Revert "Event: Add radio click triggering tests"
This reverts commit 5f35b5b406.
2017-03-20 12:53:15 -04:00
Timmy Willison
473d2ea7d5
Dimensions: fall back to offsetWidth/Height for inline elems
Close gh-3577
Fixes gh-3571
2017-03-20 12:16:12 -04:00
Steve Mao
fcc9a9ec96
Tests: move readywait to an iframe test
Close gh-3576
Fixes gh-3573
2017-03-20 11:37:15 -04:00
Timmy Willison
c920ff6e32
Dimensions: ignore transforms when retrieving width/height
Close gh-3561
Fixes gh-3193
2017-03-13 13:32:16 -04:00
Michał Gołębiowski
fc34dbc271 Tests: Clean up after the CSS Custom Properties support test
Ref bcec54ee72
Ref 619bf98d5b
2017-03-07 16:36:28 +01:00
Michał Gołębiowski
bcec54ee72 Tests: Skip CSS custom properties tests in non-supporting browsers
Ref 619bf98d5b
2017-03-07 16:13:26 +01:00
Connor Atherton
619bf98d5b CSS: Support custom properties
Fixes gh-3144
Closes gh-3199
Closes gh-3557
2017-03-07 14:52:08 +01:00
Michał Gołębiowski
be041e4da4
Core: move jQuery.fn.nodeName to jQuery.nodeName, add tests
Ref ac9e3016
Close gh-3560
2017-03-06 18:40:51 -05:00
Oleg Gaidarenko
6d43dc4233 Effects: stabilize rAF logic & align timeout logic with it
rAF logic was introduced almost three years ago relative to this commit,
as a primary method for scheduling animation (see gh-1578 pull).

With it there was two substantial changes - one was explicitly mentioned
and the other was not.

First, if browser window was hidden aka `document.hidden === true`
it would immediately execute all scheduled animation without waiting
for time pass i.e. tick time become `0` instead of 13 ms of a default value.

Which created possibility for circular executions in case if `complete`
method executed the same animation (see gh-3434 issue).

And the second one - since then there was two ways of scheduling animation:
with `setInterval` and `requestAnimationFrame`, but there was a
difference in their execution.

In case of `setInterval` it waited default `jQuery.fx.interval` value before
actually starting the new tick, not counting the first step which wasn't
set to be executed through tick method (aka `jQuery.fx.tick`).

Whereas `requestAnimationFrame` first scheduled the call and executed
the `step` method right after that, counting the first call of
`jQuery.fx.timer`, `tick` was happening twice in one frame.

But since tests explicitly disabled rAF method i.e.
`requestAnimationFrame = null` and checking only `setInterval` logic,
since it's impossible to do it otherwise - we missed that change.

Faulty logic also was presented with `cancelAnimationFrame`, which couldn't
clear any timers since `raf` scheduler didn't define new `timerId` value.

Because that change was so subtle, apparently no user noticed it proving
that both `cancelAnimationFrame` and `clearInterval` code paths are redundant.

Since `cancelAnimationFrame` didn't work properly and rAF is and was a primary
used code path, plus the same approach is used in other popular animation libs.

Therefore those code paths were removed.

These changes also replace two different functions which schedule the animation
with one, which checks what type of logic should be used and executes it
appropriatley, but for secondary path it now uses `setTimeout` making it more
consistent with rAF path.

Since ticks are happening globally we also don't require to listen
`visibilitychange` event.

It also changes the way how first call is scheduled so execution of
animation will not happen twice in one frame.

No new tests were not introduced, since now `setTimeout` logic should be
equivalent to the rAF one, but one test was changed since now we actually
execute animation at the first tick.

Fixes gh-3434
Closes gh-3559
2017-03-06 19:17:14 +01:00
karan-96
ac9e301664 Core: Deprecate jQuery.nodeName
Fixes gh-3475
Closes gh-3505
2017-03-01 11:48:11 +01:00
南漂一卒
3e3b09d68d Traversing: $.fn.contents() supports HTMLTemplateElement
Fixes gh-3436
Closes gh-3462
2017-01-29 23:32:15 +01:00
Alex Padilla
5f35b5b406 Event: Add radio click triggering tests
Ref b442abacbb
Ref gh-3423
2017-01-19 17:27:35 -05:00
Richard Gibson
3c89329cb2 Effects: Resolve issues revealed by recent Callbacks fix
Notify full progress before resolving empty animations
Register animation callbacks before their ticker
Remove the right timer when immediately-done animations spawn more

Ref 9d822bc1c1
Fixes gh-3502
Fixes gh-3503
Closes gh-3496
2017-01-16 10:18:49 -08:00
Richard Gibson
efdb8a46e4 Manipulation: Restrict the tbody search to child nodes
For performance, use a querySelectorAll path instead of Javascript iteration.
http://codepen.io/anon/pen/vywJjx?editors=1010

Fixes gh-3439
Closes gh-3463
2017-01-09 11:37:12 -08:00
Richard Gibson
9d822bc1c1 Callbacks: Prevent add() from unlocking with-memory lists
Fixes gh-3469
Closes gh-3470
2017-01-09 11:33:39 -08:00
Richard Gibson
14b393d0d6 Tests: Update the loader so test pages always get jQuery
Pages used for iframe tests will now successfully load jQuery, even when
opened directly in the browser.

Closes gh-3489
2017-01-09 11:23:47 -08:00
David Broder-Rodgers
bd9145fa15 Tests: Added tests for symbol-separated tag names
Fixes gh-2006
Closes gh-3473
2016-12-29 15:02:12 -05:00
Richard Gibson
8cb4cd71ef Build: Use valid ecmaVersion
Fixes Node smoke tests

Ref gh-3385
Closes gh-3460
2016-12-19 11:58:48 -05:00
Michał Gołębiowski
cbc8638c38 Build: ESLint setup improvements
1. Use the short name of the preset in the config.
2. Run ESLint first on non-minified files.
3. Explicitly specify environments in every config file (those settings cascade
which means we've been assuming a Node.js environment where we shouldn't have).
2016-12-19 02:07:03 +01:00
Richard Gibson
5d79c64663 Deferred: Stop inventing jQuery.when() resolution values
Fixes gh-3442
Closes gh-3445
2016-12-16 11:45:35 -05:00