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); | 
