| 
									
										
										
										
											2017-01-26 12:42:48 -08:00
										 |  |  | /** | 
					
						
							|  |  |  |  * @license | 
					
						
							|  |  |  |  * Copyright Google Inc. All Rights Reserved. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Use of this source code is governed by an MIT-style license that can be | 
					
						
							|  |  |  |  * found in the LICENSE file at https://angular.io/license
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import * as ts from 'typescript'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import {createLanguageService} from '../src/language_service'; | 
					
						
							|  |  |  | import {TypeScriptServiceHost} from '../src/typescript_host'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import {MockTypescriptHost} from './test_utils'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | describe('service without angular', () => { | 
					
						
							| 
									
										
										
										
											2019-11-13 13:13:59 -08:00
										 |  |  |   const mockHost = new MockTypescriptHost(['/app/main.ts']); | 
					
						
							| 
									
										
										
										
											2019-10-14 15:24:04 -07:00
										 |  |  |   const service = ts.createLanguageService(mockHost); | 
					
						
							|  |  |  |   const ngHost = new TypeScriptServiceHost(mockHost, service); | 
					
						
							|  |  |  |   const ngService = createLanguageService(ngHost); | 
					
						
							| 
									
										
										
										
											2017-01-26 12:42:48 -08:00
										 |  |  |   const fileName = '/app/test.ng'; | 
					
						
							| 
									
										
										
										
											2019-10-11 13:56:33 -07:00
										 |  |  |   const position = mockHost.getLocationMarkerFor(fileName, 'h1-content').start; | 
					
						
							| 
									
										
										
										
											2017-01-26 12:42:48 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-03 20:57:39 -07:00
										 |  |  |   beforeEach(() => { | 
					
						
							|  |  |  |     mockHost.reset(); | 
					
						
							|  |  |  |   }); | 
					
						
							| 
									
										
										
										
											2019-10-14 15:24:04 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-03 20:57:39 -07:00
										 |  |  |   it('should not crash a get diagnostics', () => { | 
					
						
							|  |  |  |     expect(() => ngService.getSemanticDiagnostics(fileName)).not.toThrow(); | 
					
						
							|  |  |  |   }); | 
					
						
							| 
									
										
										
										
											2019-10-14 15:24:04 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-03 20:57:39 -07:00
										 |  |  |   it('should not crash a completion', () => { | 
					
						
							|  |  |  |     expect(() => ngService.getCompletionsAtPosition(fileName, position)).not.toThrow(); | 
					
						
							|  |  |  |   }); | 
					
						
							| 
									
										
										
										
											2019-10-14 15:24:04 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-21 14:51:43 -08:00
										 |  |  |   it('should not crash a get definition', () => { | 
					
						
							|  |  |  |     expect(() => ngService.getDefinitionAndBoundSpan(fileName, position)).not.toThrow(); | 
					
						
							|  |  |  |   }); | 
					
						
							| 
									
										
										
										
											2019-10-14 15:24:04 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-03 20:57:39 -07:00
										 |  |  |   it('should not crash a hover', () => { | 
					
						
							|  |  |  |     expect(() => ngService.getQuickInfoAtPosition(fileName, position)).not.toThrow(); | 
					
						
							|  |  |  |   }); | 
					
						
							| 
									
										
										
										
											2019-10-14 15:24:04 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |   it('should not crash with an incomplete class', () => { | 
					
						
							|  |  |  |     mockHost.addCode('\nexport class'); | 
					
						
							|  |  |  |     expect(() => ngHost.getAnalyzedModules()).not.toThrow(); | 
					
						
							|  |  |  |   }); | 
					
						
							| 
									
										
										
										
											2019-09-17 14:33:41 -07:00
										 |  |  | }); |