diff --git a/src/modal/modal.js b/src/modal/modal.js index ca9a939455..84fc6bec86 100644 --- a/src/modal/modal.js +++ b/src/modal/modal.js @@ -606,6 +606,8 @@ angular.module('ui.bootstrap.modal', []) promisesArr.push($q.when($injector.invoke(value))); } else if (angular.isString(value)) { promisesArr.push($q.when($injector.get(value))); + } else { + promisesArr.push($q.when(value)); } }); return promisesArr; diff --git a/src/modal/test/modal.spec.js b/src/modal/test/modal.spec.js index db0d40158b..647fc748ab 100644 --- a/src/modal/test/modal.spec.js +++ b/src/modal/test/modal.spec.js @@ -615,6 +615,19 @@ describe('$modal', function () { expect($document).toHaveModalOpenWithContent('Content from resolve', 'div'); }); + it('should resolve promises as promises', function() { + open({ + controller: function($scope, $foo) { + $scope.value = 'Content from resolve'; + expect($foo).toBe('bar'); + }, + resolve: { + $foo: $q.when('bar') + }, + template: '