Как протестировать фильтр, объявленный в шаблоне?
Нужно дописать сюда тест https://github.com/angular-translate...ec.js#L85-L129
Проверяется эта правка https://github.com/tamtakoe/angular-...25ac1174683e6b Суть в том, что в выражении {{STR | translate: '{val:demo.count}'}} demo.count не вычислялась (возвращалась пустота) После исправления стал передавать this (= scope) в фильтр и интерполяция заработала (стало возвращаться значение demo.count). Как протестировать такую штуку? |
Возможно тебе поможет вот такой примерчик
describe('Test', function(){ var $ = angular.element, $compile, $rootScope; beforeEach(module('pascalprecht.translate', function ($translateProvider) { $translateProvider .translations('en', { 'TRANSLATION_ID_3': 'Lorem Ipsum {{value + value}}' }) .preferredLanguage('en'); })); beforeEach(inject(function(_$compile_, _$rootScope_){ $compile = _$compile_; $rootScope = _$rootScope_; } ) ); describe('custom', function(){ var elem, $scope; beforeEach(function(){ elem = $("<div>{{STR | translate: '{val:demo.count}' }}</div>"); $scope = $rootScope.new(); $compile(elem)($scope); $scope.$digest(); }); afterEach(function(){ $scope.destroy(); }); it('to do ...', function(){ $scope.STR = 'TRANSLATION_ID_3'; $scope.demo = { count: '3' }; $scope.$digest(); expect(elem[0].innerText).toBe('Lorem Ipsum 33'); }); }); }); |
|
Часовой пояс GMT +3, время: 02:54. |