From d92f1822bdd173173ce92991c99db8ef061e497d Mon Sep 17 00:00:00 2001 From: MaceWindu Date: Wed, 26 Mar 2014 21:03:19 +0100 Subject: [PATCH] fix tests, add additional overrides to deferred methods --- jquery/jquery-tests.ts | 9 ++++++--- jquery/jquery.d.ts | 9 +++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/jquery/jquery-tests.ts b/jquery/jquery-tests.ts index 37e03aa884..973818f5ae 100644 --- a/jquery/jquery-tests.ts +++ b/jquery/jquery-tests.ts @@ -3164,8 +3164,11 @@ $.ajax({ function test_deferred() { - function returnPromise(): JQueryPromise<(data: { MyString: string; MyNumber: number; }, textStatus: string, jqXHR: JQueryXHR) => any> { - return $.ajax("test.php"); + function returnPromise(): JQueryPromise<{ MyString: string; MyNumber: number; }> { + return $.Deferred<{ MyString: string; MyNumber: number; }>().resolve({ + MyString: "MyString", + MyNumber: 5 + }, "failed", null); } var x = returnPromise(); x.done((data, textStatus, jqXHR) => { @@ -3190,7 +3193,7 @@ function test_deferred() { function fn3(n) { $("p").append(n + " 3 " + n); } - var dfd = $.Deferred(); + var dfd = $.Deferred(); dfd .done([fn1, fn2], fn3, [fn2, fn1]) .done(function (n) { diff --git a/jquery/jquery.d.ts b/jquery/jquery.d.ts index 07a4062d9d..eadd8a492d 100644 --- a/jquery/jquery.d.ts +++ b/jquery/jquery.d.ts @@ -433,6 +433,9 @@ interface JQueryDeferred extends JQueryPromise { * @param alwaysCallbacks2 Optional additional functions, or arrays of functions, that are called when the Deferred is resolved or rejected. */ always(alwaysCallbacks1?: JQueryPromiseCallback, ...alwaysCallbacks2: JQueryPromiseCallback[]): JQueryDeferred; + always(alwaysCallbacks1?: JQueryPromiseCallback[], ...alwaysCallbacks2: JQueryPromiseCallback[]): JQueryDeferred; + always(alwaysCallbacks1?: JQueryPromiseCallback, ...alwaysCallbacks2: any[]): JQueryDeferred; + always(alwaysCallbacks1?: JQueryPromiseCallback[], ...alwaysCallbacks2: any[]): JQueryDeferred; /** * Add handlers to be called when the Deferred object is resolved. * @@ -440,6 +443,9 @@ interface JQueryDeferred extends JQueryPromise { * @param doneCallbacks2 Optional additional functions, or arrays of functions, that are called when the Deferred is resolved. */ done(doneCallbacks1?: JQueryPromiseCallback, ...doneCallbacks2: JQueryPromiseCallback[]): JQueryDeferred; + done(doneCallbacks1?: JQueryPromiseCallback[], ...doneCallbacks2: JQueryPromiseCallback[]): JQueryDeferred; + done(doneCallbacks1?: JQueryPromiseCallback, ...doneCallbacks2: any[]): JQueryDeferred; + done(doneCallbacks1?: JQueryPromiseCallback[], ...doneCallbacks2: any[]): JQueryDeferred; /** * Add handlers to be called when the Deferred object is rejected. * @@ -447,6 +453,9 @@ interface JQueryDeferred extends JQueryPromise { * @param failCallbacks2 Optional additional functions, or arrays of functions, that are called when the Deferred is rejected. */ fail(failCallbacks1?: JQueryPromiseCallback, ...failCallbacks2: JQueryPromiseCallback[]): JQueryDeferred; + fail(failCallbacks1?: JQueryPromiseCallback[], ...failCallbacks2: JQueryPromiseCallback[]): JQueryDeferred; + fail(failCallbacks1?: JQueryPromiseCallback, ...failCallbacks2: any[]): JQueryDeferred; + fail(failCallbacks1?: JQueryPromiseCallback[], ...failCallbacks2: any[]): JQueryDeferred; /** * Add handlers to be called when the Deferred object generates progress notifications. *