describe('$ionSlide controller', function() { beforeEach(module('ionic')); function makeCtrl() { var ctrl; inject(function($rootScope, $controller) { ctrl = $controller('$ionSlide', { $scope: $rootScope.$new(), $element: angular.element('
') }); }); return ctrl; } it('#onAdded()', function() { var ctrl = makeCtrl(); expect(ctrl.state).toBeFalsy(); ctrl.onAdded(parent); expect(ctrl.state).toBe('detached'); }); it('#onRemoved()', function() { var ctrl = makeCtrl(); expect(ctrl.state).toBeFalsy(); ctrl.onRemoved(); expect(ctrl.state).toBe('detached'); }); it('#setState()', function() { var ctrl = makeCtrl(); ctrl.onAdded(); ctrl.setState('selected'); expect(ctrl.element.attr('slide-state')).toBe('selected'); expect(ctrl.element.attr('slide-previous-state')).toBe('detached'); ctrl.setState('previous'); expect(ctrl.element.attr('slide-state')).toBe('previous'); expect(ctrl.element.attr('slide-previous-state')).toBe('selected'); ctrl.setState('detached'); expect(ctrl.element.attr('slide-state')).toBe('detached'); expect(ctrl.element.attr('slide-previous-state')).toBe('previous'); ctrl.setState('next'); expect(ctrl.element.attr('slide-state')).toBe('next'); expect(ctrl.element.attr('slide-previous-state')).toBe('detached'); }); });