UNPKG

angular-material-npfixed

Version:

The Angular Material project is an implementation of Material Design in Angular.js. This project provides a set of reusable, well-tested, and accessible Material Design UI components. Angular Material is supported internally at Google by the Angular.js, M

81 lines (57 loc) 2.38 kB
describe('mdWhiteframe directive', function() { beforeEach(module('material.components.whiteframe')); function buildWhiteframe(elevation) { var element; inject(function($compile, $rootScope) { element = $compile('<div md-whiteframe="' + (elevation || '') + '">')($rootScope); $rootScope.$digest(); }); return element; } it('should default to 4dp if no attribute value is specified', function() { var element = buildWhiteframe(); expect(element).toHaveClass('md-whiteframe-4dp'); }); it('should default to 4dp if the attribute value is invalid', inject(function($log) { spyOn($log, 'warn'); var element = buildWhiteframe('999'); expect($log.warn).toHaveBeenCalled(); expect(element).toHaveClass('md-whiteframe-4dp'); })); it('should use the default dp and warn if the attribute value is to low', inject(function($log) { spyOn($log, 'warn'); var element = buildWhiteframe('-2'); expect($log.warn).toHaveBeenCalled(); expect(element).toHaveClass('md-whiteframe-4dp'); })); it('should not apply a whiteframe if the attribute value is -1', inject(function($log) { spyOn($log, 'warn'); var element = buildWhiteframe('-1'); expect($log.warn).not.toHaveBeenCalled(); expect(element).not.toHaveClass('md-whiteframe-4dp'); })); it('should apply the correct whiteframe if attribute value is valid', function() { var element = buildWhiteframe('9'); expect(element).toHaveClass('md-whiteframe-9dp'); }); it('should default to 4dp if the attribute value is a text', function() { var element = buildWhiteframe('invalid text'); expect(element).toHaveClass('md-whiteframe-4dp'); }); it('should not round a decimal number', function() { var element = buildWhiteframe('1.8'); expect(element).toHaveClass('md-whiteframe-1dp'); }); it('should interpolate the elevation value', inject(function($rootScope) { $rootScope.elevation = 6; var element = buildWhiteframe('{{elevation}}'); expect(element).toHaveClass('md-whiteframe-6dp'); $rootScope.elevation = -1; $rootScope.$digest(); expect(element).not.toHaveClass('md-whiteframe-6dp'); expect(element).not.toHaveClass('md-whiteframe-4dp'); $rootScope.elevation = 0; $rootScope.$digest(); expect(element).toHaveClass('md-whiteframe-4dp'); })); });