| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | import {HtmlParser} from '@angular/compiler/src/html_parser'; | 
					
						
							| 
									
										
										
										
											2016-06-08 16:38:52 -07:00
										 |  |  | import {PreparsedElement, PreparsedElementType, preparseElement} from '@angular/compiler/src/template_preparser'; | 
					
						
							|  |  |  | import {afterEach, beforeEach, beforeEachProviders, ddescribe, describe, expect, iit, inject, it, xdescribe, xit} from '@angular/core/testing/testing_internal'; | 
					
						
							| 
									
										
										
										
											2015-09-18 10:33:23 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | export function main() { | 
					
						
							|  |  |  |   describe('preparseElement', () => { | 
					
						
							| 
									
										
										
										
											2016-06-08 15:45:15 -07:00
										 |  |  |     var htmlParser: any /** TODO #9100 */; | 
					
						
							| 
									
										
										
										
											2015-09-18 10:33:23 -07:00
										 |  |  |     beforeEach(inject([HtmlParser], (_htmlParser: HtmlParser) => { htmlParser = _htmlParser; })); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function preparse(html: string): PreparsedElement { | 
					
						
							| 
									
										
										
										
											2016-03-23 14:15:05 -07:00
										 |  |  |       return preparseElement(htmlParser.parse(html, 'TestComp').rootNodes[0]); | 
					
						
							| 
									
										
										
										
											2015-09-18 10:33:23 -07:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     it('should detect script elements', inject([HtmlParser], (htmlParser: HtmlParser) => { | 
					
						
							|  |  |  |          expect(preparse('<script>').type).toBe(PreparsedElementType.SCRIPT); | 
					
						
							|  |  |  |        })); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     it('should detect style elements', inject([HtmlParser], (htmlParser: HtmlParser) => { | 
					
						
							|  |  |  |          expect(preparse('<style>').type).toBe(PreparsedElementType.STYLE); | 
					
						
							|  |  |  |        })); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     it('should detect stylesheet elements', inject([HtmlParser], (htmlParser: HtmlParser) => { | 
					
						
							|  |  |  |          expect(preparse('<link rel="stylesheet">').type).toBe(PreparsedElementType.STYLESHEET); | 
					
						
							|  |  |  |          expect(preparse('<link rel="stylesheet" href="someUrl">').hrefAttr).toEqual('someUrl'); | 
					
						
							|  |  |  |          expect(preparse('<link rel="someRel">').type).toBe(PreparsedElementType.OTHER); | 
					
						
							|  |  |  |        })); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     it('should detect ng-content elements', inject([HtmlParser], (htmlParser: HtmlParser) => { | 
					
						
							|  |  |  |          expect(preparse('<ng-content>').type).toBe(PreparsedElementType.NG_CONTENT); | 
					
						
							|  |  |  |        })); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     it('should normalize ng-content.select attribute', | 
					
						
							|  |  |  |        inject([HtmlParser], (htmlParser: HtmlParser) => { | 
					
						
							|  |  |  |          expect(preparse('<ng-content>').selectAttr).toEqual('*'); | 
					
						
							|  |  |  |          expect(preparse('<ng-content select>').selectAttr).toEqual('*'); | 
					
						
							|  |  |  |          expect(preparse('<ng-content select="*">').selectAttr).toEqual('*'); | 
					
						
							|  |  |  |        })); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-23 14:15:05 -07:00
										 |  |  |     it('should extract ngProjectAs value', () => { | 
					
						
							|  |  |  |       expect(preparse('<p ngProjectAs="el[attr].class"></p>').projectAs).toEqual('el[attr].class'); | 
					
						
							|  |  |  |     }); | 
					
						
							| 
									
										
										
										
											2015-09-18 10:33:23 -07:00
										 |  |  |   }); | 
					
						
							| 
									
										
										
										
											2015-10-02 07:57:29 -07:00
										 |  |  | } |