style(ngcc): reformat of ngcc after clang update (#36447)
PR Close #36447
This commit is contained in:

committed by
Kara Erickson

parent
c8bef1259c
commit
8be8466a00
@ -6,27 +6,28 @@
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
import {Statement} from '@angular/compiler';
|
||||
import {SourceMapMappings, encode} from 'sourcemap-codec';
|
||||
import MagicString from 'magic-string';
|
||||
import * as ts from 'typescript';
|
||||
import {fromObject, generateMapFileComment, SourceMapConverter} from 'convert-source-map';
|
||||
import MagicString from 'magic-string';
|
||||
import {encode, SourceMapMappings} from 'sourcemap-codec';
|
||||
import * as ts from 'typescript';
|
||||
|
||||
import {absoluteFrom, getFileSystem} from '../../../src/ngtsc/file_system';
|
||||
import {TestFile, runInEachFileSystem} from '../../../src/ngtsc/file_system/testing';
|
||||
import {runInEachFileSystem, TestFile} from '../../../src/ngtsc/file_system/testing';
|
||||
import {NOOP_DEFAULT_IMPORT_RECORDER, Reexport} from '../../../src/ngtsc/imports';
|
||||
import {loadTestFiles} from '../../../test/helpers';
|
||||
import {Import, ImportManager, translateStatement} from '../../../src/ngtsc/translator';
|
||||
import {loadTestFiles} from '../../../test/helpers';
|
||||
import {DecorationAnalyzer} from '../../src/analysis/decoration_analyzer';
|
||||
import {CompiledClass} from '../../src/analysis/types';
|
||||
import {NgccReferencesRegistry} from '../../src/analysis/ngcc_references_registry';
|
||||
import {ModuleWithProvidersInfo} from '../../src/analysis/module_with_providers_analyzer';
|
||||
import {PrivateDeclarationsAnalyzer, ExportInfo} from '../../src/analysis/private_declarations_analyzer';
|
||||
import {NgccReferencesRegistry} from '../../src/analysis/ngcc_references_registry';
|
||||
import {ExportInfo, PrivateDeclarationsAnalyzer} from '../../src/analysis/private_declarations_analyzer';
|
||||
import {SwitchMarkerAnalyzer} from '../../src/analysis/switch_marker_analyzer';
|
||||
import {CompiledClass} from '../../src/analysis/types';
|
||||
import {Esm2015ReflectionHost} from '../../src/host/esm2015_host';
|
||||
import {Esm5ReflectionHost} from '../../src/host/esm5_host';
|
||||
import {Renderer} from '../../src/rendering/renderer';
|
||||
import {RedundantDecoratorMap, RenderingFormatter} from '../../src/rendering/rendering_formatter';
|
||||
import {MockLogger} from '../helpers/mock_logger';
|
||||
import {RenderingFormatter, RedundantDecoratorMap} from '../../src/rendering/rendering_formatter';
|
||||
import {makeTestEntryPointBundle, getRootFiles} from '../helpers/utils';
|
||||
import {getRootFiles, makeTestEntryPointBundle} from '../helpers/utils';
|
||||
|
||||
class TestRenderingFormatter implements RenderingFormatter {
|
||||
private printer = ts.createPrinter({newLine: ts.NewLineKind.LineFeed});
|
||||
@ -106,12 +107,14 @@ function createTestRenderer(
|
||||
|
||||
const renderer = new Renderer(host, testFormatter, fs, logger, bundle);
|
||||
|
||||
return {renderer,
|
||||
testFormatter,
|
||||
decorationAnalyses,
|
||||
switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses,
|
||||
bundle};
|
||||
return {
|
||||
renderer,
|
||||
testFormatter,
|
||||
decorationAnalyses,
|
||||
switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses,
|
||||
bundle
|
||||
};
|
||||
}
|
||||
|
||||
runInEachFileSystem(() => {
|
||||
@ -227,8 +230,13 @@ runInEachFileSystem(() => {
|
||||
|
||||
|
||||
it('should render as JavaScript', () => {
|
||||
const {renderer, decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses,
|
||||
testFormatter} = createTestRenderer('test-package', [COMPONENT_PROGRAM]);
|
||||
const {
|
||||
renderer,
|
||||
decorationAnalyses,
|
||||
switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses,
|
||||
testFormatter
|
||||
} = createTestRenderer('test-package', [COMPONENT_PROGRAM]);
|
||||
renderer.renderProgram(
|
||||
decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses);
|
||||
const addDefinitionsSpy = testFormatter.addDefinitions as jasmine.Spy;
|
||||
@ -253,8 +261,13 @@ A.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: A, selectors: [["a"]], decls: 1, v
|
||||
describe('calling RenderingFormatter methods', () => {
|
||||
it('should call addImports with the source code and info about the core Angular library.',
|
||||
() => {
|
||||
const {renderer, decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses,
|
||||
testFormatter} = createTestRenderer('test-package', [JS_CONTENT]);
|
||||
const {
|
||||
renderer,
|
||||
decorationAnalyses,
|
||||
switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses,
|
||||
testFormatter
|
||||
} = createTestRenderer('test-package', [JS_CONTENT]);
|
||||
const result = renderer.renderProgram(
|
||||
decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses);
|
||||
const addImportsSpy = testFormatter.addImports as jasmine.Spy;
|
||||
@ -266,8 +279,13 @@ A.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: A, selectors: [["a"]], decls: 1, v
|
||||
|
||||
it('should call addDefinitions with the source code, the analyzed class and the rendered definitions.',
|
||||
() => {
|
||||
const {renderer, decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses,
|
||||
testFormatter} = createTestRenderer('test-package', [JS_CONTENT]);
|
||||
const {
|
||||
renderer,
|
||||
decorationAnalyses,
|
||||
switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses,
|
||||
testFormatter
|
||||
} = createTestRenderer('test-package', [JS_CONTENT]);
|
||||
renderer.renderProgram(
|
||||
decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses);
|
||||
const addDefinitionsSpy = testFormatter.addDefinitions as jasmine.Spy;
|
||||
@ -284,8 +302,13 @@ A.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: A, selectors: [["", "a", ""]] });`
|
||||
|
||||
it('should call addAdjacentStatements with the source code, the analyzed class and the rendered statements',
|
||||
() => {
|
||||
const {renderer, decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses,
|
||||
testFormatter} = createTestRenderer('test-package', [JS_CONTENT]);
|
||||
const {
|
||||
renderer,
|
||||
decorationAnalyses,
|
||||
switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses,
|
||||
testFormatter
|
||||
} = createTestRenderer('test-package', [JS_CONTENT]);
|
||||
renderer.renderProgram(
|
||||
decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses);
|
||||
const addAdjacentStatementsSpy = testFormatter.addAdjacentStatements as jasmine.Spy;
|
||||
@ -303,8 +326,13 @@ A.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: A, selectors: [["", "a", ""]] });`
|
||||
|
||||
it('should call removeDecorators with the source code, a map of class decorators that have been analyzed',
|
||||
() => {
|
||||
const {renderer, decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses,
|
||||
testFormatter} = createTestRenderer('test-package', [JS_CONTENT]);
|
||||
const {
|
||||
renderer,
|
||||
decorationAnalyses,
|
||||
switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses,
|
||||
testFormatter
|
||||
} = createTestRenderer('test-package', [JS_CONTENT]);
|
||||
renderer.renderProgram(
|
||||
decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses);
|
||||
const removeDecoratorsSpy = testFormatter.removeDecorators as jasmine.Spy;
|
||||
@ -326,8 +354,13 @@ A.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: A, selectors: [["", "a", ""]] });`
|
||||
});
|
||||
|
||||
it('should render definitions as static fields', () => {
|
||||
const {renderer, decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses,
|
||||
testFormatter} = createTestRenderer('test-package', [NGMODULE_PROGRAM]);
|
||||
const {
|
||||
renderer,
|
||||
decorationAnalyses,
|
||||
switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses,
|
||||
testFormatter
|
||||
} = createTestRenderer('test-package', [NGMODULE_PROGRAM]);
|
||||
renderer.renderProgram(
|
||||
decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses);
|
||||
const addDefinitionsSpy = testFormatter.addDefinitions as jasmine.Spy;
|
||||
@ -337,8 +370,13 @@ A.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: A, selectors: [["", "a", ""]] });`
|
||||
});
|
||||
|
||||
it('should render adjacent statements', () => {
|
||||
const {renderer, decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses,
|
||||
testFormatter} = createTestRenderer('test-package', [NGMODULE_PROGRAM]);
|
||||
const {
|
||||
renderer,
|
||||
decorationAnalyses,
|
||||
switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses,
|
||||
testFormatter
|
||||
} = createTestRenderer('test-package', [NGMODULE_PROGRAM]);
|
||||
renderer.renderProgram(
|
||||
decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses);
|
||||
const addAdjacentStatementsSpy = testFormatter.addAdjacentStatements as jasmine.Spy;
|
||||
@ -347,8 +385,13 @@ A.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: A, selectors: [["", "a", ""]] });`
|
||||
});
|
||||
|
||||
it('should render directives using the inner class name if different from outer', () => {
|
||||
const {renderer, decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses,
|
||||
testFormatter} =
|
||||
const {
|
||||
renderer,
|
||||
decorationAnalyses,
|
||||
switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses,
|
||||
testFormatter
|
||||
} =
|
||||
createTestRenderer(
|
||||
'test-package', [{
|
||||
name: _('/node_modules/test-package/src/file.js'),
|
||||
@ -379,8 +422,13 @@ A.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: A, selectors: [["", "a", ""]] });`
|
||||
});
|
||||
|
||||
it('should render injectables using the inner class name if different from outer', () => {
|
||||
const {renderer, decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses,
|
||||
testFormatter} =
|
||||
const {
|
||||
renderer,
|
||||
decorationAnalyses,
|
||||
switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses,
|
||||
testFormatter
|
||||
} =
|
||||
createTestRenderer(
|
||||
'test-package', [{
|
||||
name: _('/node_modules/test-package/src/file.js'),
|
||||
@ -411,8 +459,13 @@ A.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: A, selectors: [["", "a", ""]] });`
|
||||
});
|
||||
|
||||
it('should render ng-modules using the inner class name if different from outer', () => {
|
||||
const {renderer, decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses,
|
||||
testFormatter} =
|
||||
const {
|
||||
renderer,
|
||||
decorationAnalyses,
|
||||
switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses,
|
||||
testFormatter
|
||||
} =
|
||||
createTestRenderer(
|
||||
'test-package', [{
|
||||
name: _('/node_modules/test-package/src/file.js'),
|
||||
@ -448,8 +501,13 @@ A.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: A, selectors: [["", "a", ""]] });`
|
||||
});
|
||||
|
||||
it('should render pipes using the inner class name if different from outer', () => {
|
||||
const {renderer, decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses,
|
||||
testFormatter} =
|
||||
const {
|
||||
renderer,
|
||||
decorationAnalyses,
|
||||
switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses,
|
||||
testFormatter
|
||||
} =
|
||||
createTestRenderer(
|
||||
'test-package', [{
|
||||
name: _('/node_modules/test-package/src/file.js'),
|
||||
@ -479,9 +537,13 @@ A.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: A, selectors: [["", "a", ""]] });`
|
||||
});
|
||||
|
||||
it('should render classes without decorators if class fields are decorated', () => {
|
||||
const {renderer, decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses,
|
||||
testFormatter} =
|
||||
createTestRenderer('test-package', [{
|
||||
const {
|
||||
renderer,
|
||||
decorationAnalyses,
|
||||
switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses,
|
||||
testFormatter
|
||||
} = createTestRenderer('test-package', [{
|
||||
name: _('/node_modules/test-package/src/file.js'),
|
||||
contents: `
|
||||
import { Directive, ViewChild } from '@angular/core';
|
||||
@ -514,8 +576,13 @@ UndecoratedBase.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: UndecoratedBase, vie
|
||||
|
||||
it('should call renderImports after other abstract methods', () => {
|
||||
// This allows the other methods to add additional imports if necessary
|
||||
const {renderer, decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses,
|
||||
testFormatter} = createTestRenderer('test-package', [JS_CONTENT]);
|
||||
const {
|
||||
renderer,
|
||||
decorationAnalyses,
|
||||
switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses,
|
||||
testFormatter
|
||||
} = createTestRenderer('test-package', [JS_CONTENT]);
|
||||
const addExportsSpy = testFormatter.addExports as jasmine.Spy;
|
||||
const addDefinitionsSpy = testFormatter.addDefinitions as jasmine.Spy;
|
||||
const addAdjacentStatementsSpy = testFormatter.addAdjacentStatements as jasmine.Spy;
|
||||
@ -537,8 +604,12 @@ UndecoratedBase.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: UndecoratedBase, vie
|
||||
name: JS_CONTENT.name,
|
||||
contents: JS_CONTENT.contents + '\n' + JS_CONTENT_MAP.toComment()
|
||||
}];
|
||||
const {decorationAnalyses, renderer, switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses} = createTestRenderer('test-package', sourceFiles);
|
||||
const {
|
||||
decorationAnalyses,
|
||||
renderer,
|
||||
switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses
|
||||
} = createTestRenderer('test-package', sourceFiles);
|
||||
const [sourceFile, mapFile] = renderer.renderProgram(
|
||||
decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses);
|
||||
expect(sourceFile.path).toEqual(_('/node_modules/test-package/src/file.js'));
|
||||
@ -555,9 +626,12 @@ UndecoratedBase.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: UndecoratedBase, vie
|
||||
}];
|
||||
const mappingFiles: TestFile[] =
|
||||
[{name: _(JS_CONTENT.name + '.map'), contents: JS_CONTENT_MAP.toJSON()}];
|
||||
const {decorationAnalyses, renderer, switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses} =
|
||||
createTestRenderer('test-package', sourceFiles, undefined, mappingFiles);
|
||||
const {
|
||||
decorationAnalyses,
|
||||
renderer,
|
||||
switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses
|
||||
} = createTestRenderer('test-package', sourceFiles, undefined, mappingFiles);
|
||||
const [sourceFile, mapFile] = renderer.renderProgram(
|
||||
decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses);
|
||||
expect(sourceFile.path).toEqual(_('/node_modules/test-package/src/file.js'));
|
||||
@ -582,8 +656,13 @@ UndecoratedBase.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: UndecoratedBase, vie
|
||||
contents: `export const NgModule = () => null;`
|
||||
};
|
||||
// The package name of `@angular/core` indicates that we are compiling the core library.
|
||||
const {decorationAnalyses, renderer, switchMarkerAnalyses, privateDeclarationsAnalyses,
|
||||
testFormatter} = createTestRenderer('@angular/core', [CORE_FILE, R3_SYMBOLS_FILE]);
|
||||
const {
|
||||
decorationAnalyses,
|
||||
renderer,
|
||||
switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses,
|
||||
testFormatter
|
||||
} = createTestRenderer('@angular/core', [CORE_FILE, R3_SYMBOLS_FILE]);
|
||||
renderer.renderProgram(
|
||||
decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses);
|
||||
const addAdjacentStatementsSpy = testFormatter.addAdjacentStatements as jasmine.Spy;
|
||||
@ -602,8 +681,13 @@ UndecoratedBase.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: UndecoratedBase, vie
|
||||
export class MyModule {}\nMyModule.decorators = [\n { type: NgModule, args: [] }\n];\n`
|
||||
};
|
||||
|
||||
const {decorationAnalyses, renderer, switchMarkerAnalyses, privateDeclarationsAnalyses,
|
||||
testFormatter} = createTestRenderer('@angular/core', [CORE_FILE]);
|
||||
const {
|
||||
decorationAnalyses,
|
||||
renderer,
|
||||
switchMarkerAnalyses,
|
||||
privateDeclarationsAnalyses,
|
||||
testFormatter
|
||||
} = createTestRenderer('@angular/core', [CORE_FILE]);
|
||||
renderer.renderProgram(
|
||||
decorationAnalyses, switchMarkerAnalyses, privateDeclarationsAnalyses);
|
||||
const addAdjacentStatementsSpy = testFormatter.addAdjacentStatements as jasmine.Spy;
|
||||
|
Reference in New Issue
Block a user