diff --git a/angularjs/angular-tests.ts b/angularjs/angular-tests.ts index 4ce3116985..90f77fd7c2 100644 --- a/angularjs/angular-tests.ts +++ b/angularjs/angular-tests.ts @@ -94,6 +94,7 @@ module HttpAndRegularPromiseTests { person: Person; theAnswer: number; letters: string[]; + snack: string; } var someController: Function = ($scope: SomeControllerScope, $http: ng.IHttpService, $q: ng.IQService) => { @@ -132,6 +133,12 @@ module HttpAndRegularPromiseTests { cPromise.then((letters: string[]) => { $scope.letters = letters; }); + + // When $q.when is passed an IPromise, it returns an IPromise + var dPromise: ng.IPromise = $q.when($q.when("ALBATROSS!")); + dPromise.then((snack: string) => { + $scope.snack = snack; + }); } // Test that we can pass around a type-checked success/error Promise Callback diff --git a/angularjs/angular.d.ts b/angularjs/angular.d.ts index b369a271f8..b7a258be68 100755 --- a/angularjs/angular.d.ts +++ b/angularjs/angular.d.ts @@ -455,6 +455,7 @@ declare module ng { all(promises: {[id: string]: IPromise;}): IPromise<{[id: string]: any}>; defer(): IDeferred; reject(reason?: any): IPromise; + when(value: IPromise): IPromise; when(value: T): IPromise; }