diff options
| -rw-r--r-- | src/Angular.js | 4 | ||||
| -rw-r--r-- | test/ng/directive/ngShowHideSpec.js | 10 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/Angular.js b/src/Angular.js index 386682a3..11ce5cf5 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -959,7 +959,9 @@ function fromJson(json) { function toBoolean(value) { - if (value && value.length !== 0) { + if (typeof value === 'function') { + value = true; + } else if (value && value.length !== 0) { var v = lowercase("" + value); value = !(v == 'f' || v == '0' || v == 'false' || v == 'no' || v == 'n' || v == '[]'); } else { diff --git a/test/ng/directive/ngShowHideSpec.js b/test/ng/directive/ngShowHideSpec.js index 4a8e55da..30397c4c 100644 --- a/test/ng/directive/ngShowHideSpec.js +++ b/test/ng/directive/ngShowHideSpec.js @@ -20,6 +20,16 @@ describe('ngShow / ngHide', function() { })); + // https://github.com/angular/angular.js/issues/5414 + it('should show if the expression is a function with a no arguments', inject(function($rootScope, $compile) { + element = jqLite('<div ng-show="exp"></div>'); + element = $compile(element)($rootScope); + $rootScope.exp = function(){}; + $rootScope.$digest(); + expect(element).toBeShown(); + })); + + it('should make hidden element visible', inject(function($rootScope, $compile) { element = jqLite('<div class="ng-hide" ng-show="exp"></div>'); element = $compile(element)($rootScope); |
