Bug 1931425 - Limit how often moz-label's #setStyles runs r=reusable-components-revie...
[gecko.git] / remote / test / puppeteer / test-d / NodeFor.test-d.ts
bloba97ca217f4fae282a305a3729cbb29b9a9ae52e7
1 /**
2  * @license
3  * Copyright 2024 Google Inc.
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 import type {NodeFor} from 'puppeteer';
7 import {expectType, expectNotType} from 'tsd';
9 declare const nodeFor: <Selector extends string>(
10   selector: Selector,
11 ) => NodeFor<Selector>;
14   {
15     expectType<HTMLTableRowElement>(
16       nodeFor(
17         '[data-testid="my-component"] div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div tbody tr',
18       ),
19     );
20     expectNotType<Element>(
21       nodeFor(
22         '[data-testid="my-component"] div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div tbody tr',
23       ),
24     );
25   }
26   {
27     expectType<HTMLAnchorElement>(nodeFor('a'));
28     expectNotType<Element>(nodeFor('a'));
29   }
30   {
31     expectType<HTMLAnchorElement>(nodeFor('a#ignored'));
32     expectNotType<Element>(nodeFor('a#ignored'));
33   }
34   {
35     expectType<HTMLAnchorElement>(nodeFor('a.ignored'));
36     expectNotType<Element>(nodeFor('a.ignored'));
37   }
38   {
39     expectType<HTMLAnchorElement>(nodeFor('a[ignored'));
40     expectNotType<Element>(nodeFor('a[ignored'));
41   }
42   {
43     expectType<HTMLAnchorElement>(nodeFor('a:ignored'));
44     expectNotType<Element>(nodeFor('a:ignored'));
45   }
46   {
47     expectType<HTMLAnchorElement>(nodeFor('ignored a'));
48     expectNotType<Element>(nodeFor('ignored a'));
49   }
50   {
51     expectType<HTMLAnchorElement>(nodeFor('ignored a#ignored'));
52     expectNotType<Element>(nodeFor('ignored a#ignored'));
53   }
54   {
55     expectType<HTMLAnchorElement>(nodeFor('ignored a.ignored'));
56     expectNotType<Element>(nodeFor('ignored a.ignored'));
57   }
58   {
59     expectType<HTMLAnchorElement>(nodeFor('ignored a[ignored'));
60     expectNotType<Element>(nodeFor('ignored a[ignored'));
61   }
62   {
63     expectType<HTMLAnchorElement>(nodeFor('ignored a:ignored'));
64     expectNotType<Element>(nodeFor('ignored a:ignored'));
65   }
66   {
67     expectType<HTMLAnchorElement>(nodeFor('ignored > a'));
68     expectNotType<Element>(nodeFor('ignored > a'));
69   }
70   {
71     expectType<HTMLAnchorElement>(nodeFor('ignored > a#ignored'));
72     expectNotType<Element>(nodeFor('ignored > a#ignored'));
73   }
74   {
75     expectType<HTMLAnchorElement>(nodeFor('ignored > a.ignored'));
76     expectNotType<Element>(nodeFor('ignored > a.ignored'));
77   }
78   {
79     expectType<HTMLAnchorElement>(nodeFor('ignored > a[ignored'));
80     expectNotType<Element>(nodeFor('ignored > a[ignored'));
81   }
82   {
83     expectType<HTMLAnchorElement>(nodeFor('ignored > a:ignored'));
84     expectNotType<Element>(nodeFor('ignored > a:ignored'));
85   }
86   {
87     expectType<HTMLAnchorElement>(nodeFor('ignored + a'));
88     expectNotType<Element>(nodeFor('ignored + a'));
89   }
90   {
91     expectType<HTMLAnchorElement>(nodeFor('ignored ~ a'));
92     expectNotType<Element>(nodeFor('ignored ~ a'));
93   }
94   {
95     expectType<HTMLAnchorElement>(nodeFor('ignored | a'));
96     expectNotType<Element>(nodeFor('ignored | a'));
97   }
98   {
99     expectType<HTMLAnchorElement>(
100       nodeFor('ignored ignored > ignored + ignored | a#ignore'),
101     );
102     expectNotType<Element>(
103       nodeFor('ignored ignored > ignored + ignored | a#ignore'),
104     );
105   }
106   {
107     expectType<HTMLAnchorElement>(nodeFor('custom-element >>> a'));
108     expectNotType<Element>(nodeFor('custom-element >>> a'));
109   }
110   {
111     expectType<Element>(nodeFor('div ::-p-text(world)'));
112     expectNotType<HTMLDivElement>(nodeFor('div ::-p-text(world)'));
113   }
114   {
115     expectType<HTMLDivElement>(nodeFor('div ::-p-text(world) >>>> div'));
116     expectNotType<Element>(nodeFor('div ::-p-text(world) >>>> div'));
117   }
118   {
119     expectType<HTMLAnchorElement>(nodeFor('a::-p-text(Hello)'));
120     expectNotType<Element>(nodeFor('a::-p-text(Hello)'));
121   }
122   {
123     expectType<HTMLAnchorElement>(nodeFor('a:is([href], [href])'));
124     expectNotType<Element>(nodeFor('a:is([href], [href])'));
125   }
128   {
129     expectType<Element>(nodeFor(''));
130   }
131   {
132     expectType<Element>(nodeFor('#ignored'));
133   }
134   {
135     expectType<Element>(nodeFor('.ignored'));
136   }
137   {
138     expectType<Element>(nodeFor('[ignored'));
139   }
140   {
141     expectType<Element>(nodeFor(':ignored'));
142   }
143   {
144     expectType<Element>(nodeFor('ignored #ignored'));
145   }
146   {
147     expectType<Element>(nodeFor('ignored .ignored'));
148   }
149   {
150     expectType<Element>(nodeFor('ignored [ignored'));
151   }
152   {
153     expectType<Element>(nodeFor('ignored :ignored'));
154   }
155   {
156     expectType<Element>(nodeFor('ignored > #ignored'));
157   }
158   {
159     expectType<Element>(nodeFor('ignored > .ignored'));
160   }
161   {
162     expectType<Element>(nodeFor('ignored > [ignored'));
163   }
164   {
165     expectType<Element>(nodeFor('ignored > :ignored'));
166   }
167   {
168     expectType<Element>(nodeFor('ignored + #ignored'));
169   }
170   {
171     expectType<Element>(nodeFor('ignored ~ #ignored'));
172   }
173   {
174     expectType<Element>(nodeFor('ignored | #ignored'));
175   }
176   {
177     expectType<Element>(
178       nodeFor('ignored ignored > ignored ~ ignored + ignored | #ignored'),
179     );
180   }