59 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			59 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | /** | ||
|  |  * @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 path from 'path'; | ||
|  | 
 | ||
|  | import {readConfiguration} from '../src/perform_compile'; | ||
|  | 
 | ||
|  | import {TestSupport, setup} from './test_support'; | ||
|  | 
 | ||
|  | describe('perform_compile', () => { | ||
|  |   let support: TestSupport; | ||
|  |   let basePath: string; | ||
|  | 
 | ||
|  |   beforeEach(() => { | ||
|  |     support = setup(); | ||
|  |     basePath = support.basePath; | ||
|  |   }); | ||
|  | 
 | ||
|  |   function writeSomeConfigs() { | ||
|  |     support.writeFiles({ | ||
|  |       'tsconfig-level-1.json': `{
 | ||
|  |           "extends": "./tsconfig-level-2.json", | ||
|  |           "angularCompilerOptions": { | ||
|  |             "annotateForClosureCompiler": true | ||
|  |           } | ||
|  |         } | ||
|  |       `,
 | ||
|  |       'tsconfig-level-2.json': `{
 | ||
|  |           "extends": "./tsconfig-level-3.json", | ||
|  |           "angularCompilerOptions": { | ||
|  |             "skipMetadataEmit": true | ||
|  |           } | ||
|  |         } | ||
|  |       `,
 | ||
|  |       'tsconfig-level-3.json': `{
 | ||
|  |           "angularCompilerOptions": { | ||
|  |             "annotateForClosureCompiler": false, | ||
|  |             "annotationsAs": "decorators" | ||
|  |           } | ||
|  |         } | ||
|  |       `,
 | ||
|  |     }); | ||
|  |   } | ||
|  | 
 | ||
|  |   it('should merge tsconfig "angularCompilerOptions"', () => { | ||
|  |     writeSomeConfigs(); | ||
|  |     const {options} = readConfiguration(path.resolve(basePath, 'tsconfig-level-1.json')); | ||
|  |     expect(options.annotateForClosureCompiler).toBe(true); | ||
|  |     expect(options.annotationsAs).toBe('decorators'); | ||
|  |     expect(options.skipMetadataEmit).toBe(true); | ||
|  |   }); | ||
|  | 
 | ||
|  | }); |