@mui/internal-test-utils 2.0.15 → 2.0.16

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.
Files changed (212) hide show
  1. package/{src/chai.types.ts → chai.types.d.ts} +7 -40
  2. package/chai.types.js +5 -0
  3. package/chaiPlugin.d.ts +4 -0
  4. package/chaiPlugin.js +287 -0
  5. package/{build/components.d.ts → components.d.ts} +18 -19
  6. package/components.js +64 -0
  7. package/createDOM.d.ts +2 -0
  8. package/{src/createDOM.js → createDOM.js} +17 -35
  9. package/createDescribe.d.ts +7 -0
  10. package/createDescribe.js +26 -0
  11. package/createRenderer.d.ts +214 -0
  12. package/createRenderer.js +428 -0
  13. package/createRenderer.test.d.ts +1 -0
  14. package/describeConformance.d.ts +200 -0
  15. package/describeConformance.js +1038 -0
  16. package/env.d.ts +1 -0
  17. package/env.js +11 -0
  18. package/esm/chai.types.d.ts +74 -0
  19. package/esm/chai.types.js +3 -0
  20. package/esm/chaiPlugin.d.ts +4 -0
  21. package/esm/chaiPlugin.js +281 -0
  22. package/esm/components.d.ts +35 -0
  23. package/esm/components.js +56 -0
  24. package/esm/createDOM.d.ts +2 -0
  25. package/esm/createDOM.js +47 -0
  26. package/esm/createDescribe.d.ts +7 -0
  27. package/esm/createDescribe.js +19 -0
  28. package/esm/createRenderer.d.ts +214 -0
  29. package/esm/createRenderer.js +390 -0
  30. package/esm/createRenderer.test.d.ts +1 -0
  31. package/esm/describeConformance.d.ts +200 -0
  32. package/esm/describeConformance.js +1024 -0
  33. package/esm/env.d.ts +1 -0
  34. package/esm/env.js +5 -0
  35. package/{build → esm}/fireDiscreteEvent.d.ts +1 -2
  36. package/{src/fireDiscreteEvent.ts → esm/fireDiscreteEvent.js} +10 -18
  37. package/esm/flushMicrotasks.d.ts +1 -0
  38. package/{src/flushMicrotasks.ts → esm/flushMicrotasks.js} +2 -3
  39. package/{build → esm}/focusVisible.d.ts +1 -2
  40. package/{src/focusVisible.ts → esm/focusVisible.js} +10 -9
  41. package/esm/index.d.ts +18 -0
  42. package/esm/index.js +27 -0
  43. package/esm/init.d.ts +1 -0
  44. package/{src → esm}/init.js +4 -2
  45. package/esm/initMatchers.d.ts +1 -0
  46. package/esm/initMatchers.js +6 -0
  47. package/esm/initMatchers.test.d.ts +1 -0
  48. package/esm/initPlaywrightMatchers.d.ts +24 -0
  49. package/esm/initPlaywrightMatchers.js +40 -0
  50. package/esm/package.json +1 -0
  51. package/esm/reactMajor.d.ts +2 -0
  52. package/esm/reactMajor.js +2 -0
  53. package/esm/setup.d.ts +1 -0
  54. package/{src → esm}/setup.js +2 -4
  55. package/esm/setupVitest.d.ts +1 -0
  56. package/esm/setupVitest.js +28 -0
  57. package/esm/setupVitestBrowser.d.ts +1 -0
  58. package/esm/setupVitestBrowser.js +30 -0
  59. package/fireDiscreteEvent.d.ts +6 -0
  60. package/fireDiscreteEvent.js +79 -0
  61. package/flushMicrotasks.d.ts +1 -0
  62. package/flushMicrotasks.js +10 -0
  63. package/focusVisible.d.ts +7 -0
  64. package/focusVisible.js +44 -0
  65. package/index.d.ts +18 -0
  66. package/index.js +139 -0
  67. package/init.d.ts +1 -0
  68. package/init.js +15 -0
  69. package/initMatchers.d.ts +1 -0
  70. package/initMatchers.js +10 -0
  71. package/initMatchers.test.d.ts +1 -0
  72. package/initPlaywrightMatchers.d.ts +24 -0
  73. package/initPlaywrightMatchers.js +42 -0
  74. package/package.json +89 -46
  75. package/reactMajor.d.ts +2 -0
  76. package/reactMajor.js +9 -0
  77. package/setup.d.ts +1 -0
  78. package/setup.js +10 -0
  79. package/setupVitest.d.ts +1 -0
  80. package/setupVitest.js +32 -0
  81. package/setupVitestBrowser.d.ts +1 -0
  82. package/setupVitestBrowser.js +34 -0
  83. package/build/.tsbuildinfo +0 -1
  84. package/build/KarmaReporterReactProfiler.d.ts +0 -51
  85. package/build/KarmaReporterReactProfiler.d.ts.map +0 -1
  86. package/build/KarmaReporterReactProfiler.js +0 -66
  87. package/build/KarmaReporterReactProfiler.js.map +0 -1
  88. package/build/chai.types.d.ts +0 -75
  89. package/build/chai.types.d.ts.map +0 -1
  90. package/build/chai.types.js +0 -3
  91. package/build/chai.types.js.map +0 -1
  92. package/build/chaiPlugin.d.ts +0 -5
  93. package/build/chaiPlugin.d.ts.map +0 -1
  94. package/build/chaiPlugin.js +0 -416
  95. package/build/chaiPlugin.js.map +0 -1
  96. package/build/components.d.ts.map +0 -1
  97. package/build/components.js +0 -88
  98. package/build/components.js.map +0 -1
  99. package/build/createDOM.d.ts +0 -3
  100. package/build/createDOM.d.ts.map +0 -1
  101. package/build/createDOM.js +0 -60
  102. package/build/createDOM.js.map +0 -1
  103. package/build/createDescribe.d.ts +0 -8
  104. package/build/createDescribe.d.ts.map +0 -1
  105. package/build/createDescribe.js +0 -22
  106. package/build/createDescribe.js.map +0 -1
  107. package/build/createRenderer.d.ts +0 -215
  108. package/build/createRenderer.d.ts.map +0 -1
  109. package/build/createRenderer.js +0 -564
  110. package/build/createRenderer.js.map +0 -1
  111. package/build/createRenderer.test.d.ts +0 -2
  112. package/build/createRenderer.test.d.ts.map +0 -1
  113. package/build/createRenderer.test.js +0 -58
  114. package/build/createRenderer.test.js.map +0 -1
  115. package/build/describeConformance.d.ts +0 -201
  116. package/build/describeConformance.d.ts.map +0 -1
  117. package/build/describeConformance.js +0 -859
  118. package/build/describeConformance.js.map +0 -1
  119. package/build/describeSkipIf.d.ts +0 -4
  120. package/build/describeSkipIf.d.ts.map +0 -1
  121. package/build/describeSkipIf.js +0 -10
  122. package/build/describeSkipIf.js.map +0 -1
  123. package/build/fireDiscreteEvent.d.ts.map +0 -1
  124. package/build/fireDiscreteEvent.js +0 -77
  125. package/build/fireDiscreteEvent.js.map +0 -1
  126. package/build/flushMicrotasks.d.ts +0 -2
  127. package/build/flushMicrotasks.d.ts.map +0 -1
  128. package/build/flushMicrotasks.js +0 -8
  129. package/build/flushMicrotasks.js.map +0 -1
  130. package/build/focusVisible.d.ts.map +0 -1
  131. package/build/focusVisible.js +0 -38
  132. package/build/focusVisible.js.map +0 -1
  133. package/build/index.d.ts +0 -18
  134. package/build/index.d.ts.map +0 -1
  135. package/build/index.js +0 -68
  136. package/build/index.js.map +0 -1
  137. package/build/init.d.ts +0 -2
  138. package/build/init.d.ts.map +0 -1
  139. package/build/init.js +0 -46
  140. package/build/init.js.map +0 -1
  141. package/build/initMatchers.d.ts +0 -2
  142. package/build/initMatchers.d.ts.map +0 -1
  143. package/build/initMatchers.js +0 -45
  144. package/build/initMatchers.js.map +0 -1
  145. package/build/initMatchers.test.d.ts +0 -2
  146. package/build/initMatchers.test.d.ts.map +0 -1
  147. package/build/initMatchers.test.js +0 -101
  148. package/build/initMatchers.test.js.map +0 -1
  149. package/build/initPlaywrightMatchers.d.ts +0 -25
  150. package/build/initPlaywrightMatchers.d.ts.map +0 -1
  151. package/build/initPlaywrightMatchers.js +0 -73
  152. package/build/initPlaywrightMatchers.js.map +0 -1
  153. package/build/mochaHooks.d.ts +0 -24
  154. package/build/mochaHooks.d.ts.map +0 -1
  155. package/build/mochaHooks.js +0 -165
  156. package/build/mochaHooks.js.map +0 -1
  157. package/build/mochaHooks.test.d.ts +0 -2
  158. package/build/mochaHooks.test.d.ts.map +0 -1
  159. package/build/mochaHooks.test.js +0 -128
  160. package/build/mochaHooks.test.js.map +0 -1
  161. package/build/reactMajor.d.ts +0 -3
  162. package/build/reactMajor.d.ts.map +0 -1
  163. package/build/reactMajor.js +0 -38
  164. package/build/reactMajor.js.map +0 -1
  165. package/build/setup.d.ts +0 -2
  166. package/build/setup.d.ts.map +0 -1
  167. package/build/setup.js +0 -10
  168. package/build/setup.js.map +0 -1
  169. package/build/setupBabel.d.ts +0 -2
  170. package/build/setupBabel.d.ts.map +0 -1
  171. package/build/setupBabel.js +0 -5
  172. package/build/setupBabel.js.map +0 -1
  173. package/build/setupBabelPlaywright.d.ts +0 -2
  174. package/build/setupBabelPlaywright.d.ts.map +0 -1
  175. package/build/setupBabelPlaywright.js +0 -14
  176. package/build/setupBabelPlaywright.js.map +0 -1
  177. package/build/setupJSDOM.d.ts +0 -7
  178. package/build/setupJSDOM.d.ts.map +0 -1
  179. package/build/setupJSDOM.js +0 -17
  180. package/build/setupJSDOM.js.map +0 -1
  181. package/build/setupKarma.d.ts +0 -2
  182. package/build/setupKarma.d.ts.map +0 -1
  183. package/build/setupKarma.js +0 -56
  184. package/build/setupKarma.js.map +0 -1
  185. package/build/setupVitest.d.ts +0 -2
  186. package/build/setupVitest.d.ts.map +0 -1
  187. package/build/setupVitest.js +0 -131
  188. package/build/setupVitest.js.map +0 -1
  189. package/src/KarmaReporterReactProfiler.js +0 -82
  190. package/src/chai-augmentation.d.ts +0 -8
  191. package/src/chaiPlugin.ts +0 -515
  192. package/src/components.tsx +0 -61
  193. package/src/createDOM.d.ts +0 -9
  194. package/src/createDescribe.ts +0 -31
  195. package/src/createRenderer.test.js +0 -31
  196. package/src/createRenderer.tsx +0 -808
  197. package/src/describeConformance.tsx +0 -1257
  198. package/src/describeSkipIf.tsx +0 -11
  199. package/src/index.ts +0 -25
  200. package/src/initMatchers.test.js +0 -124
  201. package/src/initMatchers.ts +0 -7
  202. package/src/initPlaywrightMatchers.ts +0 -101
  203. package/src/mochaHooks.js +0 -200
  204. package/src/mochaHooks.test.js +0 -116
  205. package/src/reactMajor.ts +0 -3
  206. package/src/setupBabel.js +0 -3
  207. package/src/setupBabelPlaywright.js +0 -13
  208. package/src/setupJSDOM.js +0 -20
  209. package/src/setupKarma.js +0 -65
  210. package/src/setupVitest.ts +0 -117
  211. package/tsconfig.build.json +0 -16
  212. package/tsconfig.json +0 -17
