@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.
- package/{src/chai.types.ts → chai.types.d.ts} +7 -40
- package/chai.types.js +5 -0
- package/chaiPlugin.d.ts +4 -0
- package/chaiPlugin.js +287 -0
- package/{build/components.d.ts → components.d.ts} +18 -19
- package/components.js +64 -0
- package/createDOM.d.ts +2 -0
- package/{src/createDOM.js → createDOM.js} +17 -35
- package/createDescribe.d.ts +7 -0
- package/createDescribe.js +26 -0
- package/createRenderer.d.ts +214 -0
- package/createRenderer.js +428 -0
- package/createRenderer.test.d.ts +1 -0
- package/describeConformance.d.ts +200 -0
- package/describeConformance.js +1038 -0
- package/env.d.ts +1 -0
- package/env.js +11 -0
- package/esm/chai.types.d.ts +74 -0
- package/esm/chai.types.js +3 -0
- package/esm/chaiPlugin.d.ts +4 -0
- package/esm/chaiPlugin.js +281 -0
- package/esm/components.d.ts +35 -0
- package/esm/components.js +56 -0
- package/esm/createDOM.d.ts +2 -0
- package/esm/createDOM.js +47 -0
- package/esm/createDescribe.d.ts +7 -0
- package/esm/createDescribe.js +19 -0
- package/esm/createRenderer.d.ts +214 -0
- package/esm/createRenderer.js +390 -0
- package/esm/createRenderer.test.d.ts +1 -0
- package/esm/describeConformance.d.ts +200 -0
- package/esm/describeConformance.js +1024 -0
- package/esm/env.d.ts +1 -0
- package/esm/env.js +5 -0
- package/{build → esm}/fireDiscreteEvent.d.ts +1 -2
- package/{src/fireDiscreteEvent.ts → esm/fireDiscreteEvent.js} +10 -18
- package/esm/flushMicrotasks.d.ts +1 -0
- package/{src/flushMicrotasks.ts → esm/flushMicrotasks.js} +2 -3
- package/{build → esm}/focusVisible.d.ts +1 -2
- package/{src/focusVisible.ts → esm/focusVisible.js} +10 -9
- package/esm/index.d.ts +18 -0
- package/esm/index.js +27 -0
- package/esm/init.d.ts +1 -0
- package/{src → esm}/init.js +4 -2
- package/esm/initMatchers.d.ts +1 -0
- package/esm/initMatchers.js +6 -0
- package/esm/initMatchers.test.d.ts +1 -0
- package/esm/initPlaywrightMatchers.d.ts +24 -0
- package/esm/initPlaywrightMatchers.js +40 -0
- package/esm/package.json +1 -0
- package/esm/reactMajor.d.ts +2 -0
- package/esm/reactMajor.js +2 -0
- package/esm/setup.d.ts +1 -0
- package/{src → esm}/setup.js +2 -4
- package/esm/setupVitest.d.ts +1 -0
- package/esm/setupVitest.js +28 -0
- package/esm/setupVitestBrowser.d.ts +1 -0
- package/esm/setupVitestBrowser.js +30 -0
- package/fireDiscreteEvent.d.ts +6 -0
- package/fireDiscreteEvent.js +79 -0
- package/flushMicrotasks.d.ts +1 -0
- package/flushMicrotasks.js +10 -0
- package/focusVisible.d.ts +7 -0
- package/focusVisible.js +44 -0
- package/index.d.ts +18 -0
- package/index.js +139 -0
- package/init.d.ts +1 -0
- package/init.js +15 -0
- package/initMatchers.d.ts +1 -0
- package/initMatchers.js +10 -0
- package/initMatchers.test.d.ts +1 -0
- package/initPlaywrightMatchers.d.ts +24 -0
- package/initPlaywrightMatchers.js +42 -0
- package/package.json +89 -46
- package/reactMajor.d.ts +2 -0
- package/reactMajor.js +9 -0
- package/setup.d.ts +1 -0
- package/setup.js +10 -0
- package/setupVitest.d.ts +1 -0
- package/setupVitest.js +32 -0
- package/setupVitestBrowser.d.ts +1 -0
- package/setupVitestBrowser.js +34 -0
- package/build/.tsbuildinfo +0 -1
- package/build/KarmaReporterReactProfiler.d.ts +0 -51
- package/build/KarmaReporterReactProfiler.d.ts.map +0 -1
- package/build/KarmaReporterReactProfiler.js +0 -66
- package/build/KarmaReporterReactProfiler.js.map +0 -1
- package/build/chai.types.d.ts +0 -75
- package/build/chai.types.d.ts.map +0 -1
- package/build/chai.types.js +0 -3
- package/build/chai.types.js.map +0 -1
- package/build/chaiPlugin.d.ts +0 -5
- package/build/chaiPlugin.d.ts.map +0 -1
- package/build/chaiPlugin.js +0 -416
- package/build/chaiPlugin.js.map +0 -1
- package/build/components.d.ts.map +0 -1
- package/build/components.js +0 -88
- package/build/components.js.map +0 -1
- package/build/createDOM.d.ts +0 -3
- package/build/createDOM.d.ts.map +0 -1
- package/build/createDOM.js +0 -60
- package/build/createDOM.js.map +0 -1
- package/build/createDescribe.d.ts +0 -8
- package/build/createDescribe.d.ts.map +0 -1
- package/build/createDescribe.js +0 -22
- package/build/createDescribe.js.map +0 -1
- package/build/createRenderer.d.ts +0 -215
- package/build/createRenderer.d.ts.map +0 -1
- package/build/createRenderer.js +0 -564
- package/build/createRenderer.js.map +0 -1
- package/build/createRenderer.test.d.ts +0 -2
- package/build/createRenderer.test.d.ts.map +0 -1
- package/build/createRenderer.test.js +0 -58
- package/build/createRenderer.test.js.map +0 -1
- package/build/describeConformance.d.ts +0 -201
- package/build/describeConformance.d.ts.map +0 -1
- package/build/describeConformance.js +0 -859
- package/build/describeConformance.js.map +0 -1
- package/build/describeSkipIf.d.ts +0 -4
- package/build/describeSkipIf.d.ts.map +0 -1
- package/build/describeSkipIf.js +0 -10
- package/build/describeSkipIf.js.map +0 -1
- package/build/fireDiscreteEvent.d.ts.map +0 -1
- package/build/fireDiscreteEvent.js +0 -77
- package/build/fireDiscreteEvent.js.map +0 -1
- package/build/flushMicrotasks.d.ts +0 -2
- package/build/flushMicrotasks.d.ts.map +0 -1
- package/build/flushMicrotasks.js +0 -8
- package/build/flushMicrotasks.js.map +0 -1
- package/build/focusVisible.d.ts.map +0 -1
- package/build/focusVisible.js +0 -38
- package/build/focusVisible.js.map +0 -1
- package/build/index.d.ts +0 -18
- package/build/index.d.ts.map +0 -1
- package/build/index.js +0 -68
- package/build/index.js.map +0 -1
- package/build/init.d.ts +0 -2
- package/build/init.d.ts.map +0 -1
- package/build/init.js +0 -46
- package/build/init.js.map +0 -1
- package/build/initMatchers.d.ts +0 -2
- package/build/initMatchers.d.ts.map +0 -1
- package/build/initMatchers.js +0 -45
- package/build/initMatchers.js.map +0 -1
- package/build/initMatchers.test.d.ts +0 -2
- package/build/initMatchers.test.d.ts.map +0 -1
- package/build/initMatchers.test.js +0 -101
- package/build/initMatchers.test.js.map +0 -1
- package/build/initPlaywrightMatchers.d.ts +0 -25
- package/build/initPlaywrightMatchers.d.ts.map +0 -1
- package/build/initPlaywrightMatchers.js +0 -73
- package/build/initPlaywrightMatchers.js.map +0 -1
- package/build/mochaHooks.d.ts +0 -24
- package/build/mochaHooks.d.ts.map +0 -1
- package/build/mochaHooks.js +0 -165
- package/build/mochaHooks.js.map +0 -1
- package/build/mochaHooks.test.d.ts +0 -2
- package/build/mochaHooks.test.d.ts.map +0 -1
- package/build/mochaHooks.test.js +0 -128
- package/build/mochaHooks.test.js.map +0 -1
- package/build/reactMajor.d.ts +0 -3
- package/build/reactMajor.d.ts.map +0 -1
- package/build/reactMajor.js +0 -38
- package/build/reactMajor.js.map +0 -1
- package/build/setup.d.ts +0 -2
- package/build/setup.d.ts.map +0 -1
- package/build/setup.js +0 -10
- package/build/setup.js.map +0 -1
- package/build/setupBabel.d.ts +0 -2
- package/build/setupBabel.d.ts.map +0 -1
- package/build/setupBabel.js +0 -5
- package/build/setupBabel.js.map +0 -1
- package/build/setupBabelPlaywright.d.ts +0 -2
- package/build/setupBabelPlaywright.d.ts.map +0 -1
- package/build/setupBabelPlaywright.js +0 -14
- package/build/setupBabelPlaywright.js.map +0 -1
- package/build/setupJSDOM.d.ts +0 -7
- package/build/setupJSDOM.d.ts.map +0 -1
- package/build/setupJSDOM.js +0 -17
- package/build/setupJSDOM.js.map +0 -1
- package/build/setupKarma.d.ts +0 -2
- package/build/setupKarma.d.ts.map +0 -1
- package/build/setupKarma.js +0 -56
- package/build/setupKarma.js.map +0 -1
- package/build/setupVitest.d.ts +0 -2
- package/build/setupVitest.d.ts.map +0 -1
- package/build/setupVitest.js +0 -131
- package/build/setupVitest.js.map +0 -1
- package/src/KarmaReporterReactProfiler.js +0 -82
- package/src/chai-augmentation.d.ts +0 -8
- package/src/chaiPlugin.ts +0 -515
- package/src/components.tsx +0 -61
- package/src/createDOM.d.ts +0 -9
- package/src/createDescribe.ts +0 -31
- package/src/createRenderer.test.js +0 -31
- package/src/createRenderer.tsx +0 -808
- package/src/describeConformance.tsx +0 -1257
- package/src/describeSkipIf.tsx +0 -11
- package/src/index.ts +0 -25
- package/src/initMatchers.test.js +0 -124
- package/src/initMatchers.ts +0 -7
- package/src/initPlaywrightMatchers.ts +0 -101
- package/src/mochaHooks.js +0 -200
- package/src/mochaHooks.test.js +0 -116
- package/src/reactMajor.ts +0 -3
- package/src/setupBabel.js +0 -3
- package/src/setupBabelPlaywright.js +0 -13
- package/src/setupJSDOM.js +0 -20
- package/src/setupKarma.js +0 -65
- package/src/setupVitest.ts +0 -117
- package/tsconfig.build.json +0 -16
- package/tsconfig.json +0 -17
package/build/createRenderer.js
DELETED
|
@@ -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 +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"}
|