@jscutlery/playwright-ct-angular 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,982 +1,982 @@
1
- import { Type } from '@angular/core';
2
- import * as playwright from '@playwright/test';
3
- import { MockedFunction } from 'jest-mock';
4
- import type { Observable } from 'rxjs';
5
- import { InlineConfig } from 'vite';
6
- export declare const test: playwright.TestType<playwright.PlaywrightTestArgs & playwright.PlaywrightTestOptions & {
7
- [key: string]: any;
8
- } & {
9
- mount: ComponentFixtures['mount'];
10
- }, playwright.PlaywrightWorkerArgs & playwright.PlaywrightWorkerOptions>;
11
- export declare const expect: playwright.Expect;
12
- export declare const devices: {
13
- [key: string]: {
14
- viewport: playwright.ViewportSize;
15
- userAgent: string;
16
- deviceScaleFactor: number;
17
- isMobile: boolean;
18
- hasTouch: boolean;
19
- defaultBrowserType: "chromium" | "firefox" | "webkit";
20
- };
21
- "Blackberry PlayBook": {
22
- viewport: playwright.ViewportSize;
23
- userAgent: string;
24
- deviceScaleFactor: number;
25
- isMobile: boolean;
26
- hasTouch: boolean;
27
- defaultBrowserType: "chromium" | "firefox" | "webkit";
28
- };
29
- "Blackberry PlayBook landscape": {
30
- viewport: playwright.ViewportSize;
31
- userAgent: string;
32
- deviceScaleFactor: number;
33
- isMobile: boolean;
34
- hasTouch: boolean;
35
- defaultBrowserType: "chromium" | "firefox" | "webkit";
36
- };
37
- "BlackBerry Z30": {
38
- viewport: playwright.ViewportSize;
39
- userAgent: string;
40
- deviceScaleFactor: number;
41
- isMobile: boolean;
42
- hasTouch: boolean;
43
- defaultBrowserType: "chromium" | "firefox" | "webkit";
44
- };
45
- "BlackBerry Z30 landscape": {
46
- viewport: playwright.ViewportSize;
47
- userAgent: string;
48
- deviceScaleFactor: number;
49
- isMobile: boolean;
50
- hasTouch: boolean;
51
- defaultBrowserType: "chromium" | "firefox" | "webkit";
52
- };
53
- "Galaxy Note 3": {
54
- viewport: playwright.ViewportSize;
55
- userAgent: string;
56
- deviceScaleFactor: number;
57
- isMobile: boolean;
58
- hasTouch: boolean;
59
- defaultBrowserType: "chromium" | "firefox" | "webkit";
60
- };
61
- "Galaxy Note 3 landscape": {
62
- viewport: playwright.ViewportSize;
63
- userAgent: string;
64
- deviceScaleFactor: number;
65
- isMobile: boolean;
66
- hasTouch: boolean;
67
- defaultBrowserType: "chromium" | "firefox" | "webkit";
68
- };
69
- "Galaxy Note II": {
70
- viewport: playwright.ViewportSize;
71
- userAgent: string;
72
- deviceScaleFactor: number;
73
- isMobile: boolean;
74
- hasTouch: boolean;
75
- defaultBrowserType: "chromium" | "firefox" | "webkit";
76
- };
77
- "Galaxy Note II landscape": {
78
- viewport: playwright.ViewportSize;
79
- userAgent: string;
80
- deviceScaleFactor: number;
81
- isMobile: boolean;
82
- hasTouch: boolean;
83
- defaultBrowserType: "chromium" | "firefox" | "webkit";
84
- };
85
- "Galaxy S III": {
86
- viewport: playwright.ViewportSize;
87
- userAgent: string;
88
- deviceScaleFactor: number;
89
- isMobile: boolean;
90
- hasTouch: boolean;
91
- defaultBrowserType: "chromium" | "firefox" | "webkit";
92
- };
93
- "Galaxy S III landscape": {
94
- viewport: playwright.ViewportSize;
95
- userAgent: string;
96
- deviceScaleFactor: number;
97
- isMobile: boolean;
98
- hasTouch: boolean;
99
- defaultBrowserType: "chromium" | "firefox" | "webkit";
100
- };
101
- "Galaxy S5": {
102
- viewport: playwright.ViewportSize;
103
- userAgent: string;
104
- deviceScaleFactor: number;
105
- isMobile: boolean;
106
- hasTouch: boolean;
107
- defaultBrowserType: "chromium" | "firefox" | "webkit";
108
- };
109
- "Galaxy S5 landscape": {
110
- viewport: playwright.ViewportSize;
111
- userAgent: string;
112
- deviceScaleFactor: number;
113
- isMobile: boolean;
114
- hasTouch: boolean;
115
- defaultBrowserType: "chromium" | "firefox" | "webkit";
116
- };
117
- "Galaxy S8": {
118
- viewport: playwright.ViewportSize;
119
- userAgent: string;
120
- deviceScaleFactor: number;
121
- isMobile: boolean;
122
- hasTouch: boolean;
123
- defaultBrowserType: "chromium" | "firefox" | "webkit";
124
- };
125
- "Galaxy S8 landscape": {
126
- viewport: playwright.ViewportSize;
127
- userAgent: string;
128
- deviceScaleFactor: number;
129
- isMobile: boolean;
130
- hasTouch: boolean;
131
- defaultBrowserType: "chromium" | "firefox" | "webkit";
132
- };
133
- "Galaxy S9+": {
134
- viewport: playwright.ViewportSize;
135
- userAgent: string;
136
- deviceScaleFactor: number;
137
- isMobile: boolean;
138
- hasTouch: boolean;
139
- defaultBrowserType: "chromium" | "firefox" | "webkit";
140
- };
141
- "Galaxy S9+ landscape": {
142
- viewport: playwright.ViewportSize;
143
- userAgent: string;
144
- deviceScaleFactor: number;
145
- isMobile: boolean;
146
- hasTouch: boolean;
147
- defaultBrowserType: "chromium" | "firefox" | "webkit";
148
- };
149
- "Galaxy Tab S4": {
150
- viewport: playwright.ViewportSize;
151
- userAgent: string;
152
- deviceScaleFactor: number;
153
- isMobile: boolean;
154
- hasTouch: boolean;
155
- defaultBrowserType: "chromium" | "firefox" | "webkit";
156
- };
157
- "Galaxy Tab S4 landscape": {
158
- viewport: playwright.ViewportSize;
159
- userAgent: string;
160
- deviceScaleFactor: number;
161
- isMobile: boolean;
162
- hasTouch: boolean;
163
- defaultBrowserType: "chromium" | "firefox" | "webkit";
164
- };
165
- "iPad (gen 6)": {
166
- viewport: playwright.ViewportSize;
167
- userAgent: string;
168
- deviceScaleFactor: number;
169
- isMobile: boolean;
170
- hasTouch: boolean;
171
- defaultBrowserType: "chromium" | "firefox" | "webkit";
172
- };
173
- "iPad (gen 6) landscape": {
174
- viewport: playwright.ViewportSize;
175
- userAgent: string;
176
- deviceScaleFactor: number;
177
- isMobile: boolean;
178
- hasTouch: boolean;
179
- defaultBrowserType: "chromium" | "firefox" | "webkit";
180
- };
181
- "iPad (gen 7)": {
182
- viewport: playwright.ViewportSize;
183
- userAgent: string;
184
- deviceScaleFactor: number;
185
- isMobile: boolean;
186
- hasTouch: boolean;
187
- defaultBrowserType: "chromium" | "firefox" | "webkit";
188
- };
189
- "iPad (gen 7) landscape": {
190
- viewport: playwright.ViewportSize;
191
- userAgent: string;
192
- deviceScaleFactor: number;
193
- isMobile: boolean;
194
- hasTouch: boolean;
195
- defaultBrowserType: "chromium" | "firefox" | "webkit";
196
- };
197
- "iPad Mini": {
198
- viewport: playwright.ViewportSize;
199
- userAgent: string;
200
- deviceScaleFactor: number;
201
- isMobile: boolean;
202
- hasTouch: boolean;
203
- defaultBrowserType: "chromium" | "firefox" | "webkit";
204
- };
205
- "iPad Mini landscape": {
206
- viewport: playwright.ViewportSize;
207
- userAgent: string;
208
- deviceScaleFactor: number;
209
- isMobile: boolean;
210
- hasTouch: boolean;
211
- defaultBrowserType: "chromium" | "firefox" | "webkit";
212
- };
213
- "iPad Pro 11": {
214
- viewport: playwright.ViewportSize;
215
- userAgent: string;
216
- deviceScaleFactor: number;
217
- isMobile: boolean;
218
- hasTouch: boolean;
219
- defaultBrowserType: "chromium" | "firefox" | "webkit";
220
- };
221
- "iPad Pro 11 landscape": {
222
- viewport: playwright.ViewportSize;
223
- userAgent: string;
224
- deviceScaleFactor: number;
225
- isMobile: boolean;
226
- hasTouch: boolean;
227
- defaultBrowserType: "chromium" | "firefox" | "webkit";
228
- };
229
- "iPhone 6": {
230
- viewport: playwright.ViewportSize;
231
- userAgent: string;
232
- deviceScaleFactor: number;
233
- isMobile: boolean;
234
- hasTouch: boolean;
235
- defaultBrowserType: "chromium" | "firefox" | "webkit";
236
- };
237
- "iPhone 6 landscape": {
238
- viewport: playwright.ViewportSize;
239
- userAgent: string;
240
- deviceScaleFactor: number;
241
- isMobile: boolean;
242
- hasTouch: boolean;
243
- defaultBrowserType: "chromium" | "firefox" | "webkit";
244
- };
245
- "iPhone 6 Plus": {
246
- viewport: playwright.ViewportSize;
247
- userAgent: string;
248
- deviceScaleFactor: number;
249
- isMobile: boolean;
250
- hasTouch: boolean;
251
- defaultBrowserType: "chromium" | "firefox" | "webkit";
252
- };
253
- "iPhone 6 Plus landscape": {
254
- viewport: playwright.ViewportSize;
255
- userAgent: string;
256
- deviceScaleFactor: number;
257
- isMobile: boolean;
258
- hasTouch: boolean;
259
- defaultBrowserType: "chromium" | "firefox" | "webkit";
260
- };
261
- "iPhone 7": {
262
- viewport: playwright.ViewportSize;
263
- userAgent: string;
264
- deviceScaleFactor: number;
265
- isMobile: boolean;
266
- hasTouch: boolean;
267
- defaultBrowserType: "chromium" | "firefox" | "webkit";
268
- };
269
- "iPhone 7 landscape": {
270
- viewport: playwright.ViewportSize;
271
- userAgent: string;
272
- deviceScaleFactor: number;
273
- isMobile: boolean;
274
- hasTouch: boolean;
275
- defaultBrowserType: "chromium" | "firefox" | "webkit";
276
- };
277
- "iPhone 7 Plus": {
278
- viewport: playwright.ViewportSize;
279
- userAgent: string;
280
- deviceScaleFactor: number;
281
- isMobile: boolean;
282
- hasTouch: boolean;
283
- defaultBrowserType: "chromium" | "firefox" | "webkit";
284
- };
285
- "iPhone 7 Plus landscape": {
286
- viewport: playwright.ViewportSize;
287
- userAgent: string;
288
- deviceScaleFactor: number;
289
- isMobile: boolean;
290
- hasTouch: boolean;
291
- defaultBrowserType: "chromium" | "firefox" | "webkit";
292
- };
293
- "iPhone 8": {
294
- viewport: playwright.ViewportSize;
295
- userAgent: string;
296
- deviceScaleFactor: number;
297
- isMobile: boolean;
298
- hasTouch: boolean;
299
- defaultBrowserType: "chromium" | "firefox" | "webkit";
300
- };
301
- "iPhone 8 landscape": {
302
- viewport: playwright.ViewportSize;
303
- userAgent: string;
304
- deviceScaleFactor: number;
305
- isMobile: boolean;
306
- hasTouch: boolean;
307
- defaultBrowserType: "chromium" | "firefox" | "webkit";
308
- };
309
- "iPhone 8 Plus": {
310
- viewport: playwright.ViewportSize;
311
- userAgent: string;
312
- deviceScaleFactor: number;
313
- isMobile: boolean;
314
- hasTouch: boolean;
315
- defaultBrowserType: "chromium" | "firefox" | "webkit";
316
- };
317
- "iPhone 8 Plus landscape": {
318
- viewport: playwright.ViewportSize;
319
- userAgent: string;
320
- deviceScaleFactor: number;
321
- isMobile: boolean;
322
- hasTouch: boolean;
323
- defaultBrowserType: "chromium" | "firefox" | "webkit";
324
- };
325
- "iPhone SE": {
326
- viewport: playwright.ViewportSize;
327
- userAgent: string;
328
- deviceScaleFactor: number;
329
- isMobile: boolean;
330
- hasTouch: boolean;
331
- defaultBrowserType: "chromium" | "firefox" | "webkit";
332
- };
333
- "iPhone SE landscape": {
334
- viewport: playwright.ViewportSize;
335
- userAgent: string;
336
- deviceScaleFactor: number;
337
- isMobile: boolean;
338
- hasTouch: boolean;
339
- defaultBrowserType: "chromium" | "firefox" | "webkit";
340
- };
341
- "iPhone X": {
342
- viewport: playwright.ViewportSize;
343
- userAgent: string;
344
- deviceScaleFactor: number;
345
- isMobile: boolean;
346
- hasTouch: boolean;
347
- defaultBrowserType: "chromium" | "firefox" | "webkit";
348
- };
349
- "iPhone X landscape": {
350
- viewport: playwright.ViewportSize;
351
- userAgent: string;
352
- deviceScaleFactor: number;
353
- isMobile: boolean;
354
- hasTouch: boolean;
355
- defaultBrowserType: "chromium" | "firefox" | "webkit";
356
- };
357
- "iPhone XR": {
358
- viewport: playwright.ViewportSize;
359
- userAgent: string;
360
- deviceScaleFactor: number;
361
- isMobile: boolean;
362
- hasTouch: boolean;
363
- defaultBrowserType: "chromium" | "firefox" | "webkit";
364
- };
365
- "iPhone XR landscape": {
366
- viewport: playwright.ViewportSize;
367
- userAgent: string;
368
- deviceScaleFactor: number;
369
- isMobile: boolean;
370
- hasTouch: boolean;
371
- defaultBrowserType: "chromium" | "firefox" | "webkit";
372
- };
373
- "iPhone 11": {
374
- viewport: playwright.ViewportSize;
375
- userAgent: string;
376
- deviceScaleFactor: number;
377
- isMobile: boolean;
378
- hasTouch: boolean;
379
- defaultBrowserType: "chromium" | "firefox" | "webkit";
380
- };
381
- "iPhone 11 landscape": {
382
- viewport: playwright.ViewportSize;
383
- userAgent: string;
384
- deviceScaleFactor: number;
385
- isMobile: boolean;
386
- hasTouch: boolean;
387
- defaultBrowserType: "chromium" | "firefox" | "webkit";
388
- };
389
- "iPhone 11 Pro": {
390
- viewport: playwright.ViewportSize;
391
- userAgent: string;
392
- deviceScaleFactor: number;
393
- isMobile: boolean;
394
- hasTouch: boolean;
395
- defaultBrowserType: "chromium" | "firefox" | "webkit";
396
- };
397
- "iPhone 11 Pro landscape": {
398
- viewport: playwright.ViewportSize;
399
- userAgent: string;
400
- deviceScaleFactor: number;
401
- isMobile: boolean;
402
- hasTouch: boolean;
403
- defaultBrowserType: "chromium" | "firefox" | "webkit";
404
- };
405
- "iPhone 11 Pro Max": {
406
- viewport: playwright.ViewportSize;
407
- userAgent: string;
408
- deviceScaleFactor: number;
409
- isMobile: boolean;
410
- hasTouch: boolean;
411
- defaultBrowserType: "chromium" | "firefox" | "webkit";
412
- };
413
- "iPhone 11 Pro Max landscape": {
414
- viewport: playwright.ViewportSize;
415
- userAgent: string;
416
- deviceScaleFactor: number;
417
- isMobile: boolean;
418
- hasTouch: boolean;
419
- defaultBrowserType: "chromium" | "firefox" | "webkit";
420
- };
421
- "iPhone 12": {
422
- viewport: playwright.ViewportSize;
423
- userAgent: string;
424
- deviceScaleFactor: number;
425
- isMobile: boolean;
426
- hasTouch: boolean;
427
- defaultBrowserType: "chromium" | "firefox" | "webkit";
428
- };
429
- "iPhone 12 landscape": {
430
- viewport: playwright.ViewportSize;
431
- userAgent: string;
432
- deviceScaleFactor: number;
433
- isMobile: boolean;
434
- hasTouch: boolean;
435
- defaultBrowserType: "chromium" | "firefox" | "webkit";
436
- };
437
- "iPhone 12 Pro": {
438
- viewport: playwright.ViewportSize;
439
- userAgent: string;
440
- deviceScaleFactor: number;
441
- isMobile: boolean;
442
- hasTouch: boolean;
443
- defaultBrowserType: "chromium" | "firefox" | "webkit";
444
- };
445
- "iPhone 12 Pro landscape": {
446
- viewport: playwright.ViewportSize;
447
- userAgent: string;
448
- deviceScaleFactor: number;
449
- isMobile: boolean;
450
- hasTouch: boolean;
451
- defaultBrowserType: "chromium" | "firefox" | "webkit";
452
- };
453
- "iPhone 12 Pro Max": {
454
- viewport: playwright.ViewportSize;
455
- userAgent: string;
456
- deviceScaleFactor: number;
457
- isMobile: boolean;
458
- hasTouch: boolean;
459
- defaultBrowserType: "chromium" | "firefox" | "webkit";
460
- };
461
- "iPhone 12 Pro Max landscape": {
462
- viewport: playwright.ViewportSize;
463
- userAgent: string;
464
- deviceScaleFactor: number;
465
- isMobile: boolean;
466
- hasTouch: boolean;
467
- defaultBrowserType: "chromium" | "firefox" | "webkit";
468
- };
469
- "iPhone 12 Mini": {
470
- viewport: playwright.ViewportSize;
471
- userAgent: string;
472
- deviceScaleFactor: number;
473
- isMobile: boolean;
474
- hasTouch: boolean;
475
- defaultBrowserType: "chromium" | "firefox" | "webkit";
476
- };
477
- "iPhone 12 Mini landscape": {
478
- viewport: playwright.ViewportSize;
479
- userAgent: string;
480
- deviceScaleFactor: number;
481
- isMobile: boolean;
482
- hasTouch: boolean;
483
- defaultBrowserType: "chromium" | "firefox" | "webkit";
484
- };
485
- "iPhone 13": {
486
- viewport: playwright.ViewportSize;
487
- userAgent: string;
488
- deviceScaleFactor: number;
489
- isMobile: boolean;
490
- hasTouch: boolean;
491
- defaultBrowserType: "chromium" | "firefox" | "webkit";
492
- };
493
- "iPhone 13 landscape": {
494
- viewport: playwright.ViewportSize;
495
- userAgent: string;
496
- deviceScaleFactor: number;
497
- isMobile: boolean;
498
- hasTouch: boolean;
499
- defaultBrowserType: "chromium" | "firefox" | "webkit";
500
- };
501
- "iPhone 13 Pro": {
502
- viewport: playwright.ViewportSize;
503
- userAgent: string;
504
- deviceScaleFactor: number;
505
- isMobile: boolean;
506
- hasTouch: boolean;
507
- defaultBrowserType: "chromium" | "firefox" | "webkit";
508
- };
509
- "iPhone 13 Pro landscape": {
510
- viewport: playwright.ViewportSize;
511
- userAgent: string;
512
- deviceScaleFactor: number;
513
- isMobile: boolean;
514
- hasTouch: boolean;
515
- defaultBrowserType: "chromium" | "firefox" | "webkit";
516
- };
517
- "iPhone 13 Pro Max": {
518
- viewport: playwright.ViewportSize;
519
- userAgent: string;
520
- deviceScaleFactor: number;
521
- isMobile: boolean;
522
- hasTouch: boolean;
523
- defaultBrowserType: "chromium" | "firefox" | "webkit";
524
- };
525
- "iPhone 13 Pro Max landscape": {
526
- viewport: playwright.ViewportSize;
527
- userAgent: string;
528
- deviceScaleFactor: number;
529
- isMobile: boolean;
530
- hasTouch: boolean;
531
- defaultBrowserType: "chromium" | "firefox" | "webkit";
532
- };
533
- "iPhone 13 Mini": {
534
- viewport: playwright.ViewportSize;
535
- userAgent: string;
536
- deviceScaleFactor: number;
537
- isMobile: boolean;
538
- hasTouch: boolean;
539
- defaultBrowserType: "chromium" | "firefox" | "webkit";
540
- };
541
- "iPhone 13 Mini landscape": {
542
- viewport: playwright.ViewportSize;
543
- userAgent: string;
544
- deviceScaleFactor: number;
545
- isMobile: boolean;
546
- hasTouch: boolean;
547
- defaultBrowserType: "chromium" | "firefox" | "webkit";
548
- };
549
- "Kindle Fire HDX": {
550
- viewport: playwright.ViewportSize;
551
- userAgent: string;
552
- deviceScaleFactor: number;
553
- isMobile: boolean;
554
- hasTouch: boolean;
555
- defaultBrowserType: "chromium" | "firefox" | "webkit";
556
- };
557
- "Kindle Fire HDX landscape": {
558
- viewport: playwright.ViewportSize;
559
- userAgent: string;
560
- deviceScaleFactor: number;
561
- isMobile: boolean;
562
- hasTouch: boolean;
563
- defaultBrowserType: "chromium" | "firefox" | "webkit";
564
- };
565
- "LG Optimus L70": {
566
- viewport: playwright.ViewportSize;
567
- userAgent: string;
568
- deviceScaleFactor: number;
569
- isMobile: boolean;
570
- hasTouch: boolean;
571
- defaultBrowserType: "chromium" | "firefox" | "webkit";
572
- };
573
- "LG Optimus L70 landscape": {
574
- viewport: playwright.ViewportSize;
575
- userAgent: string;
576
- deviceScaleFactor: number;
577
- isMobile: boolean;
578
- hasTouch: boolean;
579
- defaultBrowserType: "chromium" | "firefox" | "webkit";
580
- };
581
- "Microsoft Lumia 550": {
582
- viewport: playwright.ViewportSize;
583
- userAgent: string;
584
- deviceScaleFactor: number;
585
- isMobile: boolean;
586
- hasTouch: boolean;
587
- defaultBrowserType: "chromium" | "firefox" | "webkit";
588
- };
589
- "Microsoft Lumia 550 landscape": {
590
- viewport: playwright.ViewportSize;
591
- userAgent: string;
592
- deviceScaleFactor: number;
593
- isMobile: boolean;
594
- hasTouch: boolean;
595
- defaultBrowserType: "chromium" | "firefox" | "webkit";
596
- };
597
- "Microsoft Lumia 950": {
598
- viewport: playwright.ViewportSize;
599
- userAgent: string;
600
- deviceScaleFactor: number;
601
- isMobile: boolean;
602
- hasTouch: boolean;
603
- defaultBrowserType: "chromium" | "firefox" | "webkit";
604
- };
605
- "Microsoft Lumia 950 landscape": {
606
- viewport: playwright.ViewportSize;
607
- userAgent: string;
608
- deviceScaleFactor: number;
609
- isMobile: boolean;
610
- hasTouch: boolean;
611
- defaultBrowserType: "chromium" | "firefox" | "webkit";
612
- };
613
- "Nexus 10": {
614
- viewport: playwright.ViewportSize;
615
- userAgent: string;
616
- deviceScaleFactor: number;
617
- isMobile: boolean;
618
- hasTouch: boolean;
619
- defaultBrowserType: "chromium" | "firefox" | "webkit";
620
- };
621
- "Nexus 10 landscape": {
622
- viewport: playwright.ViewportSize;
623
- userAgent: string;
624
- deviceScaleFactor: number;
625
- isMobile: boolean;
626
- hasTouch: boolean;
627
- defaultBrowserType: "chromium" | "firefox" | "webkit";
628
- };
629
- "Nexus 4": {
630
- viewport: playwright.ViewportSize;
631
- userAgent: string;
632
- deviceScaleFactor: number;
633
- isMobile: boolean;
634
- hasTouch: boolean;
635
- defaultBrowserType: "chromium" | "firefox" | "webkit";
636
- };
637
- "Nexus 4 landscape": {
638
- viewport: playwright.ViewportSize;
639
- userAgent: string;
640
- deviceScaleFactor: number;
641
- isMobile: boolean;
642
- hasTouch: boolean;
643
- defaultBrowserType: "chromium" | "firefox" | "webkit";
644
- };
645
- "Nexus 5": {
646
- viewport: playwright.ViewportSize;
647
- userAgent: string;
648
- deviceScaleFactor: number;
649
- isMobile: boolean;
650
- hasTouch: boolean;
651
- defaultBrowserType: "chromium" | "firefox" | "webkit";
652
- };
653
- "Nexus 5 landscape": {
654
- viewport: playwright.ViewportSize;
655
- userAgent: string;
656
- deviceScaleFactor: number;
657
- isMobile: boolean;
658
- hasTouch: boolean;
659
- defaultBrowserType: "chromium" | "firefox" | "webkit";
660
- };
661
- "Nexus 5X": {
662
- viewport: playwright.ViewportSize;
663
- userAgent: string;
664
- deviceScaleFactor: number;
665
- isMobile: boolean;
666
- hasTouch: boolean;
667
- defaultBrowserType: "chromium" | "firefox" | "webkit";
668
- };
669
- "Nexus 5X landscape": {
670
- viewport: playwright.ViewportSize;
671
- userAgent: string;
672
- deviceScaleFactor: number;
673
- isMobile: boolean;
674
- hasTouch: boolean;
675
- defaultBrowserType: "chromium" | "firefox" | "webkit";
676
- };
677
- "Nexus 6": {
678
- viewport: playwright.ViewportSize;
679
- userAgent: string;
680
- deviceScaleFactor: number;
681
- isMobile: boolean;
682
- hasTouch: boolean;
683
- defaultBrowserType: "chromium" | "firefox" | "webkit";
684
- };
685
- "Nexus 6 landscape": {
686
- viewport: playwright.ViewportSize;
687
- userAgent: string;
688
- deviceScaleFactor: number;
689
- isMobile: boolean;
690
- hasTouch: boolean;
691
- defaultBrowserType: "chromium" | "firefox" | "webkit";
692
- };
693
- "Nexus 6P": {
694
- viewport: playwright.ViewportSize;
695
- userAgent: string;
696
- deviceScaleFactor: number;
697
- isMobile: boolean;
698
- hasTouch: boolean;
699
- defaultBrowserType: "chromium" | "firefox" | "webkit";
700
- };
701
- "Nexus 6P landscape": {
702
- viewport: playwright.ViewportSize;
703
- userAgent: string;
704
- deviceScaleFactor: number;
705
- isMobile: boolean;
706
- hasTouch: boolean;
707
- defaultBrowserType: "chromium" | "firefox" | "webkit";
708
- };
709
- "Nexus 7": {
710
- viewport: playwright.ViewportSize;
711
- userAgent: string;
712
- deviceScaleFactor: number;
713
- isMobile: boolean;
714
- hasTouch: boolean;
715
- defaultBrowserType: "chromium" | "firefox" | "webkit";
716
- };
717
- "Nexus 7 landscape": {
718
- viewport: playwright.ViewportSize;
719
- userAgent: string;
720
- deviceScaleFactor: number;
721
- isMobile: boolean;
722
- hasTouch: boolean;
723
- defaultBrowserType: "chromium" | "firefox" | "webkit";
724
- };
725
- "Nokia Lumia 520": {
726
- viewport: playwright.ViewportSize;
727
- userAgent: string;
728
- deviceScaleFactor: number;
729
- isMobile: boolean;
730
- hasTouch: boolean;
731
- defaultBrowserType: "chromium" | "firefox" | "webkit";
732
- };
733
- "Nokia Lumia 520 landscape": {
734
- viewport: playwright.ViewportSize;
735
- userAgent: string;
736
- deviceScaleFactor: number;
737
- isMobile: boolean;
738
- hasTouch: boolean;
739
- defaultBrowserType: "chromium" | "firefox" | "webkit";
740
- };
741
- "Nokia N9": {
742
- viewport: playwright.ViewportSize;
743
- userAgent: string;
744
- deviceScaleFactor: number;
745
- isMobile: boolean;
746
- hasTouch: boolean;
747
- defaultBrowserType: "chromium" | "firefox" | "webkit";
748
- };
749
- "Nokia N9 landscape": {
750
- viewport: playwright.ViewportSize;
751
- userAgent: string;
752
- deviceScaleFactor: number;
753
- isMobile: boolean;
754
- hasTouch: boolean;
755
- defaultBrowserType: "chromium" | "firefox" | "webkit";
756
- };
757
- "Pixel 2": {
758
- viewport: playwright.ViewportSize;
759
- userAgent: string;
760
- deviceScaleFactor: number;
761
- isMobile: boolean;
762
- hasTouch: boolean;
763
- defaultBrowserType: "chromium" | "firefox" | "webkit";
764
- };
765
- "Pixel 2 landscape": {
766
- viewport: playwright.ViewportSize;
767
- userAgent: string;
768
- deviceScaleFactor: number;
769
- isMobile: boolean;
770
- hasTouch: boolean;
771
- defaultBrowserType: "chromium" | "firefox" | "webkit";
772
- };
773
- "Pixel 2 XL": {
774
- viewport: playwright.ViewportSize;
775
- userAgent: string;
776
- deviceScaleFactor: number;
777
- isMobile: boolean;
778
- hasTouch: boolean;
779
- defaultBrowserType: "chromium" | "firefox" | "webkit";
780
- };
781
- "Pixel 2 XL landscape": {
782
- viewport: playwright.ViewportSize;
783
- userAgent: string;
784
- deviceScaleFactor: number;
785
- isMobile: boolean;
786
- hasTouch: boolean;
787
- defaultBrowserType: "chromium" | "firefox" | "webkit";
788
- };
789
- "Pixel 3": {
790
- viewport: playwright.ViewportSize;
791
- userAgent: string;
792
- deviceScaleFactor: number;
793
- isMobile: boolean;
794
- hasTouch: boolean;
795
- defaultBrowserType: "chromium" | "firefox" | "webkit";
796
- };
797
- "Pixel 3 landscape": {
798
- viewport: playwright.ViewportSize;
799
- userAgent: string;
800
- deviceScaleFactor: number;
801
- isMobile: boolean;
802
- hasTouch: boolean;
803
- defaultBrowserType: "chromium" | "firefox" | "webkit";
804
- };
805
- "Pixel 4": {
806
- viewport: playwright.ViewportSize;
807
- userAgent: string;
808
- deviceScaleFactor: number;
809
- isMobile: boolean;
810
- hasTouch: boolean;
811
- defaultBrowserType: "chromium" | "firefox" | "webkit";
812
- };
813
- "Pixel 4 landscape": {
814
- viewport: playwright.ViewportSize;
815
- userAgent: string;
816
- deviceScaleFactor: number;
817
- isMobile: boolean;
818
- hasTouch: boolean;
819
- defaultBrowserType: "chromium" | "firefox" | "webkit";
820
- };
821
- "Pixel 4a (5G)": {
822
- viewport: playwright.ViewportSize;
823
- userAgent: string;
824
- deviceScaleFactor: number;
825
- isMobile: boolean;
826
- hasTouch: boolean;
827
- defaultBrowserType: "chromium" | "firefox" | "webkit";
828
- };
829
- "Pixel 4a (5G) landscape": {
830
- viewport: playwright.ViewportSize;
831
- userAgent: string;
832
- deviceScaleFactor: number;
833
- isMobile: boolean;
834
- hasTouch: boolean;
835
- defaultBrowserType: "chromium" | "firefox" | "webkit";
836
- };
837
- "Pixel 5": {
838
- viewport: playwright.ViewportSize;
839
- userAgent: string;
840
- deviceScaleFactor: number;
841
- isMobile: boolean;
842
- hasTouch: boolean;
843
- defaultBrowserType: "chromium" | "firefox" | "webkit";
844
- };
845
- "Pixel 5 landscape": {
846
- viewport: playwright.ViewportSize;
847
- userAgent: string;
848
- deviceScaleFactor: number;
849
- isMobile: boolean;
850
- hasTouch: boolean;
851
- defaultBrowserType: "chromium" | "firefox" | "webkit";
852
- };
853
- "Moto G4": {
854
- viewport: playwright.ViewportSize;
855
- userAgent: string;
856
- deviceScaleFactor: number;
857
- isMobile: boolean;
858
- hasTouch: boolean;
859
- defaultBrowserType: "chromium" | "firefox" | "webkit";
860
- };
861
- "Moto G4 landscape": {
862
- viewport: playwright.ViewportSize;
863
- userAgent: string;
864
- deviceScaleFactor: number;
865
- isMobile: boolean;
866
- hasTouch: boolean;
867
- defaultBrowserType: "chromium" | "firefox" | "webkit";
868
- };
869
- "Desktop Chrome HiDPI": {
870
- viewport: playwright.ViewportSize;
871
- userAgent: string;
872
- deviceScaleFactor: number;
873
- isMobile: boolean;
874
- hasTouch: boolean;
875
- defaultBrowserType: "chromium" | "firefox" | "webkit";
876
- };
877
- "Desktop Edge HiDPI": {
878
- viewport: playwright.ViewportSize;
879
- userAgent: string;
880
- deviceScaleFactor: number;
881
- isMobile: boolean;
882
- hasTouch: boolean;
883
- defaultBrowserType: "chromium" | "firefox" | "webkit";
884
- };
885
- "Desktop Firefox HiDPI": {
886
- viewport: playwright.ViewportSize;
887
- userAgent: string;
888
- deviceScaleFactor: number;
889
- isMobile: boolean;
890
- hasTouch: boolean;
891
- defaultBrowserType: "chromium" | "firefox" | "webkit";
892
- };
893
- "Desktop Safari": {
894
- viewport: playwright.ViewportSize;
895
- userAgent: string;
896
- deviceScaleFactor: number;
897
- isMobile: boolean;
898
- hasTouch: boolean;
899
- defaultBrowserType: "chromium" | "firefox" | "webkit";
900
- };
901
- "Desktop Chrome": {
902
- viewport: playwright.ViewportSize;
903
- userAgent: string;
904
- deviceScaleFactor: number;
905
- isMobile: boolean;
906
- hasTouch: boolean;
907
- defaultBrowserType: "chromium" | "firefox" | "webkit";
908
- };
909
- "Desktop Edge": {
910
- viewport: playwright.ViewportSize;
911
- userAgent: string;
912
- deviceScaleFactor: number;
913
- isMobile: boolean;
914
- hasTouch: boolean;
915
- defaultBrowserType: "chromium" | "firefox" | "webkit";
916
- };
917
- "Desktop Firefox": {
918
- viewport: playwright.ViewportSize;
919
- userAgent: string;
920
- deviceScaleFactor: number;
921
- isMobile: boolean;
922
- hasTouch: boolean;
923
- defaultBrowserType: "chromium" | "firefox" | "webkit";
924
- };
925
- };
926
- export interface ComponentFixtures {
927
- mount<COMPONENT, SPIED_OUTPUT extends keyof COMPONENT>(component: Type<COMPONENT>, options?: MountOptions<COMPONENT, SPIED_OUTPUT>): Promise<MountResult<COMPONENT, SPIED_OUTPUT>>;
928
- }
929
- export interface MountOptions<COMPONENT, SPIED_OUTPUT> {
930
- inputs?: Partial<COMPONENT>;
931
- outputs?: Outputs<COMPONENT>;
932
- spyOutputs?: Array<SPIED_OUTPUT>;
933
- }
934
- export declare type Outputs<COMPONENT> = Partial<{
935
- [K in keyof COMPONENT]: COMPONENT[K] extends Observable<unknown> ? (value: Emitted<COMPONENT[K]>) => void : COMPONENT[K];
936
- }>;
937
- export interface MountResult<COMPONENT, SPIED_OUTPUT extends keyof COMPONENT> extends playwright.Locator {
938
- spies: Spies<COMPONENT, SPIED_OUTPUT>;
939
- }
940
- export declare type Spies<COMPONENT, SPIED_OUTPUT extends keyof COMPONENT> = Partial<{
941
- [K in SPIED_OUTPUT]: COMPONENT[K] extends Observable<unknown> ? MockedFunction<(value: Emitted<COMPONENT[K]>) => void> : COMPONENT[K];
942
- }>;
943
- export declare type PlaywrightTestConfig = Omit<playwright.PlaywrightTestConfig, 'use'> & {
944
- use?: playwright.PlaywrightTestConfig['use'] & {
945
- ctPort?: number;
946
- ctTemplateDir?: string;
947
- ctCacheDir?: string;
948
- ctViteConfig?: InlineConfig;
949
- };
950
- };
951
- declare type Emitted<OBSERVABLE> = OBSERVABLE extends Observable<infer EMITTED> ? EMITTED : OBSERVABLE;
952
- /**
953
- * Fixing matchers typing to add Jest spy matchers.
954
- Cf. https://github.com/microsoft/playwright/tree/20957f820d34a53003ab0722fa149c80fedec846/packages/playwright-test/types */
955
- declare global {
956
- export namespace PlaywrightTest {
957
- interface Matchers<R, T = unknown> {
958
- lastCalledWith(...args: Array<unknown>): R;
959
- lastReturnedWith(value: unknown): R;
960
- not: Matchers<R>;
961
- nthCalledWith(nthCall: number, ...args: Array<unknown>): R;
962
- nthReturnedWith(n: number, value: unknown): R;
963
- toBeCalled(): R;
964
- toBeCalledTimes(expected: number): R;
965
- toBeCalledWith(...args: Array<unknown>): R;
966
- toHaveBeenCalled(): R;
967
- toHaveBeenCalledTimes(expected: number): R;
968
- toHaveBeenCalledWith(...args: Array<unknown>): R;
969
- toHaveBeenNthCalledWith(nthCall: number, ...args: Array<unknown>): R;
970
- toHaveBeenLastCalledWith(...args: Array<unknown>): R;
971
- toHaveLastReturnedWith(expected: unknown): R;
972
- toHaveNthReturnedWith(nthCall: number, expected: unknown): R;
973
- toHaveReturned(): R;
974
- toHaveReturnedTimes(expected: number): R;
975
- toHaveReturnedWith(expected: unknown): R;
976
- toReturn(): R;
977
- toReturnTimes(count: number): R;
978
- toReturnWith(value: unknown): R;
979
- }
980
- }
981
- }
982
- export {};
1
+ import { Type } from '@angular/core';
2
+ import * as playwright from '@playwright/test';
3
+ import { MockedFunction } from 'jest-mock';
4
+ import type { Observable } from 'rxjs';
5
+ import { InlineConfig } from 'vite';
6
+ export declare const test: playwright.TestType<playwright.PlaywrightTestArgs & playwright.PlaywrightTestOptions & {
7
+ [key: string]: any;
8
+ } & {
9
+ mount: ComponentFixtures['mount'];
10
+ }, playwright.PlaywrightWorkerArgs & playwright.PlaywrightWorkerOptions>;
11
+ export declare const expect: playwright.Expect;
12
+ export declare const devices: {
13
+ [key: string]: {
14
+ viewport: playwright.ViewportSize;
15
+ userAgent: string;
16
+ deviceScaleFactor: number;
17
+ isMobile: boolean;
18
+ hasTouch: boolean;
19
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
20
+ };
21
+ "Blackberry PlayBook": {
22
+ viewport: playwright.ViewportSize;
23
+ userAgent: string;
24
+ deviceScaleFactor: number;
25
+ isMobile: boolean;
26
+ hasTouch: boolean;
27
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
28
+ };
29
+ "Blackberry PlayBook landscape": {
30
+ viewport: playwright.ViewportSize;
31
+ userAgent: string;
32
+ deviceScaleFactor: number;
33
+ isMobile: boolean;
34
+ hasTouch: boolean;
35
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
36
+ };
37
+ "BlackBerry Z30": {
38
+ viewport: playwright.ViewportSize;
39
+ userAgent: string;
40
+ deviceScaleFactor: number;
41
+ isMobile: boolean;
42
+ hasTouch: boolean;
43
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
44
+ };
45
+ "BlackBerry Z30 landscape": {
46
+ viewport: playwright.ViewportSize;
47
+ userAgent: string;
48
+ deviceScaleFactor: number;
49
+ isMobile: boolean;
50
+ hasTouch: boolean;
51
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
52
+ };
53
+ "Galaxy Note 3": {
54
+ viewport: playwright.ViewportSize;
55
+ userAgent: string;
56
+ deviceScaleFactor: number;
57
+ isMobile: boolean;
58
+ hasTouch: boolean;
59
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
60
+ };
61
+ "Galaxy Note 3 landscape": {
62
+ viewport: playwright.ViewportSize;
63
+ userAgent: string;
64
+ deviceScaleFactor: number;
65
+ isMobile: boolean;
66
+ hasTouch: boolean;
67
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
68
+ };
69
+ "Galaxy Note II": {
70
+ viewport: playwright.ViewportSize;
71
+ userAgent: string;
72
+ deviceScaleFactor: number;
73
+ isMobile: boolean;
74
+ hasTouch: boolean;
75
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
76
+ };
77
+ "Galaxy Note II landscape": {
78
+ viewport: playwright.ViewportSize;
79
+ userAgent: string;
80
+ deviceScaleFactor: number;
81
+ isMobile: boolean;
82
+ hasTouch: boolean;
83
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
84
+ };
85
+ "Galaxy S III": {
86
+ viewport: playwright.ViewportSize;
87
+ userAgent: string;
88
+ deviceScaleFactor: number;
89
+ isMobile: boolean;
90
+ hasTouch: boolean;
91
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
92
+ };
93
+ "Galaxy S III landscape": {
94
+ viewport: playwright.ViewportSize;
95
+ userAgent: string;
96
+ deviceScaleFactor: number;
97
+ isMobile: boolean;
98
+ hasTouch: boolean;
99
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
100
+ };
101
+ "Galaxy S5": {
102
+ viewport: playwright.ViewportSize;
103
+ userAgent: string;
104
+ deviceScaleFactor: number;
105
+ isMobile: boolean;
106
+ hasTouch: boolean;
107
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
108
+ };
109
+ "Galaxy S5 landscape": {
110
+ viewport: playwright.ViewportSize;
111
+ userAgent: string;
112
+ deviceScaleFactor: number;
113
+ isMobile: boolean;
114
+ hasTouch: boolean;
115
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
116
+ };
117
+ "Galaxy S8": {
118
+ viewport: playwright.ViewportSize;
119
+ userAgent: string;
120
+ deviceScaleFactor: number;
121
+ isMobile: boolean;
122
+ hasTouch: boolean;
123
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
124
+ };
125
+ "Galaxy S8 landscape": {
126
+ viewport: playwright.ViewportSize;
127
+ userAgent: string;
128
+ deviceScaleFactor: number;
129
+ isMobile: boolean;
130
+ hasTouch: boolean;
131
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
132
+ };
133
+ "Galaxy S9+": {
134
+ viewport: playwright.ViewportSize;
135
+ userAgent: string;
136
+ deviceScaleFactor: number;
137
+ isMobile: boolean;
138
+ hasTouch: boolean;
139
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
140
+ };
141
+ "Galaxy S9+ landscape": {
142
+ viewport: playwright.ViewportSize;
143
+ userAgent: string;
144
+ deviceScaleFactor: number;
145
+ isMobile: boolean;
146
+ hasTouch: boolean;
147
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
148
+ };
149
+ "Galaxy Tab S4": {
150
+ viewport: playwright.ViewportSize;
151
+ userAgent: string;
152
+ deviceScaleFactor: number;
153
+ isMobile: boolean;
154
+ hasTouch: boolean;
155
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
156
+ };
157
+ "Galaxy Tab S4 landscape": {
158
+ viewport: playwright.ViewportSize;
159
+ userAgent: string;
160
+ deviceScaleFactor: number;
161
+ isMobile: boolean;
162
+ hasTouch: boolean;
163
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
164
+ };
165
+ "iPad (gen 6)": {
166
+ viewport: playwright.ViewportSize;
167
+ userAgent: string;
168
+ deviceScaleFactor: number;
169
+ isMobile: boolean;
170
+ hasTouch: boolean;
171
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
172
+ };
173
+ "iPad (gen 6) landscape": {
174
+ viewport: playwright.ViewportSize;
175
+ userAgent: string;
176
+ deviceScaleFactor: number;
177
+ isMobile: boolean;
178
+ hasTouch: boolean;
179
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
180
+ };
181
+ "iPad (gen 7)": {
182
+ viewport: playwright.ViewportSize;
183
+ userAgent: string;
184
+ deviceScaleFactor: number;
185
+ isMobile: boolean;
186
+ hasTouch: boolean;
187
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
188
+ };
189
+ "iPad (gen 7) landscape": {
190
+ viewport: playwright.ViewportSize;
191
+ userAgent: string;
192
+ deviceScaleFactor: number;
193
+ isMobile: boolean;
194
+ hasTouch: boolean;
195
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
196
+ };
197
+ "iPad Mini": {
198
+ viewport: playwright.ViewportSize;
199
+ userAgent: string;
200
+ deviceScaleFactor: number;
201
+ isMobile: boolean;
202
+ hasTouch: boolean;
203
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
204
+ };
205
+ "iPad Mini landscape": {
206
+ viewport: playwright.ViewportSize;
207
+ userAgent: string;
208
+ deviceScaleFactor: number;
209
+ isMobile: boolean;
210
+ hasTouch: boolean;
211
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
212
+ };
213
+ "iPad Pro 11": {
214
+ viewport: playwright.ViewportSize;
215
+ userAgent: string;
216
+ deviceScaleFactor: number;
217
+ isMobile: boolean;
218
+ hasTouch: boolean;
219
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
220
+ };
221
+ "iPad Pro 11 landscape": {
222
+ viewport: playwright.ViewportSize;
223
+ userAgent: string;
224
+ deviceScaleFactor: number;
225
+ isMobile: boolean;
226
+ hasTouch: boolean;
227
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
228
+ };
229
+ "iPhone 6": {
230
+ viewport: playwright.ViewportSize;
231
+ userAgent: string;
232
+ deviceScaleFactor: number;
233
+ isMobile: boolean;
234
+ hasTouch: boolean;
235
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
236
+ };
237
+ "iPhone 6 landscape": {
238
+ viewport: playwright.ViewportSize;
239
+ userAgent: string;
240
+ deviceScaleFactor: number;
241
+ isMobile: boolean;
242
+ hasTouch: boolean;
243
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
244
+ };
245
+ "iPhone 6 Plus": {
246
+ viewport: playwright.ViewportSize;
247
+ userAgent: string;
248
+ deviceScaleFactor: number;
249
+ isMobile: boolean;
250
+ hasTouch: boolean;
251
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
252
+ };
253
+ "iPhone 6 Plus landscape": {
254
+ viewport: playwright.ViewportSize;
255
+ userAgent: string;
256
+ deviceScaleFactor: number;
257
+ isMobile: boolean;
258
+ hasTouch: boolean;
259
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
260
+ };
261
+ "iPhone 7": {
262
+ viewport: playwright.ViewportSize;
263
+ userAgent: string;
264
+ deviceScaleFactor: number;
265
+ isMobile: boolean;
266
+ hasTouch: boolean;
267
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
268
+ };
269
+ "iPhone 7 landscape": {
270
+ viewport: playwright.ViewportSize;
271
+ userAgent: string;
272
+ deviceScaleFactor: number;
273
+ isMobile: boolean;
274
+ hasTouch: boolean;
275
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
276
+ };
277
+ "iPhone 7 Plus": {
278
+ viewport: playwright.ViewportSize;
279
+ userAgent: string;
280
+ deviceScaleFactor: number;
281
+ isMobile: boolean;
282
+ hasTouch: boolean;
283
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
284
+ };
285
+ "iPhone 7 Plus landscape": {
286
+ viewport: playwright.ViewportSize;
287
+ userAgent: string;
288
+ deviceScaleFactor: number;
289
+ isMobile: boolean;
290
+ hasTouch: boolean;
291
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
292
+ };
293
+ "iPhone 8": {
294
+ viewport: playwright.ViewportSize;
295
+ userAgent: string;
296
+ deviceScaleFactor: number;
297
+ isMobile: boolean;
298
+ hasTouch: boolean;
299
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
300
+ };
301
+ "iPhone 8 landscape": {
302
+ viewport: playwright.ViewportSize;
303
+ userAgent: string;
304
+ deviceScaleFactor: number;
305
+ isMobile: boolean;
306
+ hasTouch: boolean;
307
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
308
+ };
309
+ "iPhone 8 Plus": {
310
+ viewport: playwright.ViewportSize;
311
+ userAgent: string;
312
+ deviceScaleFactor: number;
313
+ isMobile: boolean;
314
+ hasTouch: boolean;
315
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
316
+ };
317
+ "iPhone 8 Plus landscape": {
318
+ viewport: playwright.ViewportSize;
319
+ userAgent: string;
320
+ deviceScaleFactor: number;
321
+ isMobile: boolean;
322
+ hasTouch: boolean;
323
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
324
+ };
325
+ "iPhone SE": {
326
+ viewport: playwright.ViewportSize;
327
+ userAgent: string;
328
+ deviceScaleFactor: number;
329
+ isMobile: boolean;
330
+ hasTouch: boolean;
331
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
332
+ };
333
+ "iPhone SE landscape": {
334
+ viewport: playwright.ViewportSize;
335
+ userAgent: string;
336
+ deviceScaleFactor: number;
337
+ isMobile: boolean;
338
+ hasTouch: boolean;
339
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
340
+ };
341
+ "iPhone X": {
342
+ viewport: playwright.ViewportSize;
343
+ userAgent: string;
344
+ deviceScaleFactor: number;
345
+ isMobile: boolean;
346
+ hasTouch: boolean;
347
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
348
+ };
349
+ "iPhone X landscape": {
350
+ viewport: playwright.ViewportSize;
351
+ userAgent: string;
352
+ deviceScaleFactor: number;
353
+ isMobile: boolean;
354
+ hasTouch: boolean;
355
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
356
+ };
357
+ "iPhone XR": {
358
+ viewport: playwright.ViewportSize;
359
+ userAgent: string;
360
+ deviceScaleFactor: number;
361
+ isMobile: boolean;
362
+ hasTouch: boolean;
363
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
364
+ };
365
+ "iPhone XR landscape": {
366
+ viewport: playwright.ViewportSize;
367
+ userAgent: string;
368
+ deviceScaleFactor: number;
369
+ isMobile: boolean;
370
+ hasTouch: boolean;
371
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
372
+ };
373
+ "iPhone 11": {
374
+ viewport: playwright.ViewportSize;
375
+ userAgent: string;
376
+ deviceScaleFactor: number;
377
+ isMobile: boolean;
378
+ hasTouch: boolean;
379
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
380
+ };
381
+ "iPhone 11 landscape": {
382
+ viewport: playwright.ViewportSize;
383
+ userAgent: string;
384
+ deviceScaleFactor: number;
385
+ isMobile: boolean;
386
+ hasTouch: boolean;
387
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
388
+ };
389
+ "iPhone 11 Pro": {
390
+ viewport: playwright.ViewportSize;
391
+ userAgent: string;
392
+ deviceScaleFactor: number;
393
+ isMobile: boolean;
394
+ hasTouch: boolean;
395
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
396
+ };
397
+ "iPhone 11 Pro landscape": {
398
+ viewport: playwright.ViewportSize;
399
+ userAgent: string;
400
+ deviceScaleFactor: number;
401
+ isMobile: boolean;
402
+ hasTouch: boolean;
403
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
404
+ };
405
+ "iPhone 11 Pro Max": {
406
+ viewport: playwright.ViewportSize;
407
+ userAgent: string;
408
+ deviceScaleFactor: number;
409
+ isMobile: boolean;
410
+ hasTouch: boolean;
411
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
412
+ };
413
+ "iPhone 11 Pro Max landscape": {
414
+ viewport: playwright.ViewportSize;
415
+ userAgent: string;
416
+ deviceScaleFactor: number;
417
+ isMobile: boolean;
418
+ hasTouch: boolean;
419
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
420
+ };
421
+ "iPhone 12": {
422
+ viewport: playwright.ViewportSize;
423
+ userAgent: string;
424
+ deviceScaleFactor: number;
425
+ isMobile: boolean;
426
+ hasTouch: boolean;
427
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
428
+ };
429
+ "iPhone 12 landscape": {
430
+ viewport: playwright.ViewportSize;
431
+ userAgent: string;
432
+ deviceScaleFactor: number;
433
+ isMobile: boolean;
434
+ hasTouch: boolean;
435
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
436
+ };
437
+ "iPhone 12 Pro": {
438
+ viewport: playwright.ViewportSize;
439
+ userAgent: string;
440
+ deviceScaleFactor: number;
441
+ isMobile: boolean;
442
+ hasTouch: boolean;
443
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
444
+ };
445
+ "iPhone 12 Pro landscape": {
446
+ viewport: playwright.ViewportSize;
447
+ userAgent: string;
448
+ deviceScaleFactor: number;
449
+ isMobile: boolean;
450
+ hasTouch: boolean;
451
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
452
+ };
453
+ "iPhone 12 Pro Max": {
454
+ viewport: playwright.ViewportSize;
455
+ userAgent: string;
456
+ deviceScaleFactor: number;
457
+ isMobile: boolean;
458
+ hasTouch: boolean;
459
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
460
+ };
461
+ "iPhone 12 Pro Max landscape": {
462
+ viewport: playwright.ViewportSize;
463
+ userAgent: string;
464
+ deviceScaleFactor: number;
465
+ isMobile: boolean;
466
+ hasTouch: boolean;
467
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
468
+ };
469
+ "iPhone 12 Mini": {
470
+ viewport: playwright.ViewportSize;
471
+ userAgent: string;
472
+ deviceScaleFactor: number;
473
+ isMobile: boolean;
474
+ hasTouch: boolean;
475
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
476
+ };
477
+ "iPhone 12 Mini landscape": {
478
+ viewport: playwright.ViewportSize;
479
+ userAgent: string;
480
+ deviceScaleFactor: number;
481
+ isMobile: boolean;
482
+ hasTouch: boolean;
483
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
484
+ };
485
+ "iPhone 13": {
486
+ viewport: playwright.ViewportSize;
487
+ userAgent: string;
488
+ deviceScaleFactor: number;
489
+ isMobile: boolean;
490
+ hasTouch: boolean;
491
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
492
+ };
493
+ "iPhone 13 landscape": {
494
+ viewport: playwright.ViewportSize;
495
+ userAgent: string;
496
+ deviceScaleFactor: number;
497
+ isMobile: boolean;
498
+ hasTouch: boolean;
499
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
500
+ };
501
+ "iPhone 13 Pro": {
502
+ viewport: playwright.ViewportSize;
503
+ userAgent: string;
504
+ deviceScaleFactor: number;
505
+ isMobile: boolean;
506
+ hasTouch: boolean;
507
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
508
+ };
509
+ "iPhone 13 Pro landscape": {
510
+ viewport: playwright.ViewportSize;
511
+ userAgent: string;
512
+ deviceScaleFactor: number;
513
+ isMobile: boolean;
514
+ hasTouch: boolean;
515
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
516
+ };
517
+ "iPhone 13 Pro Max": {
518
+ viewport: playwright.ViewportSize;
519
+ userAgent: string;
520
+ deviceScaleFactor: number;
521
+ isMobile: boolean;
522
+ hasTouch: boolean;
523
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
524
+ };
525
+ "iPhone 13 Pro Max landscape": {
526
+ viewport: playwright.ViewportSize;
527
+ userAgent: string;
528
+ deviceScaleFactor: number;
529
+ isMobile: boolean;
530
+ hasTouch: boolean;
531
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
532
+ };
533
+ "iPhone 13 Mini": {
534
+ viewport: playwright.ViewportSize;
535
+ userAgent: string;
536
+ deviceScaleFactor: number;
537
+ isMobile: boolean;
538
+ hasTouch: boolean;
539
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
540
+ };
541
+ "iPhone 13 Mini landscape": {
542
+ viewport: playwright.ViewportSize;
543
+ userAgent: string;
544
+ deviceScaleFactor: number;
545
+ isMobile: boolean;
546
+ hasTouch: boolean;
547
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
548
+ };
549
+ "Kindle Fire HDX": {
550
+ viewport: playwright.ViewportSize;
551
+ userAgent: string;
552
+ deviceScaleFactor: number;
553
+ isMobile: boolean;
554
+ hasTouch: boolean;
555
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
556
+ };
557
+ "Kindle Fire HDX landscape": {
558
+ viewport: playwright.ViewportSize;
559
+ userAgent: string;
560
+ deviceScaleFactor: number;
561
+ isMobile: boolean;
562
+ hasTouch: boolean;
563
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
564
+ };
565
+ "LG Optimus L70": {
566
+ viewport: playwright.ViewportSize;
567
+ userAgent: string;
568
+ deviceScaleFactor: number;
569
+ isMobile: boolean;
570
+ hasTouch: boolean;
571
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
572
+ };
573
+ "LG Optimus L70 landscape": {
574
+ viewport: playwright.ViewportSize;
575
+ userAgent: string;
576
+ deviceScaleFactor: number;
577
+ isMobile: boolean;
578
+ hasTouch: boolean;
579
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
580
+ };
581
+ "Microsoft Lumia 550": {
582
+ viewport: playwright.ViewportSize;
583
+ userAgent: string;
584
+ deviceScaleFactor: number;
585
+ isMobile: boolean;
586
+ hasTouch: boolean;
587
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
588
+ };
589
+ "Microsoft Lumia 550 landscape": {
590
+ viewport: playwright.ViewportSize;
591
+ userAgent: string;
592
+ deviceScaleFactor: number;
593
+ isMobile: boolean;
594
+ hasTouch: boolean;
595
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
596
+ };
597
+ "Microsoft Lumia 950": {
598
+ viewport: playwright.ViewportSize;
599
+ userAgent: string;
600
+ deviceScaleFactor: number;
601
+ isMobile: boolean;
602
+ hasTouch: boolean;
603
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
604
+ };
605
+ "Microsoft Lumia 950 landscape": {
606
+ viewport: playwright.ViewportSize;
607
+ userAgent: string;
608
+ deviceScaleFactor: number;
609
+ isMobile: boolean;
610
+ hasTouch: boolean;
611
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
612
+ };
613
+ "Nexus 10": {
614
+ viewport: playwright.ViewportSize;
615
+ userAgent: string;
616
+ deviceScaleFactor: number;
617
+ isMobile: boolean;
618
+ hasTouch: boolean;
619
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
620
+ };
621
+ "Nexus 10 landscape": {
622
+ viewport: playwright.ViewportSize;
623
+ userAgent: string;
624
+ deviceScaleFactor: number;
625
+ isMobile: boolean;
626
+ hasTouch: boolean;
627
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
628
+ };
629
+ "Nexus 4": {
630
+ viewport: playwright.ViewportSize;
631
+ userAgent: string;
632
+ deviceScaleFactor: number;
633
+ isMobile: boolean;
634
+ hasTouch: boolean;
635
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
636
+ };
637
+ "Nexus 4 landscape": {
638
+ viewport: playwright.ViewportSize;
639
+ userAgent: string;
640
+ deviceScaleFactor: number;
641
+ isMobile: boolean;
642
+ hasTouch: boolean;
643
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
644
+ };
645
+ "Nexus 5": {
646
+ viewport: playwright.ViewportSize;
647
+ userAgent: string;
648
+ deviceScaleFactor: number;
649
+ isMobile: boolean;
650
+ hasTouch: boolean;
651
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
652
+ };
653
+ "Nexus 5 landscape": {
654
+ viewport: playwright.ViewportSize;
655
+ userAgent: string;
656
+ deviceScaleFactor: number;
657
+ isMobile: boolean;
658
+ hasTouch: boolean;
659
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
660
+ };
661
+ "Nexus 5X": {
662
+ viewport: playwright.ViewportSize;
663
+ userAgent: string;
664
+ deviceScaleFactor: number;
665
+ isMobile: boolean;
666
+ hasTouch: boolean;
667
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
668
+ };
669
+ "Nexus 5X landscape": {
670
+ viewport: playwright.ViewportSize;
671
+ userAgent: string;
672
+ deviceScaleFactor: number;
673
+ isMobile: boolean;
674
+ hasTouch: boolean;
675
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
676
+ };
677
+ "Nexus 6": {
678
+ viewport: playwright.ViewportSize;
679
+ userAgent: string;
680
+ deviceScaleFactor: number;
681
+ isMobile: boolean;
682
+ hasTouch: boolean;
683
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
684
+ };
685
+ "Nexus 6 landscape": {
686
+ viewport: playwright.ViewportSize;
687
+ userAgent: string;
688
+ deviceScaleFactor: number;
689
+ isMobile: boolean;
690
+ hasTouch: boolean;
691
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
692
+ };
693
+ "Nexus 6P": {
694
+ viewport: playwright.ViewportSize;
695
+ userAgent: string;
696
+ deviceScaleFactor: number;
697
+ isMobile: boolean;
698
+ hasTouch: boolean;
699
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
700
+ };
701
+ "Nexus 6P landscape": {
702
+ viewport: playwright.ViewportSize;
703
+ userAgent: string;
704
+ deviceScaleFactor: number;
705
+ isMobile: boolean;
706
+ hasTouch: boolean;
707
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
708
+ };
709
+ "Nexus 7": {
710
+ viewport: playwright.ViewportSize;
711
+ userAgent: string;
712
+ deviceScaleFactor: number;
713
+ isMobile: boolean;
714
+ hasTouch: boolean;
715
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
716
+ };
717
+ "Nexus 7 landscape": {
718
+ viewport: playwright.ViewportSize;
719
+ userAgent: string;
720
+ deviceScaleFactor: number;
721
+ isMobile: boolean;
722
+ hasTouch: boolean;
723
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
724
+ };
725
+ "Nokia Lumia 520": {
726
+ viewport: playwright.ViewportSize;
727
+ userAgent: string;
728
+ deviceScaleFactor: number;
729
+ isMobile: boolean;
730
+ hasTouch: boolean;
731
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
732
+ };
733
+ "Nokia Lumia 520 landscape": {
734
+ viewport: playwright.ViewportSize;
735
+ userAgent: string;
736
+ deviceScaleFactor: number;
737
+ isMobile: boolean;
738
+ hasTouch: boolean;
739
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
740
+ };
741
+ "Nokia N9": {
742
+ viewport: playwright.ViewportSize;
743
+ userAgent: string;
744
+ deviceScaleFactor: number;
745
+ isMobile: boolean;
746
+ hasTouch: boolean;
747
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
748
+ };
749
+ "Nokia N9 landscape": {
750
+ viewport: playwright.ViewportSize;
751
+ userAgent: string;
752
+ deviceScaleFactor: number;
753
+ isMobile: boolean;
754
+ hasTouch: boolean;
755
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
756
+ };
757
+ "Pixel 2": {
758
+ viewport: playwright.ViewportSize;
759
+ userAgent: string;
760
+ deviceScaleFactor: number;
761
+ isMobile: boolean;
762
+ hasTouch: boolean;
763
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
764
+ };
765
+ "Pixel 2 landscape": {
766
+ viewport: playwright.ViewportSize;
767
+ userAgent: string;
768
+ deviceScaleFactor: number;
769
+ isMobile: boolean;
770
+ hasTouch: boolean;
771
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
772
+ };
773
+ "Pixel 2 XL": {
774
+ viewport: playwright.ViewportSize;
775
+ userAgent: string;
776
+ deviceScaleFactor: number;
777
+ isMobile: boolean;
778
+ hasTouch: boolean;
779
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
780
+ };
781
+ "Pixel 2 XL landscape": {
782
+ viewport: playwright.ViewportSize;
783
+ userAgent: string;
784
+ deviceScaleFactor: number;
785
+ isMobile: boolean;
786
+ hasTouch: boolean;
787
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
788
+ };
789
+ "Pixel 3": {
790
+ viewport: playwright.ViewportSize;
791
+ userAgent: string;
792
+ deviceScaleFactor: number;
793
+ isMobile: boolean;
794
+ hasTouch: boolean;
795
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
796
+ };
797
+ "Pixel 3 landscape": {
798
+ viewport: playwright.ViewportSize;
799
+ userAgent: string;
800
+ deviceScaleFactor: number;
801
+ isMobile: boolean;
802
+ hasTouch: boolean;
803
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
804
+ };
805
+ "Pixel 4": {
806
+ viewport: playwright.ViewportSize;
807
+ userAgent: string;
808
+ deviceScaleFactor: number;
809
+ isMobile: boolean;
810
+ hasTouch: boolean;
811
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
812
+ };
813
+ "Pixel 4 landscape": {
814
+ viewport: playwright.ViewportSize;
815
+ userAgent: string;
816
+ deviceScaleFactor: number;
817
+ isMobile: boolean;
818
+ hasTouch: boolean;
819
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
820
+ };
821
+ "Pixel 4a (5G)": {
822
+ viewport: playwright.ViewportSize;
823
+ userAgent: string;
824
+ deviceScaleFactor: number;
825
+ isMobile: boolean;
826
+ hasTouch: boolean;
827
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
828
+ };
829
+ "Pixel 4a (5G) landscape": {
830
+ viewport: playwright.ViewportSize;
831
+ userAgent: string;
832
+ deviceScaleFactor: number;
833
+ isMobile: boolean;
834
+ hasTouch: boolean;
835
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
836
+ };
837
+ "Pixel 5": {
838
+ viewport: playwright.ViewportSize;
839
+ userAgent: string;
840
+ deviceScaleFactor: number;
841
+ isMobile: boolean;
842
+ hasTouch: boolean;
843
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
844
+ };
845
+ "Pixel 5 landscape": {
846
+ viewport: playwright.ViewportSize;
847
+ userAgent: string;
848
+ deviceScaleFactor: number;
849
+ isMobile: boolean;
850
+ hasTouch: boolean;
851
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
852
+ };
853
+ "Moto G4": {
854
+ viewport: playwright.ViewportSize;
855
+ userAgent: string;
856
+ deviceScaleFactor: number;
857
+ isMobile: boolean;
858
+ hasTouch: boolean;
859
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
860
+ };
861
+ "Moto G4 landscape": {
862
+ viewport: playwright.ViewportSize;
863
+ userAgent: string;
864
+ deviceScaleFactor: number;
865
+ isMobile: boolean;
866
+ hasTouch: boolean;
867
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
868
+ };
869
+ "Desktop Chrome HiDPI": {
870
+ viewport: playwright.ViewportSize;
871
+ userAgent: string;
872
+ deviceScaleFactor: number;
873
+ isMobile: boolean;
874
+ hasTouch: boolean;
875
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
876
+ };
877
+ "Desktop Edge HiDPI": {
878
+ viewport: playwright.ViewportSize;
879
+ userAgent: string;
880
+ deviceScaleFactor: number;
881
+ isMobile: boolean;
882
+ hasTouch: boolean;
883
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
884
+ };
885
+ "Desktop Firefox HiDPI": {
886
+ viewport: playwright.ViewportSize;
887
+ userAgent: string;
888
+ deviceScaleFactor: number;
889
+ isMobile: boolean;
890
+ hasTouch: boolean;
891
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
892
+ };
893
+ "Desktop Safari": {
894
+ viewport: playwright.ViewportSize;
895
+ userAgent: string;
896
+ deviceScaleFactor: number;
897
+ isMobile: boolean;
898
+ hasTouch: boolean;
899
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
900
+ };
901
+ "Desktop Chrome": {
902
+ viewport: playwright.ViewportSize;
903
+ userAgent: string;
904
+ deviceScaleFactor: number;
905
+ isMobile: boolean;
906
+ hasTouch: boolean;
907
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
908
+ };
909
+ "Desktop Edge": {
910
+ viewport: playwright.ViewportSize;
911
+ userAgent: string;
912
+ deviceScaleFactor: number;
913
+ isMobile: boolean;
914
+ hasTouch: boolean;
915
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
916
+ };
917
+ "Desktop Firefox": {
918
+ viewport: playwright.ViewportSize;
919
+ userAgent: string;
920
+ deviceScaleFactor: number;
921
+ isMobile: boolean;
922
+ hasTouch: boolean;
923
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
924
+ };
925
+ };
926
+ export interface ComponentFixtures {
927
+ mount<COMPONENT, SPIED_OUTPUT extends keyof COMPONENT>(component: Type<COMPONENT>, options?: MountOptions<COMPONENT, SPIED_OUTPUT>): Promise<MountResult<COMPONENT, SPIED_OUTPUT>>;
928
+ }
929
+ export interface MountOptions<COMPONENT, SPIED_OUTPUT> {
930
+ inputs?: Partial<COMPONENT>;
931
+ outputs?: Outputs<COMPONENT>;
932
+ spyOutputs?: Array<SPIED_OUTPUT>;
933
+ }
934
+ export type Outputs<COMPONENT> = Partial<{
935
+ [K in keyof COMPONENT]: COMPONENT[K] extends Observable<unknown> ? (value: Emitted<COMPONENT[K]>) => void : COMPONENT[K];
936
+ }>;
937
+ export interface MountResult<COMPONENT, SPIED_OUTPUT extends keyof COMPONENT> extends playwright.Locator {
938
+ spies: Spies<COMPONENT, SPIED_OUTPUT>;
939
+ }
940
+ export type Spies<COMPONENT, SPIED_OUTPUT extends keyof COMPONENT> = Partial<{
941
+ [K in SPIED_OUTPUT]: COMPONENT[K] extends Observable<unknown> ? MockedFunction<(value: Emitted<COMPONENT[K]>) => void> : COMPONENT[K];
942
+ }>;
943
+ export type PlaywrightTestConfig = Omit<playwright.PlaywrightTestConfig, 'use'> & {
944
+ use?: playwright.PlaywrightTestConfig['use'] & {
945
+ ctPort?: number;
946
+ ctTemplateDir?: string;
947
+ ctCacheDir?: string;
948
+ ctViteConfig?: InlineConfig;
949
+ };
950
+ };
951
+ type Emitted<OBSERVABLE> = OBSERVABLE extends Observable<infer EMITTED> ? EMITTED : OBSERVABLE;
952
+ /**
953
+ * Fixing matchers typing to add Jest spy matchers.
954
+ Cf. https://github.com/microsoft/playwright/tree/20957f820d34a53003ab0722fa149c80fedec846/packages/playwright-test/types */
955
+ declare global {
956
+ export namespace PlaywrightTest {
957
+ interface Matchers<R, T = unknown> {
958
+ lastCalledWith(...args: Array<unknown>): R;
959
+ lastReturnedWith(value: unknown): R;
960
+ not: Matchers<R>;
961
+ nthCalledWith(nthCall: number, ...args: Array<unknown>): R;
962
+ nthReturnedWith(n: number, value: unknown): R;
963
+ toBeCalled(): R;
964
+ toBeCalledTimes(expected: number): R;
965
+ toBeCalledWith(...args: Array<unknown>): R;
966
+ toHaveBeenCalled(): R;
967
+ toHaveBeenCalledTimes(expected: number): R;
968
+ toHaveBeenCalledWith(...args: Array<unknown>): R;
969
+ toHaveBeenNthCalledWith(nthCall: number, ...args: Array<unknown>): R;
970
+ toHaveBeenLastCalledWith(...args: Array<unknown>): R;
971
+ toHaveLastReturnedWith(expected: unknown): R;
972
+ toHaveNthReturnedWith(nthCall: number, expected: unknown): R;
973
+ toHaveReturned(): R;
974
+ toHaveReturnedTimes(expected: number): R;
975
+ toHaveReturnedWith(expected: unknown): R;
976
+ toReturn(): R;
977
+ toReturnTimes(count: number): R;
978
+ toReturnWith(value: unknown): R;
979
+ }
980
+ }
981
+ }
982
+ export {};