diff --git a/src/deferred.js b/src/deferred.js index 69887b22..b9346443 100644 --- a/src/deferred.js +++ b/src/deferred.js @@ -54,3 +54,5 @@ jQuery.Deferred = function( func ) { return deferred; }; +// Preserve handler of uncaught exceptions in promise chains +jQuery.Deferred.exceptionHook = oldDeferred.exceptionHook; diff --git a/test/deferred.js b/test/deferred.js index 1b903080..5663316a 100644 --- a/test/deferred.js +++ b/test/deferred.js @@ -1,6 +1,13 @@ QUnit.module( "deferred" ); +QUnit.test( "jQuery.Deferred.exceptionHook", function( assert ) { + assert.expect( 1 ); + + // Make sure our shimming didn't clobber the default hook + assert.ok ( typeof jQuery.Deferred.exceptionHook === "function", "hook is present" ); +} ); + QUnit.test( ".pipe() warnings", function( assert ) { assert.expect( 4 );