@@ -37,18 +37,18 @@ import {
3737 waitForAsync ,
3838} from '@angular/core/testing' ;
3939import { FormControl , FormsModule , ReactiveFormsModule } from '@angular/forms' ;
40+ import { AsyncPipe } from '@angular/common' ;
4041import { By } from '@angular/platform-browser' ;
4142import { Observable , Subject , Subscription } from 'rxjs' ;
4243import { map , startWith } from 'rxjs/operators' ;
43- import { MATERIAL_ANIMATIONS , MatOption , MatOptionSelectionChange } from '../core' ;
44- import { MatFormField , MatFormFieldModule } from '../form-field' ;
44+ import { MATERIAL_ANIMATIONS , MatOptgroup , MatOption , MatOptionSelectionChange } from '../core' ;
45+ import { MatFormField } from '../form-field' ;
4546import { MatInputModule } from '../input' ;
4647import {
4748 MAT_AUTOCOMPLETE_DEFAULT_OPTIONS ,
4849 MAT_AUTOCOMPLETE_SCROLL_STRATEGY ,
4950 MatAutocomplete ,
5051 MatAutocompleteDefaultOptions ,
51- MatAutocompleteModule ,
5252 MatAutocompleteOrigin ,
5353 MatAutocompleteSelectedEvent ,
5454 MatAutocompleteTrigger ,
@@ -61,23 +61,13 @@ describe('MatAutocomplete', () => {
6161 // Creates a test component fixture.
6262 function createComponent < T > ( component : Type < T > , providers : Provider [ ] = [ ] ) {
6363 TestBed . configureTestingModule ( {
64- imports : [
65- MatAutocompleteModule ,
66- MatFormFieldModule ,
67- MatInputModule ,
68- FormsModule ,
69- ReactiveFormsModule ,
70- OverlayModule ,
71- ] ,
7264 providers : [
7365 ...providers ,
7466 { provide : MATERIAL_ANIMATIONS , useValue : { animationsDisabled : true } } ,
7567 ] ,
76- declarations : [ component ] ,
7768 } ) ;
7869
7970 overlayContainerElement = TestBed . inject ( OverlayContainer ) . getContainerElement ( ) ;
80-
8171 return TestBed . createComponent < T > ( component ) ;
8272 }
8373
@@ -4022,7 +4012,16 @@ const SIMPLE_AUTOCOMPLETE_TEMPLATE = `
40224012 </mat-autocomplete>
40234013` ;
40244014
4025- @Component ( { template : SIMPLE_AUTOCOMPLETE_TEMPLATE , standalone : false } )
4015+ @Component ( {
4016+ template : SIMPLE_AUTOCOMPLETE_TEMPLATE ,
4017+ imports : [
4018+ MatAutocomplete ,
4019+ MatAutocompleteTrigger ,
4020+ MatOption ,
4021+ MatInputModule ,
4022+ ReactiveFormsModule ,
4023+ ] ,
4024+ } )
40264025class SimpleAutocomplete implements OnDestroy {
40274026 stateCtrl = new FormControl < { name : string ; code : string } | string | null > ( null ) ;
40284027 filteredStates : any [ ] ;
@@ -4081,27 +4080,40 @@ class SimpleAutocomplete implements OnDestroy {
40814080@Component ( {
40824081 template : SIMPLE_AUTOCOMPLETE_TEMPLATE ,
40834082 encapsulation : ViewEncapsulation . ShadowDom ,
4084- standalone : false ,
4083+ imports : [
4084+ MatAutocomplete ,
4085+ MatAutocompleteTrigger ,
4086+ MatOption ,
4087+ MatInputModule ,
4088+ ReactiveFormsModule ,
4089+ ] ,
40854090} )
40864091class SimpleAutocompleteShadowDom extends SimpleAutocomplete { }
40874092
40884093@Component ( {
40894094 template : `
40904095 @if (isVisible) {
4091- <mat-form-field>
4092- <input matInput placeholder="Choose" [matAutocomplete]="auto" [formControl]="optionCtrl">
4093- </mat-form-field>
4094- }
4096+ <mat-form-field>
4097+ <input matInput placeholder="Choose" [matAutocomplete]="auto" [formControl]="optionCtrl">
4098+ </mat-form-field>
4099+ }
40954100
40964101 <mat-autocomplete #auto="matAutocomplete">
40974102 @for (option of filteredOptions | async; track option) {
4098- <mat-option [value]="option">
4099- {{option}}
4100- </mat-option>
4101- }
4103+ <mat-option [value]="option">
4104+ {{option}}
4105+ </mat-option>
4106+ }
41024107 </mat-autocomplete>
41034108 ` ,
4104- standalone : false ,
4109+ imports : [
4110+ MatAutocomplete ,
4111+ MatAutocompleteTrigger ,
4112+ MatOption ,
4113+ MatInputModule ,
4114+ ReactiveFormsModule ,
4115+ AsyncPipe ,
4116+ ] ,
41054117} )
41064118class NgIfAutocomplete {
41074119 optionCtrl = new FormControl ( '' ) ;
@@ -4139,7 +4151,7 @@ class NgIfAutocomplete {
41394151 }
41404152 </mat-autocomplete>
41414153 ` ,
4142- standalone : false ,
4154+ imports : [ MatAutocomplete , MatAutocompleteTrigger , MatOption , MatInputModule ] ,
41434155} )
41444156class AutocompleteWithoutForms {
41454157 filteredStates : any [ ] ;
@@ -4169,7 +4181,7 @@ class AutocompleteWithoutForms {
41694181 }
41704182 </mat-autocomplete>
41714183 ` ,
4172- standalone : false ,
4184+ imports : [ MatAutocomplete , MatAutocompleteTrigger , MatOption , MatInputModule , FormsModule ] ,
41734185} )
41744186class AutocompleteWithNgModel {
41754187 filteredStates : any [ ] ;
@@ -4201,7 +4213,7 @@ class AutocompleteWithNgModel {
42014213 }
42024214 </mat-autocomplete>
42034215 ` ,
4204- standalone : false ,
4216+ imports : [ MatAutocomplete , MatAutocompleteTrigger , MatOption , MatInputModule , FormsModule ] ,
42054217} )
42064218class AutocompleteWithNumbers {
42074219 selectedNumber : number ;
@@ -4221,7 +4233,13 @@ class AutocompleteWithNumbers {
42214233 }
42224234 </mat-autocomplete>
42234235 ` ,
4224- standalone : false ,
4236+ imports : [
4237+ MatAutocomplete ,
4238+ MatAutocompleteTrigger ,
4239+ MatOption ,
4240+ MatInputModule ,
4241+ ReactiveFormsModule ,
4242+ ] ,
42254243} )
42264244class AutocompleteWithOnPushDelay implements OnInit {
42274245 @ViewChild ( MatAutocompleteTrigger ) trigger : MatAutocompleteTrigger ;
@@ -4244,7 +4262,7 @@ class AutocompleteWithOnPushDelay implements OnInit {
42444262 }
42454263 </mat-autocomplete>
42464264 ` ,
4247- standalone : false ,
4265+ imports : [ MatAutocomplete , MatAutocompleteTrigger , MatOption , ReactiveFormsModule , AsyncPipe ] ,
42484266} )
42494267class AutocompleteWithNativeInput {
42504268 optionCtrl = new FormControl ( '' ) ;
@@ -4268,7 +4286,7 @@ class AutocompleteWithNativeInput {
42684286
42694287@Component ( {
42704288 template : `<input placeholder="Choose" [matAutocomplete]="auto" [formControl]="control">` ,
4271- standalone : false ,
4289+ imports : [ MatAutocomplete , MatAutocompleteTrigger , MatOption , ReactiveFormsModule ] ,
42724290} )
42734291class AutocompleteWithoutPanel {
42744292 @ViewChild ( MatAutocompleteTrigger ) trigger : MatAutocompleteTrigger ;
@@ -4293,7 +4311,14 @@ class AutocompleteWithoutPanel {
42934311 }
42944312 </mat-autocomplete>
42954313 ` ,
4296- standalone : false ,
4314+ imports : [
4315+ MatAutocomplete ,
4316+ MatAutocompleteTrigger ,
4317+ MatOptgroup ,
4318+ MatOption ,
4319+ MatInputModule ,
4320+ FormsModule ,
4321+ ] ,
42974322} )
42984323class AutocompleteWithGroups {
42994324 @ViewChild ( MatAutocompleteTrigger ) trigger : MatAutocompleteTrigger ;
@@ -4334,7 +4359,14 @@ class AutocompleteWithGroups {
43344359 }
43354360 </mat-autocomplete>
43364361 ` ,
4337- standalone : false ,
4362+ imports : [
4363+ MatAutocomplete ,
4364+ MatAutocompleteTrigger ,
4365+ MatOptgroup ,
4366+ MatOption ,
4367+ MatInputModule ,
4368+ FormsModule ,
4369+ ] ,
43384370} )
43394371class AutocompleteWithIndirectGroups extends AutocompleteWithGroups { }
43404372
@@ -4352,7 +4384,7 @@ class AutocompleteWithIndirectGroups extends AutocompleteWithGroups {}
43524384 }
43534385 </mat-autocomplete>
43544386 ` ,
4355- standalone : false ,
4387+ imports : [ MatAutocomplete , MatAutocompleteTrigger , MatOption , MatInputModule , FormsModule ] ,
43564388} )
43574389class AutocompleteWithSelectEvent {
43584390 selectedState : string ;
@@ -4368,7 +4400,7 @@ class AutocompleteWithSelectEvent {
43684400 <input [formControl]="formControl" [matAutocomplete]="auto"/>
43694401 <mat-autocomplete #auto="matAutocomplete"></mat-autocomplete>
43704402 ` ,
4371- standalone : false ,
4403+ imports : [ MatAutocomplete , MatAutocompleteTrigger , MatOption , ReactiveFormsModule ] ,
43724404} )
43734405class PlainAutocompleteInputWithFormControl {
43744406 formControl = new FormControl ( '' ) ;
@@ -4386,7 +4418,7 @@ class PlainAutocompleteInputWithFormControl {
43864418 }
43874419 </mat-autocomplete>
43884420 ` ,
4389- standalone : false ,
4421+ imports : [ MatAutocomplete , MatAutocompleteTrigger , MatOption , MatInputModule , FormsModule ] ,
43904422} )
43914423class AutocompleteWithNumberInputAndNgModel {
43924424 selectedValue : number ;
@@ -4419,7 +4451,14 @@ class AutocompleteWithNumberInputAndNgModel {
44194451 }
44204452 </mat-autocomplete>
44214453 ` ,
4422- standalone : false ,
4454+ imports : [
4455+ MatAutocomplete ,
4456+ MatAutocompleteTrigger ,
4457+ MatAutocompleteOrigin ,
4458+ MatOption ,
4459+ MatInputModule ,
4460+ FormsModule ,
4461+ ] ,
44234462} )
44244463class AutocompleteWithDifferentOrigin {
44254464 @ViewChild ( MatAutocompleteTrigger ) trigger : MatAutocompleteTrigger ;
@@ -4434,15 +4473,15 @@ class AutocompleteWithDifferentOrigin {
44344473 <input autocomplete="changed" [(ngModel)]="value" [matAutocomplete]="auto"/>
44354474 <mat-autocomplete #auto="matAutocomplete"></mat-autocomplete>
44364475 ` ,
4437- standalone : false ,
4476+ imports : [ MatAutocomplete , MatAutocompleteTrigger , MatOption , FormsModule ] ,
44384477} )
44394478class AutocompleteWithNativeAutocompleteAttribute {
44404479 value : string ;
44414480}
44424481
44434482@Component ( {
44444483 template : '<input [matAutocomplete]="null" matAutocompleteDisabled>' ,
4445- standalone : false ,
4484+ imports : [ MatAutocomplete , MatAutocompleteTrigger , MatOption ] ,
44464485} )
44474486class InputWithoutAutocompleteAndDisabled { }
44484487
@@ -4458,7 +4497,7 @@ class InputWithoutAutocompleteAndDisabled {}
44584497 }
44594498 </mat-autocomplete>
44604499 ` ,
4461- standalone : false ,
4500+ imports : [ MatAutocomplete , MatAutocompleteTrigger , MatOption , MatInputModule ] ,
44624501} )
44634502class AutocompleteWithActivatedEvent {
44644503 states = [ 'California' , 'West Virginia' , 'Florida' ] ;
@@ -4470,7 +4509,6 @@ class AutocompleteWithActivatedEvent {
44704509}
44714510
44724511@Component ( {
4473- selector : 'autocomplete-inside-a-modal' ,
44744512 template : `
44754513 <button cdkOverlayOrigin #trigger="cdkOverlayOrigin">open dialog</button>
44764514 <ng-template cdkConnectedOverlay [cdkConnectedOverlayOpen]="true"
@@ -4488,7 +4526,14 @@ class AutocompleteWithActivatedEvent {
44884526 </div>
44894527 </ng-template>
44904528 ` ,
4491- standalone : false ,
4529+ imports : [
4530+ MatAutocomplete ,
4531+ MatAutocompleteTrigger ,
4532+ MatOption ,
4533+ MatInputModule ,
4534+ ReactiveFormsModule ,
4535+ OverlayModule ,
4536+ ] ,
44924537} )
44934538class AutocompleteInsideAModal {
44944539 foods = [
@@ -4506,7 +4551,6 @@ class AutocompleteInsideAModal {
45064551}
45074552
45084553@Component ( {
4509- selector : 'autocomplete-without-options' ,
45104554 template : `
45114555 <mat-form-field>
45124556 <input matInput [matAutocomplete]="auto">
@@ -4515,7 +4559,7 @@ class AutocompleteInsideAModal {
45154559 <mat-autocomplete #auto="matAutocomplete">
45164560 </mat-autocomplete>
45174561 ` ,
4518- standalone : false ,
4562+ imports : [ MatAutocomplete , MatAutocompleteTrigger , MatOption , MatInputModule ] ,
45194563} )
45204564class AutocompleteWithoutOptions {
45214565 @ViewChild ( MatAutocompleteTrigger , { static : true } ) trigger : MatAutocompleteTrigger ;
0 commit comments