Michał Gołębiowski-Owczarek
cca7118658
Deferred: Rename getStackHook
to getErrorHook
(3.x version)
...
Rename `jQuery.Deferred.getStackHook` to `jQuery.Deferred.getErrorHook`
to indicate passing an error instance is usually a better choice - it
works with source maps while a raw stack generally does not.
In jQuery `3.7.0`, we'll keep both names, marking the old one as
deprecated. In jQuery `4.0.0` we'll just keep the new one. This
change implements the `3.7.0` version; PR gh-5211 implements
the `4.0.0` one.
Fixes gh-5201
Closes gh-5212
Ref gh-5211
2023-03-14 22:32:57 +01:00
Michał Gołębiowski-Owczarek
bc16512879
Tests: Exclude tests based on compilation flags, not API presence (3.x version)
...
Introduces a new test API, `includesModule`. The method returns whether
a particular module like "ajax" or "deprecated" is included in the current
jQuery build; it handles the slim build as well. The util was created so that
we don't treat presence of particular APIs to decide whether to run a test as
then if we accidentally remove an API, the tests would still not fail.
Closes gh-5071
Fixes gh-5069
Ref gh-5046
(partially cherry picked from commit fae5fee8b4
)
2022-07-12 17:12:27 +02:00
Michał Gołębiowski-Owczarek
d525ae3416
Build:Tests: Fix custom build tests, verify on Travis; name Travis jobs
...
This commit fixes unit tests for the following builds:
1. The no-deprecated build: `custom:-deprecated`
2. The current slim build: `custom:-ajax,-effects`
3. The 4.0 (#4553 ) slim build: `custom:-ajax,-callbacks,-deferred,-effects`
It also adds separate Travis jobs for the no-deprecated & slim builds.
Apart from that, add intuitive names to Travis jobs. Otherwise it's hard to see
at a glance that a particular job is running on Firefox ESR, for example.
Ref gh-4577
Ref gh-4596
Closes gh-4600
2020-01-27 18:54:47 +01:00
abnud1
c349818742
Build: Update test code for compatibility with QUnit 2.x ( #4297 )
...
Also, run `grunt npmcopy` to sync the "external" directory with dependencies
from package.json. For example, the Sinon library version didn't match.
Ref gh-4234
Closes gh-4297
2019-02-18 19:03:26 +01:00
Michał Gołębiowski-Owczarek
4a2bcc27f9
Tests: Fix Android 4.0 Deferred tests
...
Closes gh-3967
2018-02-12 20:24:58 +01:00
Jason Bedard
1ea092a54b
Core: deprecate jQuery.type
...
Fixes gh-3605
Close gh-3895
2018-01-16 10:39:08 -05:00
Jason Bedard
3d732cca6b
Core: deprecate jQuery.isFunction
...
Fixes gh-3609
2018-01-15 09:26:19 -08: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
5d79c64663
Deferred: Stop inventing jQuery.when() resolution values
...
Fixes gh-3442
Closes gh-3445
2016-12-16 11:45:35 -05:00
Oleg Gaidarenko
58c6ca9822
Build: ESLint details
...
Use eslint pragmas, fix new errors, etc
Closes gh-3148
2016-06-11 10:41:33 +03:00
Michał Gołębiowski
d5dae259eb
Deferred: Propagate progress correctly from unwrapped promises
...
Progress parameters are now correctly propagated from a deferred to which
another deferred resolved unwrapping it.
Thanks to @gibson042 for the report and a clear description of the problem
and the needed fix.
Fixes gh-3062
Closes gh-3150
2016-06-09 14:53:34 +02:00
Dave Methvin
07c11c03cc
Deferred: Give better stack diagnostics on exceptions
...
Ref gh-2736
The exception stack has the name of the immediately outer function where the
exception occurred, which can be very handy for tracing errors. Since we already
have the exception object we might as well use it.
2016-05-11 20:21:04 -04:00
Richard Gibson
de71e9755f
Deferred: Make jQuery.when synchronous when possible
...
Closes gh-3102
Fixes gh-3100
Closes gh-3105
2016-05-09 12:14:22 -04:00
Richard Gibson
356a3bccb0
Deferred: Separate the two paths in jQuery.when
...
Single- and no-argument calls act like Promise.resolve.
Multi-argument calls act like Promise.all.
Fixes gh-3029
Closes gh-3059
2016-05-02 12:30:31 -04:00
Richard Gibson
7f1e59343b
Deferred: Provide explicit undefined context for jQuery.when raw casts
...
Fixes gh-3082
Closes gh-3084
2016-04-27 15:33:12 -04:00
Richard Gibson
76084372c2
Deferred: Remove default callback context
...
Employs strict mode to simplify Deferred callback context handling.
Fixes gh-3060
Closes gh-3061
2016-04-23 00:30:48 -04:00
Michał Gołębiowski
6072d150d6
Docs: Update support comments to follow the new syntax
...
The changes follow the spec proposed in:
https://github.com/jquery/contribute.jquery.org/issues/95#issuecomment-69379197
2016-03-30 23:45:17 +02:00
Michał Gołębiowski
5c01cb1cc4
Tests: Fix Deferred tests in Android 5.0's stock Chrome browser & Yandex.Browser
...
Some Chrome versions newer than 30 but older than 42 display the "undefined is
not a function" error, not mentioning the function name. This has been fixed
in Chrome 42. Relax two tests to allow for this divergence in older Chromoiums.
This affects our Android 5.0 & Yandex.Browser testing.
2016-01-20 13:54:31 +01:00
Dave Methvin
36a7cf9b1e
Deferred: Warn on exceptions that are likely programming errors
...
Fixes gh-2736
Closes gh-2737
2016-01-13 12:39:58 -05:00
Dave Methvin
bdf1b8f317
Deferred: Remove undocumented progress notifications in $.when
...
Fixes gh-2710
Closes gh-2816
2016-01-13 12:21:17 -05:00
Timmy Willison
78b9eac119
Deferred: syncronize single and multiple target handling in $.when
...
Fixes gh-2546
Fixes gh-2018
Close gh-2707
2015-11-13 11:16:26 -05:00
Oleg Gaidarenko
c8d15a2f9f
Tests: further improvements QUnit 2.0 migration
...
* Remove QUnit jshint globals
* Extend QUnit.assert methods
* Use assert.async instead of start/stop/done
Ref b930d14ce6
2015-09-08 04:06:20 +03:00
Oleg Gaidarenko
10fdad742a
Build: Update jscs and lint files
...
Fixes gh-2056
2015-09-07 20:03:50 +03:00
Oleg Gaidarenko
b930d14ce6
Tests: partially use new qunit interface
...
http://qunitjs.com/upgrade-guide-2.x/
For most of the boring work was used
https://github.com/apsdehal/qunit-migrate package
However, it can't update local qunit helpers, plus in some places
old QUnit.asyncTest signature is still used
Fixes gh-2540
2015-08-16 09:02:01 +03:00
Michał Gołębiowski
1c59b308d2
Build: Acknowledge Android 2.3 is not ES5-compatible
...
Android 2.3 chokes on unquoted reserved words being used as property names
which was making Deferred tests not run.
Acknowledge the sad fact that Android 2.3 is not ES5-compliant browser
and enable the "es3" option in JSHint config.
Fixes gh-2478
Closes gh-2481
2015-07-20 18:37:26 +02:00
Timmy Willison
84ccf2606c
Deferred: add .catch handler
...
Fixes gh-2102
2015-07-06 10:47:30 -04:00
Richard Gibson
002240a6eb
Deferred: Always handle progress callbacks before done/fail
...
Fixes gh-2013
Fixes gh-2010
Closes gh-2210
2015-04-22 15:24:37 -04:00
Richard Gibson
555a50d340
Deferred: Backwards-compatible standards interoperability
...
Fixes gh-1722
Closes gh-1996
2015-03-20 02:00:17 -04:00
Nicolas HENRY
ab20d9d24f
Deferred: Fix $.when with resolved deferred and progress callbacks
...
Fixes gh-1894
Closes gh-1915
2014-12-25 15:39:28 +03:00
Daniel Herman
584a4af9c8
No ticket: add assertions for jQuery.when( array ). Close gh-1312.
2013-08-19 18:25:42 +02:00
Timmy Willison
0fa52c11cb
Update jshintrc to conform to new style guide. Conform to onevar and unused in tests. Fixes #13755 .
2013-04-09 11:59:31 -04:00
nanto_vi
e7fdda9819
Propagete context of returned deferred object in Deferred.then(). Fixes #13160
2013-01-07 02:49:15 +09:00
jaubourg
23d7cf0488
Deferred: .resolve(), .reject() and .notify() now set the callback context to the promise instance rather than the deferred instance ; .then() has also been amended. Fixes #11405 .
2012-12-07 15:14:12 +01:00
Erick Ruiz de Chavez
efc2d8b1a6
Fixing style for deferred.js unit tests. Close gh-973.
...
Close jquery/2012-dev-summit/#56
2012-10-16 08:24:18 -04:00
jaubourg
74cdd78497
deferred.promise(obj) should work with non-objects. Fixes #12521 . Much needed unit tests added!
2012-09-13 15:44:12 +02:00
Chad Killingsworth
de9bed319e
Make unit tests friendly to Closure Compiler. Closes gh-845.
...
Conflicts:
test/unit/effects.js
test/unit/offset.js
2012-07-05 15:52:42 -04:00
Rick Waldron
7ff3da186c
Unit tests are linted and passing.
2012-06-21 15:30:24 -04:00
jaubourg
f93a2f569d
Preserves context objects when multiple Deferreds are passed to $.when(). Context is an array containing the original contexts in order. When non-observable value is given, associated context is undefined. In case only a single non-observable value is given, context is the global object (thanks so much Function.prototype.apply!). Fixes #11749 .
2012-05-12 21:41:39 +02:00
Dave Methvin
c5fda2945c
Fix #11736 . Remove deprecated Deferred.isResolved/isRejected.
2012-05-11 15:02:18 -04:00
jaubourg
a41f240674
Makes Deferred implementation truly Promise/A compliant. Unit tests amended. Actually few changes required in jQuery's own source and we gained 8 bytes minified gzipped \o/.
2012-04-02 01:29:39 +02:00
jaubourg
2a9f0681de
Have Deferred.always return the object onto which it is currently attached to enable true chainability. Fixes #10723 . Unit tests added.
2011-11-09 01:02:29 +01:00
Mike Sherov
f35ba5e699
Fix #10691 . Remove all instances of equals() and same(), as these are deprecated in QUnit.
2011-11-06 15:27:42 -05:00
jaubourg
d29182e8d0
Removes isPending and introduces state as a means to retrieve the Deferred/Promise state. Unit tests amended.
2011-10-11 20:23:56 -04:00
jaubourg
749d32a290
isProgressing becomes isPending. Unit tests added.
2011-10-04 12:08:46 -04:00
jaubourg
4092e3d275
$.Callbacks, $.Topic and notify/progress on $.Deferred.
2011-09-19 15:42:30 -04:00
jaubourg
139135a98a
Fixes #9446 . Context is properly propagated using pipe. If context was the original deferred, then context is updated to next deferred in the chain. Unit tests added.
2011-07-01 01:51:50 +02:00
jaubourg
8c13cfa805
Fixes #9104 . Returning null or undefined in a pipe callback shouldn't end up throwing an exception. Silly, silly, me.
2011-05-09 10:01:20 +02:00
jaubourg
7a1c6beab0
Renames chain as pipe.
2011-04-08 17:35:08 +02:00
jaubourg
bb99899ca0
Adds always and chain methods to deferreds.
2011-04-07 05:49:32 +02:00
jaubourg
2d0bc7ce72
Moves Deferred-related code into a separate module. Context handling has been simplified in _Deferred.resolve and jQuery.when has been refactored for clarity (and minor optimization).
2011-03-03 19:38:06 +01:00