Filters can be called in HTML template binding {{myString | capitalize}}, but to gain access to it in the browser we have an excellent option. Consider this:
$filter('filter')(array, expression, comparator)
per Angular $filter documentation
Realizing a filter can be called via the$filter
service, you can thus access, call and test the capitalize
filter this way:
angular.element(document.body).injector().get('$filter')('capitalize')('capitalization test')
The result in the console? "Capitalization Test"
What about a filter with more than one input? Just add the parameter, for instance if the capitalize
filter had a second boolean parameter to restrict capitalization to the first word only:
angular.element(document.body).injector().get('$filter')('capitalize')('capitalization test', true)
OR
angular.element(document.body).injector().get('$filter')('capitalize').apply(null, ['capitalization test', true])
Kudos to this SO article and related blog entries for posting on accessing services from the console: access service from console.