2015-06-25 4 views
0

Я пытаюсь написать тест жасмина для моего фильтра. Вот мой фильтр:

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 />');  

}); 



}); 

Я получаю эту ошибку в карму при выполнении теста:

Ошибка: Неизвестный поставщик: $ sceProvider < - $ sce

может ли кто-нибудь сказать мне, что я делаю неправильно?

+0

Вы правильно создали модуль? Вы определили 'angular.module ('CPSCore.Filters', [])' (с скобками) в вашем тесте? – Michael

+0

модуль работает нормально. тест терпит неудачу, весь код выше Я ничего не пропустил – Dritzz

ответ

0

Очевидно, что модуль не работает нормально. У вас должно быть создать модуль с пустым списком зависимостей!

var app = angular.module('CPSCore.Filters', []); 

Plunker

+0

Ваше отношение к этому сообщению на самом деле не приветствуется. Я посоветовал, что мой модуль отлично работает, что он делает, мое создание и объявление модуля выходит за рамки вышеуказанного кода. – Dritzz

0

Исправлена ​​моя проблема, которая была на самом деле в моем файле karma.config. Я забыл добавить новую угловую версию в файл конфигурации.