@workInProgress @ngdoc overview @name Tutorial: Step 9 @description
| {@link tutorial.step_00 Previous} | {@link http://angular.github.com/angular-phonecat/step-9/app Live Demo } | {@link tutorial Tutorial Home} | {@link https://github.com/angular/angular-phonecat/compare/step-8...step-9 Code Diff} | {@link tutorial.step_00 Next} |
... ...In the phone details template, we employ our filter for angular expressions whose values are "true" or "false"; `{{ [phone_feature] | checkmark }}`: __`app/partials/phone-detail.html`:__
![]()
{{phone.name}}
{{phone.description}}
...
angular.filter('checkmark', function(input) {
return input ? '\u2713' : '\u2718';
});
__`test/unit/filtersSpec.js`:__ (New)
describe('checkmark filter', function() {
it('should convert boolean values to unicode checkmark or cross', function() {
expect(angular.filter.checkmark(true)).toBe('\u2713');
expect(angular.filter.checkmark(false)).toBe('\u2718');
});
})
## Discussion:
* This example shows how easy it is to roll your own filters for displaying data. As explained in
the "Writing your own Filters" section of the {@link angular.filter angular.filter} page, you
simply register your custom filter function on to the `angular.filter` function.
* In this example, our filter name is "checkmark"; our input is either "true" or "false", and we
return one of two unicode characters we have chosen to represent true or false (`\u2713` and
`\u2718`).
* We created a new unit test to verify that our custom filter converts boolean values to unicode
characters.
| {@link tutorial.step_00 Previous} | {@link http://angular.github.com/angular-phonecat/step-9/app Live Demo } | {@link tutorial Tutorial Home} | {@link https://github.com/angular/angular-phonecat/compare/step-8...step-9 Code Diff} | {@link tutorial.step_00 Next} |