diff --git a/src/buttons/docs/readme.md b/src/buttons/docs/readme.md
index 9367d50f08..500bcf5306 100644
--- a/src/buttons/docs/readme.md
+++ b/src/buttons/docs/readme.md
@@ -24,6 +24,10 @@ With the buttons directive, we can make a group of buttons behave like a set of
* `uncheckable`
_(Boolean attribute)_ -
Whether a radio button can be unchecked or not.
+
+* `uib-uncheckable`
+ _(Default: null)_ -
+ An expression that evaluates to a truthy or falsy value that determines whether the `uncheckable` attribute is present
### Default settings `uibButtonConfig`
diff --git a/src/buttons/test/buttons.spec.js b/src/buttons/test/buttons.spec.js
index 1f6ee16619..6116119a8f 100644
--- a/src/buttons/test/buttons.spec.js
+++ b/src/buttons/test/buttons.spec.js
@@ -322,5 +322,19 @@ describe('buttons', function() {
expect(btns.eq(1)).not.toHaveClass('active');
});
});
+
+ describe('uibUncheckable', function() {
+ it('should set uncheckable', function() {
+ $scope.uncheckable = false;
+ var btns = compileButtons('', $scope);
+ expect(btns.eq(0).attr('uncheckable')).toBeUndefined();
+ expect(btns.eq(0).attr('uncheckable')).toBeUndefined();
+
+ $scope.uncheckable = true;
+ $scope.$digest();
+ expect(btns.eq(0).attr('uncheckable')).toBeUndefined();
+ expect(btns.eq(1).attr('uncheckable')).toBeDefined();
+ });
+ });
});
});