70 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			70 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | describe('Component Style Tests', function () { | ||
|  | 
 | ||
|  |   beforeAll(function () { | ||
|  |     browser.get(''); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('scopes component styles to component view', function() { | ||
|  |     var componentH1 = element(by.css('hero-app > h1')); | ||
|  |     var externalH1 = element(by.css('body > h1')); | ||
|  | 
 | ||
|  |     expect(componentH1.getCssValue('fontWeight')).toEqual('normal'); | ||
|  |     expect(externalH1.getCssValue('fontWeight')).not.toEqual('normal'); | ||
|  |   }); | ||
|  | 
 | ||
|  | 
 | ||
|  |   it('allows styling :host element', function() { | ||
|  |     var host = element(by.css('hero-details')); | ||
|  | 
 | ||
|  |     expect(host.getCssValue('borderWidth')).toEqual('1px'); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('supports :host() in function form', function() { | ||
|  |     var host = element(by.css('hero-details')); | ||
|  | 
 | ||
|  |     host.element(by.buttonText('Activate')).click(); | ||
|  |     expect(host.getCssValue('borderWidth')).toEqual('3px'); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('allows conditional :host-context() styling', function() { | ||
|  |     var h2 = element(by.css('hero-details h2')); | ||
|  | 
 | ||
|  |     expect(h2.getCssValue('backgroundColor')).toEqual('rgba(238, 238, 255, 1)'); // #eeeeff
 | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('styles both view and content children with /deep/', function() { | ||
|  |     var viewH3 = element(by.css('hero-team h3')); | ||
|  |     var contentH3 = element(by.css('hero-controls h3')); | ||
|  | 
 | ||
|  |     expect(viewH3.getCssValue('fontStyle')).toEqual('italic'); | ||
|  |     expect(contentH3.getCssValue('fontStyle')).toEqual('italic'); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('includes styles loaded with CSS @import', function() { | ||
|  |     var host = element(by.css('hero-details')); | ||
|  | 
 | ||
|  |     expect(host.getCssValue('padding')).toEqual('10px'); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('processes template inline styles', function() { | ||
|  |     var button = element(by.css('hero-controls button')); | ||
|  |     var externalButton = element(by.css('body > button')); | ||
|  |     expect(button.getCssValue('backgroundColor')).toEqual('rgba(255, 255, 255, 1)'); // #ffffff
 | ||
|  |     expect(externalButton.getCssValue('backgroundColor')).not.toEqual('rgba(255, 255, 255, 1)'); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('processes template <link>s', function() { | ||
|  |     var li = element(by.css('hero-team li:first-child')); | ||
|  |     var externalLi = element(by.css('body > ul li')); | ||
|  | 
 | ||
|  |     expect(li.getCssValue('listStyleType')).toEqual('square'); | ||
|  |     expect(externalLi.getCssValue('listStyleType')).not.toEqual('square'); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('supports relative loading with moduleId', function() { | ||
|  |     var host = element(by.css('quest-summary')); | ||
|  |     expect(host.getCssValue('color')).toEqual('rgba(255, 255, 255, 1)'); // #ffffff
 | ||
|  |   }); | ||
|  | 
 | ||
|  | }); |