@@ -1,564 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
- };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.screen = exports.fireEvent = void 0;
43
- exports.createRenderer = createRenderer;
44
- exports.fireTouchChangedEvent = fireTouchChangedEvent;
45
- exports.act = act;
46
- /* eslint-env mocha */
47
- /* eslint-disable compat/compat -- Test environment */
48
- const cache_1 = __importDefault(require("@emotion/cache"));
49
- const react_1 = require("@emotion/react");
50
- const pure_1 = require("@testing-library/react/pure");
51
- const user_event_1 = require("@testing-library/user-event");
52
- const React = __importStar(require("react"));
53
- const ReactDOMServer = __importStar(require("react-dom/server"));
54
- const sinon_1 = require("sinon");
55
- const reactMajor_1 = __importDefault(require("./reactMajor"));
56
- const enableDispatchingProfiler = process.env.TEST_GATE === 'enable-dispatching-profiler';
57
- function noTrace(interactionName, callback) {
58
- return callback();
59
- }
60
- /**
61
- * Path used in Error.prototype.stack.
62
- *
63
- * Computed in `before` hook.
64
- */
65
- let workspaceRoot;
66
- let interactionID = 0;
67
- const interactionStack = [];
68
- /**
69
- * interactionName - Human readable label for this particular interaction.
70
- */
71
- function traceByStackSync(interactionName, callback) {
72
- const { stack } = new Error();
73
- const testLines = stack
74
- .split(/\r?\n/)
75
- .map((line) => {
76
- // anonymous functions create a "weird" stackframe like
77
- // "at path/to/actual.test.js (path/to/utility/file.js <- karma.test.js)"
78
- // and we just want "path/to/actual.test.js" not "karma.test.js"
79
- // TODO: Only supports chrome at the moment
80
- const fileMatch = line.match(/([^\s(]+\.test\.(js|ts|tsx)):(\d+):(\d+)/);
81
- if (fileMatch === null) {
82
- return null;
83
- }
84
- return { name: fileMatch[1], line: +fileMatch[3], column: +fileMatch[4] };
85
- })
86
- .filter((maybeTestFile) => {
87
- return maybeTestFile !== null;
88
- })
89
- .map((file) => {
90
- return `${file.name.replace(workspaceRoot, '')}:${file.line}:${file.column}`;
91
- });
92
- const originLine = testLines[testLines.length - 1] ?? 'unknown line';
93
- interactionID += 1;
94
- const interaction = {
95
- id: interactionID,
96
- name: `${originLine} (${interactionName})`,
97
- timestamp: performance.now(),
98
- };
99
- interactionStack.push(interaction);
100
- try {
101
- return callback();
102
- }
103
- finally {
104
- interactionStack.pop();
105
- }
106
- }
107
- class NoopProfiler {
108
- constructor() {
109
- this.id = 'noop';
110
- }
111
- onRender() { }
112
- report() { }
113
- }
114
- class DispatchingProfiler {
115
- constructor(id) {
116
- this.renders = [];
117
- this.onRender = (id, phase, actualDuration, baseDuration, startTime, commitTime) => {
118
- // Do minimal work here to keep the render fast.
119
- // Though it's unclear whether work here affects the profiler results.
120
- // But even if it doesn't we'll keep the test feedback snappy.
121
- this.renders.push([
122
- id,
123
- phase,
124
- actualDuration,
125
- baseDuration,
126
- startTime,
127
- commitTime,
128
- interactionStack.slice(),
129
- ]);
130
- };
131
- this.id = id;
132
- }
133
- report() {
134
- const event = new window.CustomEvent('reactProfilerResults', {
135
- detail: {
136
- [this.id]: this.renders.map((entry) => {
137
- return {
138
- phase: entry[1],
139
- actualDuration: entry[2],
140
- baseDuration: entry[3],
141
- startTime: entry[4],
142
- commitTime: entry[5],
143
- interactions: entry[6],
144
- };
145
- }),
146
- },
147
- });
148
- window.dispatchEvent(event);
149
- }
150
- }
151
- const UsedProfiler = enableDispatchingProfiler ? DispatchingProfiler : NoopProfiler;
152
- const traceSync = enableDispatchingProfiler ? traceByStackSync : noTrace;
153
- function queryAllDescriptionsOf(baseElement, element) {
154
- const ariaDescribedBy = element.getAttribute('aria-describedby');
155
- if (ariaDescribedBy === null) {
156
- return [];
157
- }
158
- return ariaDescribedBy
159
- .split(' ')
160
- .map((id) => {
161
- return document.getElementById(id);
162
- })
163
- .filter((maybeElement) => {
164
- return maybeElement !== null && baseElement.contains(maybeElement);
165
- });
166
- }
167
- const [queryDescriptionOf, getAllDescriptionsOf, getDescriptionOf, findAllDescriptionsOf, findDescriptionOf,] = (0, pure_1.buildQueries)(queryAllDescriptionsOf, function getMultipleError() {
168
- return `Found multiple descriptions.`;
169
- }, function getMissingError() {
170
- return `Found no describing element.`;
171
- });
172
- const customQueries = {
173
- queryDescriptionOf,
174
- queryAllDescriptionsOf,
175
- getDescriptionOf,
176
- getAllDescriptionsOf,
177
- findDescriptionOf,
178
- findAllDescriptionsOf,
179
- };
180
- function render(element, configuration) {
181
- const { container, hydrate, wrapper, reactStrictMode } = configuration;
182
- const testingLibraryRenderResult = traceSync('render', () => (0, pure_1.render)(element, {
183
- container,
184
- hydrate,
185
- queries: { ...pure_1.queries, ...customQueries },
186
- wrapper,
187
- reactStrictMode,
188
- }));
189
- const result = {
190
- ...testingLibraryRenderResult,
191
- user: user_event_1.userEvent.setup({ document }),
192
- forceUpdate() {
193
- traceSync('forceUpdate', () => testingLibraryRenderResult.rerender(React.cloneElement(element, {
194
- 'data-force-update': String(Math.random()),
195
- })));
196
- },
197
- setProps(props) {
198
- traceSync('setProps', () => testingLibraryRenderResult.rerender(React.cloneElement(element, props)));
199
- },
200
- };
201
- return result;
202
- }
203
- function renderToString(element, configuration) {
204
- const { container, wrapper: Wrapper } = configuration;
205
- traceSync('renderToString', () => {
206
- container.innerHTML = ReactDOMServer.renderToString(React.createElement(Wrapper, null, element));
207
- });
208
- return {
209
- container,
210
- hydrate() {
211
- return render(element, { ...configuration, hydrate: true });
212
- },
213
- };
214
- }
215
- function isVitest(vi) {
216
- return vi != null;
217
- }
218
- function createVitestClock(defaultMode, config, options, vi) {
219
- if (defaultMode === 'fake') {
220
- beforeEach(() => {
221
- vi.useFakeTimers(options);
222
- if (config) {
223
- vi.setSystemTime(config);
224
- }
225
- });
226
- afterEach(() => {
227
- vi.useRealTimers();
228
- });
229
- }
230
- else {
231
- beforeEach(() => {
232
- if (config) {
233
- vi.setSystemTime(config);
234
- }
235
- });
236
- afterEach(() => {
237
- vi.useRealTimers();
238
- });
239
- }
240
- return {
241
- withFakeTimers: () => {
242
- beforeEach(() => {
243
- vi.useFakeTimers(options);
244
- });
245
- afterEach(() => {
246
- vi.useRealTimers();
247
- });
248
- },
249
- runToLast: () => {
250
- traceSync('runToLast', () => {
251
- (0, pure_1.act)(() => {
252
- vi.runOnlyPendingTimers();
253
- });
254
- });
255
- },
256
- isReal() {
257
- return !vi.isFakeTimers();
258
- },
259
- restore() {
260
- vi.useRealTimers();
261
- },
262
- tick(timeoutMS) {
263
- traceSync('tick', () => {
264
- (0, pure_1.act)(() => {
265
- vi.advanceTimersByTime(timeoutMS);
266
- });
267
- });
268
- },
269
- runAll() {
270
- traceSync('runAll', () => {
271
- (0, pure_1.act)(() => {
272
- vi.runAllTimers();
273
- });
274
- });
275
- },
276
- };
277
- }
278
- function createClock(defaultMode, config, options, vi) {
279
- if (isVitest(vi)) {
280
- return createVitestClock(defaultMode, config, options, vi);
281
- }
282
- let clock = null;
283
- let mode = defaultMode;
284
- beforeEach(() => {
285
- if (mode === 'fake') {
286
- clock = (0, sinon_1.useFakeTimers)({
287
- now: config,
288
- // useIsFocusVisible schedules a global timer that needs to persist regardless of whether components are mounted or not.
289
- // Technically we'd want to reset all modules between tests but we don't have that technology.
290
- // In the meantime just continue to clear native timers like with did for the past years when using `sinon` < 8.
291
- shouldClearNativeTimers: true,
292
- ...options,
293
- });
294
- }
295
- });
296
- afterEach(() => {
297
- clock?.restore();
298
- clock = null;
299
- });
300
- return {
301
- tick(timeoutMS) {
302
- if (clock === null) {
303
- throw new Error(`Can't advance the real clock. Did you mean to call this on fake clock?`);
304
- }
305
- traceSync('tick', () => {
306
- (0, pure_1.act)(() => {
307
- clock.tick(timeoutMS);
308
- });
309
- });
310
- },
311
- runAll() {
312
- if (clock === null) {
313
- throw new Error(`Can't advance the real clock. Did you mean to call this on fake clock?`);
314
- }
315
- traceSync('runAll', () => {
316
- (0, pure_1.act)(() => {
317
- clock.runAll();
318
- });
319
- });
320
- },
321
- runToLast() {
322
- if (clock === null) {
323
- throw new Error(`Can't advance the real clock. Did you mean to call this on fake clock?`);
324
- }
325
- traceSync('runToLast', () => {
326
- (0, pure_1.act)(() => {
327
- clock.runToLast();
328
- });
329
- });
330
- },
331
- isReal() {
332
- return setTimeout.hasOwnProperty('clock') === false;
333
- },
334
- withFakeTimers() {
335
- before(() => {
336
- mode = 'fake';
337
- });
338
- after(() => {
339
- mode = defaultMode;
340
- });
341
- },
342
- restore() {
343
- clock?.restore();
344
- },
345
- };
346
- }
347
- function createRenderer(globalOptions = {}) {
348
- const { clock: clockMode = 'real', clockConfig, strict: globalStrict = true, strictEffects: globalStrictEffects = globalStrict, vi = globalThis.vi, clockOptions, } = globalOptions;
349
- // save stack to re-use in test-hooks
350
- const { stack: createClientRenderStack } = new Error();
351
- const clock = createClock(clockMode, clockConfig, clockOptions, vi);
352
- /**
353
- * Flag whether `createRenderer` was called in a suite i.e. describe() block.
354
- * For legacy reasons `createRenderer` might accidentally be called in a before(Each) hook.
355
- */
356
- let wasCalledInSuite = false;
357
- before(function beforeHook() {
358
- wasCalledInSuite = true;
359
- if (enableDispatchingProfiler) {
360
- // TODO windows?
361
- const filename = new Error()
362
- .stack.split(/\r?\n/)
363
- .map((line) => {
364
- const fileMatch =
365
- // chrome: " at Context.beforeHook (webpack-internal:///./test/utils/createRenderer.tsx:257:24)""
366
- line.match(/\(([^)]+):\d+:\d+\)/) ??
367
- // firefox: "beforeHook@webpack-internal:///./test/utils/createRenderer.tsx:257:24"
368
- line.match(/@(.*?):\d+:\d+$/);
369
- if (fileMatch === null) {
370
- return null;
371
- }
372
- return fileMatch[1];
373
- })
374
- .find((file) => {
375
- return file?.endsWith('createRenderer.tsx');
376
- });
377
- workspaceRoot = filename.replace('test/utils/createRenderer.tsx', '');
378
- }
379
- });
380
- let emotionCache = null;
381
- /**
382
- * target container for SSR
383
- */
384
- let serverContainer;
385
- /**
386
- * Flag whether all setup for `configuredClientRender` was completed.
387
- * For legacy reasons `configuredClientRender` might accidentally be called in a before(Each) hook.
388
- */
389
- let prepared = false;
390
- let profiler = null;
391
- beforeEach(function beforeEachHook() {
392
- if (!wasCalledInSuite) {
393
- const error = new Error('Unable to run `before` hook for `createRenderer`. This usually indicates that `createRenderer` was called in a `before` hook instead of in a `describe()` block.');
394
- error.stack = createClientRenderStack;
395
- throw error;
396
- }
397
- let id = null;
398
- if (isVitest(vi)) {
399
- // @ts-expect-error
400
- id = expect.getState().currentTestName;
401
- }
402
- else {
403
- id = this.currentTest?.fullTitle() ?? null;
404
- }
405
- if (!id) {
406
- throw new Error('Unable to find the currently running test. This is a bug with the client-renderer. Please report this issue to a maintainer.');
407
- }
408
- profiler = new UsedProfiler(id);
409
- emotionCache = (0, cache_1.default)({ key: 'emotion-client-render' });
410
- serverContainer = document.createElement('div');
411
- document.body.appendChild(serverContainer);
412
- prepared = true;
413
- });
414
- afterEach(() => {
415
- if (!clock.isReal()) {
416
- const error = new Error("Can't cleanup before fake timers are restored.\n" +
417
- 'Be sure to:\n' +
418
- ' 1. Only use `clock` from `createRenderer`.\n' +
419
- ' 2. Call `createRenderer` in a suite and not any test hook (for example `beforeEach`) or test itself (for example `it`).');
420
- // Use saved stack otherwise the stack trace will not include the test location.
421
- error.stack = createClientRenderStack;
422
- throw error;
423
- }
424
- (0, pure_1.cleanup)();
425
- profiler.report();
426
- profiler = null;
427
- emotionCache.sheet.tags.forEach((styleTag) => {
428
- styleTag.remove();
429
- });
430
- emotionCache = null;
431
- serverContainer.remove();
432
- serverContainer = null;
433
- });
434
- function createWrapper(options) {
435
- const { wrapper: InnerWrapper = React.Fragment } = options;
436
- return function Wrapper({ children }) {
437
- return (React.createElement(react_1.CacheProvider, { value: emotionCache },
438
- React.createElement(React.Profiler, { id: profiler.id, onRender: profiler.onRender },
439
- React.createElement(InnerWrapper, null, children))));
440
- };
441
- }
442
- return {
443
- clock,
444
- render(element, options = {}) {
445
- if (!prepared) {
446
- throw new Error('Unable to finish setup before `render()` was called. ' +
447
- 'This usually indicates that `render()` was called in a `before()` or `beforeEach` hook. ' +
448
- 'Move the call into each `it()`. Otherwise you cannot run a specific test and we cannot isolate each test.');
449
- }
450
- const usesLegacyRoot = reactMajor_1.default < 18;
451
- const reactStrictMode = (options.strict ?? globalStrict) &&
452
- ((options.strictEffects ?? globalStrictEffects) || usesLegacyRoot);
453
- return render(element, {
454
- ...options,
455
- reactStrictMode,
456
- hydrate: false,
457
- wrapper: createWrapper(options),
458
- });
459
- },
460
- renderToString(element, options = {}) {
461
- if (!prepared) {
462
- throw new Error('Unable to finish setup before `render()` was called. ' +
463
- 'This usually indicates that `render()` was called in a `before()` or `beforeEach` hook. ' +
464
- 'Move the call into each `it()`. Otherwise you cannot run a specific test and we cannot isolate each test.');
465
- }
466
- const { container = serverContainer, ...localOptions } = options;
467
- return renderToString(element, {
468
- ...localOptions,
469
- container,
470
- wrapper: createWrapper(options),
471
- });
472
- },
473
- };
474
- }
475
- const fireEvent = ((target, event, ...args) => {
476
- return traceSync(`firEvent.${event.type}`, () => (0, pure_1.fireEvent)(target, event, ...args));
477
- });
478
- exports.fireEvent = fireEvent;
479
- Object.keys(pure_1.fireEvent).forEach(
480
- // @ts-expect-error
481
- (eventType) => {
482
- fireEvent[eventType] = (...args) => traceSync(`firEvent.${eventType}`, () => pure_1.fireEvent[eventType](...args));
483
- });
484
- const originalFireEventKeyDown = pure_1.fireEvent.keyDown;
485
- fireEvent.keyDown = (desiredTarget, options = {}) => {
486
- const element = desiredTarget;
487
- // `element` shouldn't be `document` but we catch this later anyway
488
- const document = element.ownerDocument || element;
489
- const target = document.activeElement || document.body || document.documentElement;
490
- if (target !== element) {
491
- // see https://www.w3.org/TR/uievents/#keydown
492
- const error = new Error(`\`keydown\` events can only be targeted at the active element which is ${(0, pure_1.prettyDOM)(target, undefined, { maxDepth: 1 })}`);
493
- // We're only interested in the callsite of fireEvent.keyDown
494
- error.stack = error
495
- .stack.split('\n')
496
- .filter((line) => !/at Function.key/.test(line))
497
- .join('\n');
498
- throw error;
499
- }
500
- return traceSync('fireEvent.keyDown', () => originalFireEventKeyDown(element, options));
501
- };
502
- const originalFireEventKeyUp = pure_1.fireEvent.keyUp;
503
- fireEvent.keyUp = (desiredTarget, options = {}) => {
504
- const element = desiredTarget;
505
- // `element` shouldn't be `document` but we catch this later anyway
506
- const document = element.ownerDocument || element;
507
- const target = document.activeElement || document.body || document.documentElement;
508
- if (target !== element) {
509
- // see https://www.w3.org/TR/uievents/#keyup
510
- const error = new Error(`\`keyup\` events can only be targeted at the active element which is ${(0, pure_1.prettyDOM)(target, undefined, { maxDepth: 1 })}`);
511
- // We're only interested in the callsite of fireEvent.keyUp
512
- error.stack = error
513
- .stack.split('\n')
514
- .filter((line) => !/at Function.key/.test(line))
515
- .join('\n');
516
- throw error;
517
- }
518
- return traceSync('fireEvent.keyUp', () => originalFireEventKeyUp(element, options));
519
- };
520
- function fireTouchChangedEvent(target, type, options) {
521
- const { changedTouches } = options;
522
- const originalGetBoundingClientRect = target.getBoundingClientRect;
523
- target.getBoundingClientRect = () => ({
524
- x: 0,
525
- y: 0,
526
- bottom: 0,
527
- height: 0,
528
- left: 0,
529
- right: 0,
530
- top: 0,
531
- width: 0,
532
- toJSON() {
533
- return {
534
- x: 0,
535
- y: 0,
536
- bottom: 0,
537
- height: 0,
538
- left: 0,
539
- right: 0,
540
- top: 0,
541
- width: 0,
542
- };
543
- },
544
- });
545
- const event = new window.TouchEvent(type, {
546
- bubbles: true,
547
- cancelable: true,
548
- composed: true,
549
- changedTouches: changedTouches.map((opts) => new window.Touch({
550
- target,
551
- identifier: 0,
552
- ...opts,
553
- })),
554
- });
555
- fireEvent(target, event);
556
- target.getBoundingClientRect = originalGetBoundingClientRect;
557
- }
558
- function act(callback) {
559
- return traceSync('act', () => (0, pure_1.act)(callback));
560
- }
561
- const bodyBoundQueries = (0, pure_1.within)(document.body, { ...pure_1.queries, ...customQueries });
562
- __exportStar(require("@testing-library/react/pure"), exports);
563
- exports.screen = { ...pure_1.screen, ...bodyBoundQueries };
564
- //# sourceMappingURL=createRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createRenderer.js","sourceRoot":"","sources":["../src/createRenderer.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=createRenderer.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createRenderer.test.d.ts","sourceRoot":"","sources":["../src/createRenderer.test.js"],"names":[],"mappings":""}
@@ -1,58 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- const chai_1 = require("chai");
37
- const React = __importStar(require("react"));
38
- const ReactDOM = __importStar(require("react-dom"));
39
- const createRenderer_1 = require("./createRenderer");
40
- describe('createRenderer', () => {
41
- const { render } = (0, createRenderer_1.createRenderer)();
42
- it('allows querying descriptions', () => {
43
- function Component() {
44
- return (React.createElement(React.Fragment, null,
45
- React.createElement("div", { id: "target", "aria-describedby": "r:1 r:2 r:3" }, "I have a description."),
46
- ReactDOM.createPortal(React.createElement("div", { id: "r:1" }, "Description 1"), document.body),
47
- React.createElement("div", { id: "r:2" }, "Description 2"),
48
- React.createElement("div", { id: "r:3" }, "Description 3")));
49
- }
50
- const { getAllDescriptionsOf } = render(React.createElement(Component, null));
51
- const descriptions = getAllDescriptionsOf(document.getElementById('target'));
52
- (0, chai_1.expect)(descriptions).to.have.length(3);
53
- (0, chai_1.expect)(descriptions[0]).to.have.property('id', 'r:1');
54
- (0, chai_1.expect)(descriptions[1]).to.have.property('id', 'r:2');
55
- (0, chai_1.expect)(descriptions[2]).to.have.property('id', 'r:3');
56
- });
57
- });
58
- //# sourceMappingURL=createRenderer.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createRenderer.test.js","sourceRoot":"","sources":["../src/createRenderer.test.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA8B;AAC9B,6CAA+B;AAC/B,oDAAsC;AACtC,qDAAkD;AAElD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IAEpC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,SAAS,SAAS;YAChB,OAAO,CACL,oBAAC,KAAK,CAAC,QAAQ;gBACb,6BAAK,EAAE,EAAC,QAAQ,sBAAkB,aAAa,4BAEzC;gBACL,QAAQ,CAAC,YAAY,CAAC,6BAAK,EAAE,EAAC,KAAK,oBAAoB,EAAE,QAAQ,CAAC,IAAI,CAAC;gBAExE,6BAAK,EAAE,EAAC,KAAK,oBAAoB;gBACjC,6BAAK,EAAE,EAAC,KAAK,oBAAoB,CAClB,CAClB,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAAC,oBAAC,SAAS,OAAG,CAAC,CAAC;QAEvD,MAAM,YAAY,GAAG,oBAAoB,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7E,IAAA,aAAM,EAAC,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvC,IAAA,aAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtD,IAAA,aAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtD,IAAA,aAAM,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}