aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Angular.js4
-rw-r--r--test/ng/directive/ngShowHideSpec.js10
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);