describe('Ionic Content directive', function() { var compile, scope; beforeEach(module('ionic')); beforeEach(inject(function($compile, $rootScope, $timeout, $window) { compile = $compile; scope = $rootScope; timeout = $timeout; window = $window; ionic.Platform.setPlatform('Android'); })); it('Has $ionicScroll controller', function() { var element = compile('')(scope); expect(element.controller('$ionicScroll').element).toBe(element[0]); }); it('Has content class', function() { var element = compile('')(scope); expect(element.hasClass('scroll-content')).toBe(true); }); it('should add padding classname', function() { var element = compile('')(scope); var scrollElement = element.find('.scroll'); expect(scrollElement.hasClass('padding')).toEqual(false); element.scope().$apply('shouldPad = true'); expect(scrollElement.hasClass('padding')).toEqual(true); element.scope().$apply('shouldPad = false'); expect(scrollElement.hasClass('padding')).toEqual(false); }); it('Should set start x and y', function() { var element = compile('')(scope); scope.$apply(); var scrollView = scope.$ionicScrollController.scrollView; var vals = scrollView.getValues(); expect(vals.left).toBe(100); expect(vals.top).toBe(300); }); it('should pass attr.controllerBind ionicScrollController', function() { var element = compile('')(scope); scope.$apply(); expect(scope.scrolly).toBe(element.controller('$ionicScroll')); }); }); /* Tests #555 */ describe('Ionic Content Directive scoping', function() { beforeEach(module('ionic', function($controllerProvider) { $controllerProvider.register('ContentTestCtrl', function($scope){ this.$scope = $scope; }); })); it('should have same scope as content', inject(function($compile, $rootScope) { var element = $compile('' + '
' + '
')($rootScope.$new()); var contentScope = element.scope(); var ctrl = element.data('$ngControllerController'); expect(contentScope.myForm).toBeTruthy(); expect(ctrl.$scope.myForm).toBeTruthy(); })); });