diff --git a/jquery/jquery-tests.ts b/jquery/jquery-tests.ts index 2f647c4d13..486df86e06 100644 --- a/jquery/jquery-tests.ts +++ b/jquery/jquery-tests.ts @@ -3344,3 +3344,30 @@ function test_deferred_promise() { } ); } + +function test_promise_then_change_type() { + function request() { + var def = $.Deferred(); + var promise = def.promise(null); + + def.rejectWith(this, new Error()); + + return promise; + } + + function count() { + var def = request(); + return def.then(data => { + try { + var count: number = parseInt(data.count, 10); + } catch (err) { + return $.Deferred().reject(err).promise(); + } + return $.Deferred().resolve(count).promise(); + }); + } + + count().done(data => { + }).fail((exception: Error) => { + }); +} \ No newline at end of file