Я пытаюсь написать тест жасмина для моего фильтра. Вот мой фильтр:
angular.module('CPSCore.Filters').filter('TextToHtmlSafe', ['$sce', function ($sce)
{
return function (text)
{
if (!text)
return text;
var htmlText = text.replace(/\<br \/\>/g, '\n');
htmlText = htmlText.replace(/\<br\/\>/g, '\n');
htmlText = htmlText.replace(/\<br\>/g, '\n');
htmlText = htmlText.replace(/\</g, '< ');
htmlText = htmlText.replace(/\&/g, '& ');
htmlText = htmlText.replace(/\n/g, '<br />');
return $sce.trustAsHtml(htmlText);
};
}]);
вот мой тест на жасмин:
describe('CPSCore.Filters', function() {
var TextToHtmlSafeFilter, $sce;
beforeEach(module('CPSCore.Filters'));
beforeEach(inject(function (_$sce_, $filter) {
$sce = _$sce_;
TextToHtmlSafeFilter = $filter('TextToHtmlSafe');
}));
it('should replace \n with <br />', function () {
expect($sce.getTrustedHtml(TextToHtmlSafeFilter('testing\n'))).toEqual('testing<br />');
});
});
Я получаю эту ошибку в Karma при запуске теста:
Ошибка: Неизвестный поставщик: $ sceProvider <- $ sce
может ли кто-нибудь сказать мне, что я делаю неправильно?
Исправлена проблема, которая была в моем файле karma.config. Я забыл добавить новую угловую версию в файл конфигурации.
Очевидно, что модуль не работает нормально. Вы должны создать модуль с пустым списком зависимостей!
var app = angular.module('CPSCore.Filters', []);