这是我的app.js模块部分 角
.module('flickrNgSpaApp', [
'ngAnimate',
'ngCookies',
'ngResource',
'ngRoute',
'ngSanitize',
'ngTouch',
'ngMock'
])
我正在使用的过滤器(flickrNgSpaApp)
'use strict';
angular.module('flickrNgSpaApp')
.filter('flickrURL', function () {
return function (input, dimension) {
var url = 'http://farm{farm-id}.staticflickr.com/{server-id}/{id}_{secret}_[mstzb].jpg';
return url.replace('{farm-id}', input.farm)
.replace('{server-id}', input.server)
.replace('{id}', input.id)
.replace('{secret}', input.secret)
.replace('[mstzb]', dimension);
};
});
过滤器单元测试由于某种原因失败:)
'use strict';
describe('Filter: flickrURLFilter', function () {
var $filter;
beforeEach(function(){module('flickrNgSpaApp')});
beforeEach(inject(function (_$filter_) {
$filter=_$filter_;
}));
it('returns null',function(){
var input={
farm:"1",
server:"2",
id:"3",
secret:"4",
dimension:"q"
};
expect($filter('flickrURLFilter')(input, 'q')).not.toEqual(0);
})
});
和错误:
Chrome 43.0.2357 (Windows 8.1 0.0.0) Filter: flickrURLFilter returns null FAILED
Error: [$injector:unpr] Unknown provider: flickrURLFilterFilterProvider
<- flickrURLFilterFilter
任何人都可以看看并给我任何提示......我将不胜感激! :)
答案 0 :(得分:1)
使用过滤器的名称,并将$filter('flickrURLFilter')
替换为$filter('flickrURL')
。