These imports were unnecessrily deep, since the files are actually in the same directory. PR Close #40237
		
			
				
	
	
		
			58 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| /**
 | |
|  * @license
 | |
|  * Copyright Google LLC 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 {FileSystem} from '../../../src/ngtsc/file_system';
 | |
| 
 | |
| import {checkErrors, checkNoUnexpectedErrors} from './check_errors';
 | |
| import {checkExpectations} from './check_expectations';
 | |
| import {CompileResult, initMockTestFileSystem} from './compile_test';
 | |
| import {CompilationMode, ComplianceTest, getAllComplianceTests} from './get_compliance_tests';
 | |
| 
 | |
| /**
 | |
|  * Set up jasmine specs for each of the compliance tests.
 | |
|  *
 | |
|  * @param type A description of the type of tests being run.
 | |
|  * @param compileFn The function that will do the compilation of the source files
 | |
|  */
 | |
| export function runTests(
 | |
|     type: CompilationMode, compileFn: (fs: FileSystem, test: ComplianceTest) => CompileResult) {
 | |
|   describe(`compliance tests (${type})`, () => {
 | |
|     for (const test of getAllComplianceTests()) {
 | |
|       if (!test.compilationModeFilter.includes(type)) {
 | |
|         continue;
 | |
|       }
 | |
| 
 | |
|       describe(`[${test.relativePath}]`, () => {
 | |
|         const itFn = test.focusTest ? fit : test.excludeTest ? xit : it;
 | |
|         itFn(test.description, () => {
 | |
|           if (type === 'linked compile' && test.compilerOptions?.target === 'ES5') {
 | |
|             throw new Error(
 | |
|                 `The "${type}" scenario does not support ES5 output.\n` +
 | |
|                 `Did you mean to set \`"compilationModeFilter": ["full compile"]\` in "${
 | |
|                     test.relativePath}"?`);
 | |
|           }
 | |
| 
 | |
|           const fs = initMockTestFileSystem(test.realTestPath);
 | |
|           const {errors} = compileFn(fs, test);
 | |
|           for (const expectation of test.expectations) {
 | |
|             if (expectation.expectedErrors.length > 0) {
 | |
|               checkErrors(
 | |
|                   test.relativePath, expectation.failureMessage, expectation.expectedErrors,
 | |
|                   errors);
 | |
|             } else {
 | |
|               checkNoUnexpectedErrors(test.relativePath, errors);
 | |
|               checkExpectations(
 | |
|                   fs, test.relativePath, expectation.failureMessage, expectation.files,
 | |
|                   expectation.extraChecks);
 | |
|             }
 | |
|           }
 | |
|         });
 | |
|       });
 | |
|     }
 | |
|   });
 | |
| }
 |