MCPcopy Create free account
hub / github.com/angular/angular / createFixture

Function createFixture

packages/core/test/acceptance/defer_spec.ts:187–244  ·  view source on GitHub ↗

* Given a template, creates a component fixture and returns * a set of helper functions to trigger rendering of prefetching * of a defer block.

(template: string)

Source from the content-addressed store, hash-verified

185 * of a defer block.
186 */
187function createFixture(template: string) {
188 @Component({
189 selector: 'nested-cmp',
190 template: '{{ block }}',
191
192 changeDetection: ChangeDetectionStrategy.Eager,
193 })
194 class NestedCmp {
195 @Input() block!: string;
196 }
197
198 @Component({
199 selector: 'simple-app',
200 imports: [NestedCmp],
201 template,
202
203 changeDetection: ChangeDetectionStrategy.Eager,
204 })
205 class MyCmp {
206 trigger = false;
207 prefetchTrigger = false;
208 }
209
210 let loadingTimeout = 0;
211 const deferDepsInterceptor = {
212 intercept() {
213 return () => {
214 return [dynamicImportOf(NestedCmp, loadingTimeout)];
215 };
216 },
217 };
218
219 TestBed.configureTestingModule({
220 providers: [
221 ...COMMON_PROVIDERS,
222 {provide: ɵDEFER_BLOCK_DEPENDENCY_INTERCEPTOR, useValue: deferDepsInterceptor},
223 ],
224 });
225
226 clearDirectiveDefs(MyCmp);
227
228 const fixture = TestBed.createComponent(MyCmp);
229 fixture.detectChanges();
230
231 const trigger = (loadingResourcesTime: number) => () => {
232 loadingTimeout = loadingResourcesTime;
233 fixture.componentInstance.trigger = true;
234 fixture.detectChanges();
235 };
236
237 const triggerPrefetch = (loadingResourcesTime: number) => () => {
238 loadingTimeout = loadingResourcesTime;
239 fixture.componentInstance.prefetchTrigger = true;
240 fixture.detectChanges();
241 };
242
243 return {trigger, triggerPrefetch, fixture};
244}

Callers 1

defer_spec.tsFile · 0.70

Calls 4

clearDirectiveDefsFunction · 0.85
createComponentMethod · 0.65
detectChangesMethod · 0.45

Tested by

no test coverage detected