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