style(compiler-cli): reformat of codebase with new clang-format version (#36520)
This commit reformats the packages/compiler-cli tree using the new version of clang-format. PR Close #36520
This commit is contained in:
@ -7,8 +7,9 @@
|
||||
*/
|
||||
import {AotCompilerOptions} from '@angular/compiler';
|
||||
import {escapeRegExp} from '@angular/compiler/src/util';
|
||||
import {MockCompilerHost, MockData, MockDirectory, arrayToMockDir, toMockFileArray} from '@angular/compiler/test/aot/test_util';
|
||||
import {arrayToMockDir, MockCompilerHost, MockData, MockDirectory, toMockFileArray} from '@angular/compiler/test/aot/test_util';
|
||||
import * as ts from 'typescript';
|
||||
|
||||
import {NodeJSFileSystem, setFileSystem} from '../../src/ngtsc/file_system';
|
||||
import {NgtscProgram} from '../../src/ngtsc/program';
|
||||
|
||||
@ -22,10 +23,11 @@ const NUMBER = /\d+/;
|
||||
|
||||
const ELLIPSIS = '…';
|
||||
const TOKEN = new RegExp(
|
||||
`\\s*((${IDENTIFIER.source})|(${BACKTICK_STRING.source})|(${OPERATOR.source})|(${STRING.source})|${NUMBER.source}|${ELLIPSIS})\\s*`,
|
||||
`\\s*((${IDENTIFIER.source})|(${BACKTICK_STRING.source})|(${OPERATOR.source})|(${
|
||||
STRING.source})|${NUMBER.source}|${ELLIPSIS})\\s*`,
|
||||
'y');
|
||||
|
||||
type Piece = string | RegExp;
|
||||
type Piece = string|RegExp;
|
||||
|
||||
const SKIP = /(?:.|\n|\r)*/;
|
||||
|
||||
@ -116,15 +118,16 @@ export function expectEmit(
|
||||
const context = fullContext.length > contextLength ?
|
||||
`...${fullContext.substr(-contextLength)}` :
|
||||
fullContext;
|
||||
fail(
|
||||
`${description}: Failed to find "${expectedPiece}" after "${context}" in:\n'${source.substr(0,last)}[<---HERE expected "${expectedPiece}"]${source.substr(last)}'`);
|
||||
fail(`${description}: Failed to find "${expectedPiece}" after "${context}" in:\n'${
|
||||
source.substr(0, last)}[<---HERE expected "${expectedPiece}"]${source.substr(last)}'`);
|
||||
return;
|
||||
} else {
|
||||
last = (m.index || 0) + m[0].length;
|
||||
}
|
||||
}
|
||||
fail(
|
||||
`Test helper failure: Expected expression failed but the reporting logic could not find where it failed in: ${source}`);
|
||||
`Test helper failure: Expected expression failed but the reporting logic could not find where it failed in: ${
|
||||
source}`);
|
||||
} else {
|
||||
if (assertIdentifiers) {
|
||||
// It might be possible to add the constraints in the original regexp (see `buildMatcher`)
|
||||
@ -141,8 +144,8 @@ export function expectEmit(
|
||||
const name = matches[groups.get(id) as number];
|
||||
const regexp = assertIdentifiers[id];
|
||||
if (!regexp.test(name)) {
|
||||
throw Error(
|
||||
`${description}: The matching identifier "${id}" is "${name}" which doesn't match ${regexp}`);
|
||||
throw Error(`${description}: The matching identifier "${id}" is "${
|
||||
name}" which doesn't match ${regexp}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -160,7 +163,7 @@ const MATCHING_IDENT = /^\$.*\$$/;
|
||||
* - the `regexp` to be used to match the generated code,
|
||||
* - the `groups` which maps `$...$` identifier to their position in the regexp matches.
|
||||
*/
|
||||
function buildMatcher(pieces: (string | RegExp)[]): {regexp: RegExp, groups: Map<string, number>} {
|
||||
function buildMatcher(pieces: (string|RegExp)[]): {regexp: RegExp, groups: Map<string, number>} {
|
||||
const results: string[] = [];
|
||||
let first = true;
|
||||
let group = 0;
|
||||
@ -196,7 +199,9 @@ function buildMatcher(pieces: (string | RegExp)[]): {regexp: RegExp, groups: Map
|
||||
|
||||
export function compile(
|
||||
data: MockDirectory, angularFiles: MockData, options: AotCompilerOptions = {},
|
||||
errorCollector: (error: any, fileName?: string) => void = error => { throw error;}): {
|
||||
errorCollector: (error: any, fileName?: string) => void = error => {
|
||||
throw error;
|
||||
}): {
|
||||
source: string,
|
||||
} {
|
||||
setFileSystem(new NodeJSFileSystem());
|
||||
@ -211,7 +216,8 @@ export function compile(
|
||||
target: ts.ScriptTarget.ES2015,
|
||||
module: ts.ModuleKind.ES2015,
|
||||
moduleResolution: ts.ModuleResolutionKind.NodeJs,
|
||||
enableI18nLegacyMessageIdFormat: false, ...options,
|
||||
enableI18nLegacyMessageIdFormat: false,
|
||||
...options,
|
||||
},
|
||||
mockCompilerHost);
|
||||
program.emit();
|
||||
|
@ -100,14 +100,14 @@ describe('mock_compiler', () => {
|
||||
it('should be able to properly handle string literals with escaped quote', () => {
|
||||
const files = {
|
||||
app: {
|
||||
'test.ts': String.raw `const identifier = "\"quoted\"";`,
|
||||
'test.ts': String.raw`const identifier = "\"quoted\"";`,
|
||||
}
|
||||
};
|
||||
|
||||
const result = compile(files, angularFiles);
|
||||
|
||||
expect(() => {
|
||||
expectEmit(result.source, String.raw `const $a$ = "\"quoted\"";`, 'Output does not match.');
|
||||
expectEmit(result.source, String.raw`const $a$ = "\"quoted\"";`, 'Output does not match.');
|
||||
}).not.toThrow();
|
||||
});
|
||||
});
|
||||
|
@ -16,7 +16,6 @@ import {compile, expectEmit} from './mock_compile';
|
||||
* test in compiler_canonical_spec.ts should have a corresponding test here.
|
||||
*/
|
||||
describe('compiler compliance', () => {
|
||||
|
||||
const angularFiles = setup({
|
||||
compileAngular: false,
|
||||
compileAnimations: false,
|
||||
@ -49,7 +48,8 @@ describe('compiler compliance', () => {
|
||||
// The template should look like this (where IDENT is a wild card for an identifier):
|
||||
const template = `
|
||||
…
|
||||
consts: [["title", "Hello", ${AttributeMarker.Classes}, "my-app"], ["cx", "20", "cy", "30", "r", "50"]],
|
||||
consts: [["title", "Hello", ${
|
||||
AttributeMarker.Classes}, "my-app"], ["cx", "20", "cy", "30", "r", "50"]],
|
||||
template: function MyComponent_Template(rf, ctx) {
|
||||
if (rf & 1) {
|
||||
$r3$.ɵɵelementStart(0, "div", 0);
|
||||
@ -536,7 +536,6 @@ describe('compiler compliance', () => {
|
||||
const result = compile(files, angularFiles);
|
||||
expectEmit(result.source, template, 'Incorrect template');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('components & directives', () => {
|
||||
@ -867,7 +866,6 @@ describe('compiler compliance', () => {
|
||||
});
|
||||
|
||||
describe('value composition', () => {
|
||||
|
||||
it('should support array literals', () => {
|
||||
const files = {
|
||||
app: {
|
||||
@ -1143,7 +1141,6 @@ describe('compiler compliance', () => {
|
||||
});
|
||||
|
||||
describe('content projection', () => {
|
||||
|
||||
it('should support content projection in root template', () => {
|
||||
const files = {
|
||||
app: {
|
||||
@ -1319,7 +1316,8 @@ describe('compiler compliance', () => {
|
||||
}
|
||||
const $_c4$ = [[["span", "title", "tofirst"]], "*"];
|
||||
…
|
||||
consts: [["id", "second", ${AttributeMarker.Template}, "ngIf"], ["id", "third", ${AttributeMarker.Template}, "ngIf"], ["id", "second"], ["id", "third"]],
|
||||
consts: [["id", "second", ${AttributeMarker.Template}, "ngIf"], ["id", "third", ${
|
||||
AttributeMarker.Template}, "ngIf"], ["id", "second"], ["id", "third"]],
|
||||
template: function Cmp_Template(rf, ctx) {
|
||||
if (rf & 1) {
|
||||
$r3$.ɵɵprojectionDef($_c4$);
|
||||
@ -1534,7 +1532,8 @@ describe('compiler compliance', () => {
|
||||
decls: 1,
|
||||
vars: 1,
|
||||
consts: [
|
||||
["ngProjectAs", ".someclass", ${AttributeMarker.ProjectAs}, ["", 8, "someclass"], ${AttributeMarker.Template}, "ngIf"],
|
||||
["ngProjectAs", ".someclass", ${AttributeMarker.ProjectAs}, ["", 8, "someclass"], ${
|
||||
AttributeMarker.Template}, "ngIf"],
|
||||
["ngProjectAs", ".someclass", ${AttributeMarker.ProjectAs}, ["", 8, "someclass"]]
|
||||
],
|
||||
template: function MyApp_Template(rf, ctx) {
|
||||
@ -1552,7 +1551,6 @@ describe('compiler compliance', () => {
|
||||
const result = compile(files, angularFiles);
|
||||
expectEmit(result.source, SimpleComponentDefinition, 'Incorrect MyApp definition');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('queries', () => {
|
||||
@ -2044,9 +2042,7 @@ describe('compiler compliance', () => {
|
||||
});
|
||||
|
||||
describe('pipes', () => {
|
||||
|
||||
it('should render pipes', () => {
|
||||
|
||||
const files = {
|
||||
app: {
|
||||
'spec.ts': `
|
||||
@ -2217,7 +2213,6 @@ describe('compiler compliance', () => {
|
||||
|
||||
it('should generate the proper instruction when injecting ChangeDetectorRef into a pipe',
|
||||
() => {
|
||||
|
||||
const files = {
|
||||
app: {
|
||||
'spec.ts': `
|
||||
@ -2282,7 +2277,6 @@ describe('compiler compliance', () => {
|
||||
expectEmit(source, MyOtherPipeDefinition, 'Invalid alternate pipe definition');
|
||||
expectEmit(source, MyOtherPipeFactory, 'Invalid alternate pipe factory function');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
it('local reference', () => {
|
||||
@ -2477,7 +2471,8 @@ describe('compiler compliance', () => {
|
||||
}
|
||||
|
||||
// ...
|
||||
consts: [[${AttributeMarker.Template}, "ngFor", "ngForOf"], ["foo", ""], [${AttributeMarker.Template}, "ngIf"]],
|
||||
consts: [[${AttributeMarker.Template}, "ngFor", "ngForOf"], ["foo", ""], [${
|
||||
AttributeMarker.Template}, "ngIf"]],
|
||||
template:function MyComponent_Template(rf, ctx){
|
||||
if (rf & 1) {
|
||||
$i0$.ɵɵtemplate(0, MyComponent_div_0_Template, 4, 1, "div", 0);
|
||||
@ -3280,7 +3275,6 @@ describe('compiler compliance', () => {
|
||||
const result = compile(files, angularFiles);
|
||||
expectEmit(result.source, MyAppDeclaration, 'Invalid component definition');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('inherited base classes', () => {
|
||||
@ -3849,7 +3843,7 @@ describe('compiler compliance', () => {
|
||||
}
|
||||
};
|
||||
const result = compile(files, angularFiles);
|
||||
expect(result.source.match(/ɵdir/g) !.length).toBe(1);
|
||||
expect(result.source.match(/ɵdir/g)!.length).toBe(1);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@ -405,7 +405,6 @@ describe('compiler compliance: bindings', () => {
|
||||
|
||||
expectEmit(result.source, template, 'Incorrect template');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('attribute bindings', () => {
|
||||
@ -640,13 +639,13 @@ describe('compiler compliance: bindings', () => {
|
||||
};
|
||||
|
||||
const template = `
|
||||
consts: [["target", "_blank", "aria-label", "link", ${AttributeMarker.Bindings}, "title", "id", "customEvent"]],
|
||||
consts: [["target", "_blank", "aria-label", "link", ${
|
||||
AttributeMarker.Bindings}, "title", "id", "customEvent"]],
|
||||
…
|
||||
`;
|
||||
const result = compile(files, angularFiles);
|
||||
expectEmit(result.source, template, 'Incorrect attribute array');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('host bindings', () => {
|
||||
@ -850,12 +849,15 @@ describe('compiler compliance: bindings', () => {
|
||||
HostAttributeComp.ɵcmp = $r3$.ɵɵdefineComponent({
|
||||
type: HostAttributeComp,
|
||||
selectors: [["my-host-attribute-component"]],
|
||||
hostAttrs: ["title", "hello there from component", ${AttributeMarker.Styles}, "opacity", "1"],
|
||||
hostAttrs: ["title", "hello there from component", ${
|
||||
AttributeMarker.Styles}, "opacity", "1"],
|
||||
…
|
||||
HostAttributeDir.ɵdir = $r3$.ɵɵdefineDirective({
|
||||
type: HostAttributeDir,
|
||||
selectors: [["", "hostAttributeDir", ""]],
|
||||
hostAttrs: ["title", "hello there from directive", ${AttributeMarker.Classes}, "one", "two", ${AttributeMarker.Styles}, "width", "200px", "height", "500px"],
|
||||
hostAttrs: ["title", "hello there from directive", ${
|
||||
AttributeMarker.Classes}, "one", "two", ${
|
||||
AttributeMarker.Styles}, "width", "200px", "height", "500px"],
|
||||
hostVars: 4,
|
||||
hostBindings: function HostAttributeDir_HostBindings(rf, ctx) {
|
||||
…
|
||||
@ -1216,7 +1218,6 @@ describe('compiler compliance: bindings', () => {
|
||||
`;
|
||||
expectEmit(result.source, template, 'Incorrect template');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('non bindable behavior', () => {
|
||||
@ -1420,7 +1421,5 @@ describe('compiler compliance: bindings', () => {
|
||||
const result = compile(files, angularFiles);
|
||||
expectEmit(result.source, template, 'Incorrect handling of elements with no children');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
@ -386,8 +386,7 @@ describe('compiler compliance: dependency injection', () => {
|
||||
|
||||
expectEmit(source, MyPipeDefs, 'Invalid pipe factory function');
|
||||
expectEmit(source, MyOtherPipeDefs, 'Invalid pipe factory function');
|
||||
expect(source.match(/MyPipe\.ɵfac =/g) !.length).toBe(1);
|
||||
expect(source.match(/MyOtherPipe\.ɵfac =/g) !.length).toBe(1);
|
||||
expect(source.match(/MyPipe\.ɵfac =/g)!.length).toBe(1);
|
||||
expect(source.match(/MyOtherPipe\.ɵfac =/g)!.length).toBe(1);
|
||||
});
|
||||
|
||||
});
|
||||
|
@ -10,7 +10,6 @@ import {setup} from '@angular/compiler/test/aot/test_util';
|
||||
import {compile, expectEmit} from './mock_compile';
|
||||
|
||||
describe('compiler compliance: directives', () => {
|
||||
|
||||
const angularFiles = setup({
|
||||
compileAngular: false,
|
||||
compileAnimations: false,
|
||||
@ -18,7 +17,6 @@ describe('compiler compliance: directives', () => {
|
||||
});
|
||||
|
||||
describe('matching', () => {
|
||||
|
||||
it('should not match directives on i18n attribute', () => {
|
||||
const files = {
|
||||
app: {
|
||||
@ -114,7 +112,6 @@ describe('compiler compliance: directives', () => {
|
||||
});
|
||||
|
||||
it('should match directives on element bindings', () => {
|
||||
|
||||
const files = {
|
||||
app: {
|
||||
'spec.ts': `
|
||||
@ -273,7 +270,6 @@ describe('compiler compliance: directives', () => {
|
||||
});
|
||||
|
||||
it('should match directives on ng-template bindings', () => {
|
||||
|
||||
const files = {
|
||||
app: {
|
||||
'spec.ts': `
|
||||
@ -321,7 +317,6 @@ describe('compiler compliance: directives', () => {
|
||||
});
|
||||
|
||||
it('should match structural directives', () => {
|
||||
|
||||
const files = {
|
||||
app: {
|
||||
'spec.ts': `
|
||||
@ -362,11 +357,9 @@ describe('compiler compliance: directives', () => {
|
||||
const source = result.source;
|
||||
|
||||
expectEmit(source, MyComponentDefinition, 'Incorrect ChildComponent.ɵcmp');
|
||||
|
||||
});
|
||||
|
||||
it('should match directives on element outputs', () => {
|
||||
|
||||
const files = {
|
||||
app: {
|
||||
'spec.ts': `
|
||||
@ -413,6 +406,5 @@ describe('compiler compliance: directives', () => {
|
||||
|
||||
expectEmit(source, MyComponentDefinition, 'Incorrect ChildComponent.ɵcmp');
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -85,5 +85,4 @@ describe('compiler compliance: listen()', () => {
|
||||
expectEmit(result.source, componentDef, 'Incorrect component definition');
|
||||
expectEmit(result.source, directiveDef, 'Incorrect directive definition');
|
||||
});
|
||||
|
||||
});
|
||||
|
@ -10,8 +10,8 @@ import {setup} from '@angular/compiler/test/aot/test_util';
|
||||
import {compile, expectEmit} from './mock_compile';
|
||||
|
||||
/* These tests are codified version of the tests in compiler_canonical_spec.ts. Every
|
||||
* test in compiler_canonical_spec.ts should have a corresponding test here.
|
||||
*/
|
||||
* test in compiler_canonical_spec.ts should have a corresponding test here.
|
||||
*/
|
||||
describe('compiler compliance: listen()', () => {
|
||||
const angularFiles = setup({
|
||||
compileAngular: false,
|
||||
@ -292,7 +292,8 @@ describe('compiler compliance: listen()', () => {
|
||||
|
||||
const template = `
|
||||
…
|
||||
consts: [[${AttributeMarker.Bindings}, "click", "change"], [${AttributeMarker.Bindings}, "update", "delete"]],
|
||||
consts: [[${AttributeMarker.Bindings}, "click", "change"], [${
|
||||
AttributeMarker.Bindings}, "update", "delete"]],
|
||||
template: function MyComponent_Template(rf, ctx) {
|
||||
if (rf & 1) {
|
||||
$r3$.ɵɵelementStart(0, "div", 0);
|
||||
@ -446,5 +447,4 @@ describe('compiler compliance: listen()', () => {
|
||||
const result = compile(files, angularFiles);
|
||||
expectEmit(result.source, template, 'Incorrect host bindings');
|
||||
});
|
||||
|
||||
});
|
||||
|
@ -622,7 +622,6 @@ describe('compiler compliance: styling', () => {
|
||||
const result = compile(files, angularFiles);
|
||||
expect(result.source).not.toContain('styling');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('[class]', () => {
|
||||
@ -743,7 +742,8 @@ describe('compiler compliance: styling', () => {
|
||||
selectors:[["my-component"]],
|
||||
decls: 1,
|
||||
vars: 2,
|
||||
consts: [[${AttributeMarker.Classes}, "foo", ${AttributeMarker.Styles}, "width", "100px"]],
|
||||
consts: [[${AttributeMarker.Classes}, "foo", ${
|
||||
AttributeMarker.Styles}, "width", "100px"]],
|
||||
template: function MyComponent_Template(rf, $ctx$) {
|
||||
if (rf & 1) {
|
||||
$r3$.ɵɵelement(0, "div", 0);
|
||||
@ -782,7 +782,6 @@ describe('compiler compliance: styling', () => {
|
||||
const result = compile(files, angularFiles);
|
||||
expect(result.source).not.toContain('styling');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('[style] mixed with [class]', () => {
|
||||
@ -1005,7 +1004,8 @@ describe('compiler compliance: styling', () => {
|
||||
};
|
||||
|
||||
const template = `
|
||||
hostAttrs: [${AttributeMarker.Classes}, "foo", "baz", ${AttributeMarker.Styles}, "width", "200px", "height", "500px"],
|
||||
hostAttrs: [${AttributeMarker.Classes}, "foo", "baz", ${
|
||||
AttributeMarker.Styles}, "width", "200px", "height", "500px"],
|
||||
hostVars: 8,
|
||||
hostBindings: function MyComponent_HostBindings(rf, ctx) {
|
||||
if (rf & 2) {
|
||||
@ -1594,7 +1594,6 @@ describe('compiler compliance: styling', () => {
|
||||
|
||||
expectEmit(result.source, template, 'Incorrect handling of interpolated style properties');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('instruction chaining', () => {
|
||||
@ -1981,7 +1980,8 @@ describe('compiler compliance: styling', () => {
|
||||
};
|
||||
|
||||
const template = `
|
||||
hostAttrs: ["title", "foo title", ${AttributeMarker.Classes}, "foo", "baz", ${AttributeMarker.Styles}, "width", "200px", "height", "500px"],
|
||||
hostAttrs: ["title", "foo title", ${AttributeMarker.Classes}, "foo", "baz", ${
|
||||
AttributeMarker.Styles}, "width", "200px", "height", "500px"],
|
||||
hostVars: 6,
|
||||
hostBindings: function MyComponent_HostBindings(rf, ctx) {
|
||||
if (rf & 2) {
|
||||
|
@ -103,7 +103,10 @@ describe('compiler compliance: template', () => {
|
||||
}
|
||||
}
|
||||
// ...
|
||||
consts: [[${AttributeMarker.Template}, "ngFor", "ngForOf"], [${AttributeMarker.Bindings}, "title", "click", ${AttributeMarker.Template}, "ngFor", "ngForOf"], [${AttributeMarker.Bindings}, "title", "click"]],
|
||||
consts: [[${AttributeMarker.Template}, "ngFor", "ngForOf"], [${
|
||||
AttributeMarker.Bindings}, "title", "click", ${
|
||||
AttributeMarker.Template}, "ngFor", "ngForOf"], [${
|
||||
AttributeMarker.Bindings}, "title", "click"]],
|
||||
template:function MyComponent_Template(rf, ctx){
|
||||
if (rf & 1) {
|
||||
$i0$.ɵɵtemplate(0, MyComponent_ul_0_Template, 2, 1, "ul", 0);
|
||||
@ -157,7 +160,8 @@ describe('compiler compliance: template', () => {
|
||||
}
|
||||
}
|
||||
// ...
|
||||
consts: [[${AttributeMarker.Bindings}, "click", ${AttributeMarker.Template}, "ngFor", "ngForOf"], [${AttributeMarker.Bindings}, "click"]],
|
||||
consts: [[${AttributeMarker.Bindings}, "click", ${
|
||||
AttributeMarker.Template}, "ngFor", "ngForOf"], [${AttributeMarker.Bindings}, "click"]],
|
||||
template: function MyComponent_Template(rf, ctx) {
|
||||
if (rf & 1) {
|
||||
$r3$.ɵɵtemplate(0, MyComponent_div_0_Template, 1, 0, "div", 0);
|
||||
@ -329,7 +333,8 @@ describe('compiler compliance: template', () => {
|
||||
}
|
||||
|
||||
// ...
|
||||
consts: [[${AttributeMarker.Template}, "ngFor", "ngForOf"], [${AttributeMarker.Template}, "ngIf"]],
|
||||
consts: [[${AttributeMarker.Template}, "ngFor", "ngForOf"], [${
|
||||
AttributeMarker.Template}, "ngIf"]],
|
||||
template:function MyComponent_Template(rf, ctx){
|
||||
if (rf & 1) {
|
||||
$i0$.ɵɵtemplate(0, MyComponent_div_0_Template, 2, 1, "div", 0);
|
||||
@ -472,7 +477,6 @@ describe('compiler compliance: template', () => {
|
||||
});
|
||||
|
||||
it('should support local refs on <ng-template>', () => {
|
||||
|
||||
const files = {
|
||||
app: {
|
||||
'spec.ts': `
|
||||
@ -511,7 +515,6 @@ describe('compiler compliance: template', () => {
|
||||
});
|
||||
|
||||
it('should support directive outputs on <ng-template>', () => {
|
||||
|
||||
const files = {
|
||||
app: {
|
||||
'spec.ts': `
|
||||
@ -545,7 +548,6 @@ describe('compiler compliance: template', () => {
|
||||
const result = compile(files, angularFiles);
|
||||
|
||||
expectEmit(result.source, template, 'Incorrect template');
|
||||
|
||||
});
|
||||
|
||||
it('should allow directive inputs as an interpolated prop on <ng-template>', () => {
|
||||
|
Reference in New Issue
Block a user