test(language-service): Remove test cases from parsing-cases.ts (#34716)
This commit removes some test scenarios from `parsing-cases.ts` and colocate them with the test code instead. This makes the tests easier to read and understand. PR Close #34716
This commit is contained in:
parent
f6dee72a88
commit
6d28a209e4
|
@ -372,9 +372,10 @@ describe('completions', () => {
|
|||
|
||||
describe('data binding', () => {
|
||||
it('should be able to complete property value', () => {
|
||||
const marker = mockHost.getLocationMarkerFor(PARSING_CASES, 'property-binding-model');
|
||||
const completions = ngLS.getCompletionsAt(PARSING_CASES, marker.start);
|
||||
expectContain(completions, CompletionKind.PROPERTY, ['test']);
|
||||
mockHost.override(TEST_TEMPLATE, `<h1 [model]="~{cursor}"></h1>`);
|
||||
const marker = mockHost.getLocationMarkerFor(TEST_TEMPLATE, 'cursor');
|
||||
const completions = ngLS.getCompletionsAt(TEST_TEMPLATE, marker.start);
|
||||
expectContain(completions, CompletionKind.PROPERTY, ['title']);
|
||||
});
|
||||
|
||||
it('should be able to complete property read', () => {
|
||||
|
@ -385,9 +386,10 @@ describe('completions', () => {
|
|||
});
|
||||
|
||||
it('should be able to complete an event', () => {
|
||||
const marker = mockHost.getLocationMarkerFor(PARSING_CASES, 'event-binding-model');
|
||||
const completions = ngLS.getCompletionsAt(PARSING_CASES, marker.start);
|
||||
expectContain(completions, CompletionKind.METHOD, ['modelChanged']);
|
||||
mockHost.override(TEST_TEMPLATE, `<h1 (model)="~{cursor}"></h1>`);
|
||||
const marker = mockHost.getLocationMarkerFor(TEST_TEMPLATE, 'cursor');
|
||||
const completions = ngLS.getCompletionsAt(TEST_TEMPLATE, marker.start);
|
||||
expectContain(completions, CompletionKind.METHOD, ['myClick']);
|
||||
});
|
||||
|
||||
it('should be able to complete a the LHS of a two-way binding', () => {
|
||||
|
@ -398,9 +400,10 @@ describe('completions', () => {
|
|||
});
|
||||
|
||||
it('should be able to complete a the RHS of a two-way binding', () => {
|
||||
const marker = mockHost.getLocationMarkerFor(PARSING_CASES, 'two-way-binding-model');
|
||||
const completions = ngLS.getCompletionsAt(PARSING_CASES, marker.start);
|
||||
expectContain(completions, CompletionKind.PROPERTY, ['test']);
|
||||
mockHost.override(TEST_TEMPLATE, `<h1 [(model)]="~{cursor}"></h1>`);
|
||||
const marker = mockHost.getLocationMarkerFor(TEST_TEMPLATE, 'cursor');
|
||||
const completions = ngLS.getCompletionsAt(TEST_TEMPLATE, marker.start);
|
||||
expectContain(completions, CompletionKind.PROPERTY, ['title']);
|
||||
});
|
||||
|
||||
it('should suggest property binding for input', () => {
|
||||
|
|
|
@ -30,21 +30,17 @@ import * as ParsingCases from './parsing-cases';
|
|||
NgForCases.UnknownTrackBy,
|
||||
NgIfCases.ShowIf,
|
||||
ParsingCases.AsyncForUsingComponent,
|
||||
ParsingCases.AttributeBinding,
|
||||
ParsingCases.CaseIncompleteOpen,
|
||||
ParsingCases.CaseMissingClosing,
|
||||
ParsingCases.CaseUnknown,
|
||||
ParsingCases.EmptyInterpolation,
|
||||
ParsingCases.EventBinding,
|
||||
ParsingCases.NoValueAttribute,
|
||||
ParsingCases.NumberModel,
|
||||
ParsingCases.Pipes,
|
||||
ParsingCases.PropertyBinding,
|
||||
ParsingCases.References,
|
||||
ParsingCases.StringModel,
|
||||
ParsingCases.TemplateReference,
|
||||
ParsingCases.TestComponent,
|
||||
ParsingCases.TwoWayBinding,
|
||||
]
|
||||
})
|
||||
export class AppModule {
|
||||
|
|
|
@ -44,39 +44,6 @@ export class Pipes {
|
|||
export class NoValueAttribute {
|
||||
}
|
||||
|
||||
|
||||
@Component({
|
||||
template: '<h1 model="~{attribute-binding-model}test"></h1>',
|
||||
})
|
||||
export class AttributeBinding {
|
||||
test: string = 'test';
|
||||
}
|
||||
|
||||
@Component({
|
||||
template: '<h1 [model]="~{property-binding-model}test"></h1>',
|
||||
})
|
||||
export class PropertyBinding {
|
||||
test: string = 'test';
|
||||
}
|
||||
|
||||
@Component({
|
||||
template: '<h1 (model)="~{event-binding-model}modelChanged()"></h1>',
|
||||
})
|
||||
export class EventBinding {
|
||||
test: string = 'test';
|
||||
|
||||
modelChanged() {}
|
||||
}
|
||||
|
||||
@Component({
|
||||
template: `
|
||||
<h1 [(model)]="~{two-way-binding-model}test"></h1>
|
||||
<input ~{two-way-binding-input}></input>`,
|
||||
})
|
||||
export class TwoWayBinding {
|
||||
test: string = 'test';
|
||||
}
|
||||
|
||||
@Directive({
|
||||
selector: '[string-model]',
|
||||
})
|
||||
|
|
|
@ -94,7 +94,7 @@ describe('TypeScriptServiceHost', () => {
|
|||
const tsLS = ts.createLanguageService(tsLSHost);
|
||||
const ngLSHost = new TypeScriptServiceHost(tsLSHost, tsLS);
|
||||
const templates = ngLSHost.getTemplates('/app/parsing-cases.ts');
|
||||
expect(templates.length).toBe(13);
|
||||
expect(templates.length).toBe(9);
|
||||
});
|
||||
|
||||
it('should be able to find external template', () => {
|
||||
|
|
Loading…
Reference in New Issue