@mui/internal-test-utils 1.0.2 → 1.0.4
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/build/.tsbuildinfo +1 -1
- package/build/createRenderer.d.ts +3 -3
- package/build/createRenderer.d.ts.map +1 -1
- package/build/describeConformance.d.ts +0 -6
- package/build/describeConformance.d.ts.map +1 -1
- package/build/describeConformance.js +1 -19
- package/build/describeConformance.js.map +1 -1
- package/build/flushMicrotasks.js +1 -1
- package/build/flushMicrotasks.js.map +1 -1
- package/build/index.d.ts +0 -2
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -6
- package/build/index.js.map +1 -1
- package/build/init.js +0 -6
- package/build/init.js.map +1 -1
- package/package.json +4 -9
- package/src/createRenderer.tsx +3 -3
- package/src/describeConformance.tsx +0 -18
- package/src/flushMicrotasks.ts +1 -1
- package/src/index.ts +0 -2
- package/src/init.js +0 -4
- package/tsconfig.json +1 -0
- package/build/createMount.d.ts +0 -9
- package/build/createMount.d.ts.map +0 -1
- package/build/createMount.js +0 -120
- package/build/createMount.js.map +0 -1
- package/build/findOutermostIntrinsic.d.ts +0 -14
- package/build/findOutermostIntrinsic.d.ts.map +0 -1
- package/build/findOutermostIntrinsic.js +0 -22
- package/build/findOutermostIntrinsic.js.map +0 -1
- package/build/findOutermostIntrinsic.test.d.ts +0 -2
- package/build/findOutermostIntrinsic.test.d.ts.map +0 -1
- package/build/findOutermostIntrinsic.test.js +0 -70
- package/build/findOutermostIntrinsic.test.js.map +0 -1
- package/build/until.d.ts +0 -2
- package/build/until.d.ts.map +0 -1
- package/build/until.js +0 -26
- package/build/until.js.map +0 -1
- package/build/until.test.d.ts +0 -2
- package/build/until.test.d.ts.map +0 -1
- package/build/until.test.js +0 -118
- package/build/until.test.js.map +0 -1
- package/src/createMount.tsx +0 -136
- package/src/findOutermostIntrinsic.test.js +0 -68
- package/src/findOutermostIntrinsic.ts +0 -19
- package/src/until.js +0 -28
- package/src/until.test.js +0 -120
package/build/init.js
CHANGED
|
@@ -22,15 +22,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const enzyme_1 = __importDefault(require("enzyme"));
|
|
30
|
-
const enzyme_adapter_react_18_1 = __importDefault(require("@mnajdova/enzyme-adapter-react-18"));
|
|
31
26
|
const testingLibrary = __importStar(require("@testing-library/react/pure"));
|
|
32
27
|
require("./initMatchers");
|
|
33
|
-
enzyme_1.default.configure({ adapter: new enzyme_adapter_react_18_1.default() });
|
|
34
28
|
// checking if an element is hidden is quite expensive
|
|
35
29
|
// this is only done in CI as a fail safe. It can still explicitly be checked
|
|
36
30
|
// in the test files which helps documenting what is part of the DOM but hidden
|
package/build/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4EAA8D;AAC9D,0BAAwB;AAExB,sDAAsD;AACtD,6EAA6E;AAC7E,+EAA+E;AAC/E,4BAA4B;AAC5B,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;AACtC,uDAAuD;AACvD,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,mCAAmC,CAAC,CAAC;AAC9F,cAAc,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/internal-test-utils",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"author": "MUI Team",
|
|
5
5
|
"description": "Utilities for MUI tests. This is an internal package not meant for general use.",
|
|
6
6
|
"main": "./build/index.js",
|
|
@@ -30,32 +30,27 @@
|
|
|
30
30
|
"@babel/runtime": "^7.24.7",
|
|
31
31
|
"@emotion/cache": "^11.11.0",
|
|
32
32
|
"@emotion/react": "^11.11.4",
|
|
33
|
-
"@
|
|
34
|
-
"@testing-library/dom": "^10.1.0",
|
|
33
|
+
"@testing-library/dom": "^10.2.0",
|
|
35
34
|
"@testing-library/react": "^16.0.0",
|
|
36
35
|
"chai": "^4.4.1",
|
|
37
36
|
"chai-dom": "^1.12.0",
|
|
38
37
|
"dom-accessibility-api": "^0.6.3",
|
|
39
|
-
"enzyme": "^3.11.0",
|
|
40
38
|
"format-util": "^1.0.5",
|
|
41
39
|
"fs-extra": "^11.2.0",
|
|
42
40
|
"jsdom": "^24.0.0",
|
|
43
41
|
"lodash": "^4.17.21",
|
|
44
42
|
"mocha": "^10.4.0",
|
|
45
|
-
"playwright": "^1.
|
|
43
|
+
"playwright": "^1.45.0",
|
|
46
44
|
"prop-types": "^15.8.1",
|
|
47
|
-
"react-test-renderer": "^18.2.0",
|
|
48
45
|
"sinon": "^16.1.3"
|
|
49
46
|
},
|
|
50
47
|
"devDependencies": {
|
|
51
48
|
"@types/chai": "^4.3.16",
|
|
52
49
|
"@types/chai-dom": "^1.11.3",
|
|
53
|
-
"@types/enzyme": "^3.10.18",
|
|
54
50
|
"@types/format-util": "^1.0.4",
|
|
55
51
|
"@types/prop-types": "^15.7.12",
|
|
56
|
-
"@types/react": "^18.
|
|
52
|
+
"@types/react": "^18.3.3",
|
|
57
53
|
"@types/react-dom": "^18.3.0",
|
|
58
|
-
"@types/react-test-renderer": "^18.3.0",
|
|
59
54
|
"@types/sinon": "^17.0.3",
|
|
60
55
|
"typescript": "^5.4.5"
|
|
61
56
|
},
|
package/src/createRenderer.tsx
CHANGED
|
@@ -333,7 +333,7 @@ function renderToString(
|
|
|
333
333
|
};
|
|
334
334
|
}
|
|
335
335
|
|
|
336
|
-
interface Clock {
|
|
336
|
+
export interface Clock {
|
|
337
337
|
/**
|
|
338
338
|
* Runs all timers until there are no more remaining.
|
|
339
339
|
* WARNING: This may cause an infinite loop if a timeout constantly schedules another timeout.
|
|
@@ -363,7 +363,7 @@ interface Clock {
|
|
|
363
363
|
restore(): void;
|
|
364
364
|
}
|
|
365
365
|
|
|
366
|
-
type ClockConfig = undefined | number | Date;
|
|
366
|
+
export type ClockConfig = undefined | number | Date;
|
|
367
367
|
|
|
368
368
|
function createClock(defaultMode: 'fake' | 'real', config: ClockConfig): Clock {
|
|
369
369
|
let clock: ReturnType<typeof useFakeTimers> | null = null;
|
|
@@ -436,7 +436,7 @@ function createClock(defaultMode: 'fake' | 'real', config: ClockConfig): Clock {
|
|
|
436
436
|
};
|
|
437
437
|
}
|
|
438
438
|
|
|
439
|
-
interface Renderer {
|
|
439
|
+
export interface Renderer {
|
|
440
440
|
clock: Clock;
|
|
441
441
|
render(element: React.ReactElement<any>, options?: RenderOptions): MuiRenderResult;
|
|
442
442
|
renderToString(
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/* eslint-env mocha */
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { expect } from 'chai';
|
|
4
|
-
import ReactTestRenderer from 'react-test-renderer';
|
|
5
4
|
import createDescribe from './createDescribe';
|
|
6
5
|
import { MuiRenderResult } from './createRenderer';
|
|
7
6
|
|
|
@@ -246,22 +245,6 @@ export function testRootClass(
|
|
|
246
245
|
});
|
|
247
246
|
}
|
|
248
247
|
|
|
249
|
-
/**
|
|
250
|
-
* Tests that the component can be rendered with react-test-renderer.
|
|
251
|
-
* This is important for snapshot testing with Jest (even if we don't encourage it).
|
|
252
|
-
*/
|
|
253
|
-
export function testReactTestRenderer(element: React.ReactElement<any>) {
|
|
254
|
-
it('should render without errors in ReactTestRenderer', () => {
|
|
255
|
-
ReactTestRenderer.act(() => {
|
|
256
|
-
ReactTestRenderer.create(element, {
|
|
257
|
-
createNodeMock: (node) => {
|
|
258
|
-
return document.createElement(node.type as keyof HTMLElementTagNameMap);
|
|
259
|
-
},
|
|
260
|
-
});
|
|
261
|
-
});
|
|
262
|
-
});
|
|
263
|
-
}
|
|
264
|
-
|
|
265
248
|
function forEachSlot(
|
|
266
249
|
slots: ConformanceOptions['slots'],
|
|
267
250
|
callback: (slotName: string, slot: SlotTestingOptions) => void,
|
|
@@ -1018,7 +1001,6 @@ const fullSuite = {
|
|
|
1018
1001
|
propsSpread: testPropsSpread,
|
|
1019
1002
|
refForwarding: describeRef,
|
|
1020
1003
|
rootClass: testRootClass,
|
|
1021
|
-
reactTestRenderer: testReactTestRenderer,
|
|
1022
1004
|
slotPropsProp: testSlotPropsProp,
|
|
1023
1005
|
slotPropsCallback: testSlotPropsCallback,
|
|
1024
1006
|
slotsProp: testSlotsProp,
|
package/src/flushMicrotasks.ts
CHANGED
|
@@ -3,6 +3,6 @@ import { act } from './createRenderer';
|
|
|
3
3
|
export default async function flushMicrotasks() {
|
|
4
4
|
if (/jsdom/.test(window.navigator.userAgent)) {
|
|
5
5
|
// This is only needed for JSDOM and causes issues in real browsers
|
|
6
|
-
await act(
|
|
6
|
+
await act(async () => {});
|
|
7
7
|
}
|
|
8
8
|
}
|
package/src/index.ts
CHANGED
|
@@ -5,8 +5,6 @@ export { default as describeConformance } from './describeConformance';
|
|
|
5
5
|
export * from './describeConformance';
|
|
6
6
|
export { default as createDescribe } from './createDescribe';
|
|
7
7
|
export * from './createRenderer';
|
|
8
|
-
export { default as createMount } from './createMount';
|
|
9
|
-
export { default as findOutermostIntrinsic, wrapsIntrinsicElement } from './findOutermostIntrinsic';
|
|
10
8
|
export {
|
|
11
9
|
default as focusVisible,
|
|
12
10
|
simulatePointerDevice,
|
package/src/init.js
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import enzyme from 'enzyme';
|
|
2
|
-
import Adapter from '@mnajdova/enzyme-adapter-react-18';
|
|
3
1
|
import * as testingLibrary from '@testing-library/react/pure';
|
|
4
2
|
import './initMatchers';
|
|
5
3
|
|
|
6
|
-
enzyme.configure({ adapter: new Adapter() });
|
|
7
|
-
|
|
8
4
|
// checking if an element is hidden is quite expensive
|
|
9
5
|
// this is only done in CI as a fail safe. It can still explicitly be checked
|
|
10
6
|
// in the test files which helps documenting what is part of the DOM but hidden
|
package/tsconfig.json
CHANGED
package/build/createMount.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { mount as enzymeMount, MountRendererProps } from 'enzyme';
|
|
3
|
-
interface CreateMountOptions extends MountRendererProps {
|
|
4
|
-
mount?: typeof enzymeMount;
|
|
5
|
-
strict?: boolean;
|
|
6
|
-
}
|
|
7
|
-
export default function createMount(options?: CreateMountOptions): (node: React.ReactElement<any>, localOptions?: Omit<CreateMountOptions, 'mount'>) => import("enzyme").ReactWrapper<any, Readonly<{}>, React.Component<{}, {}, any>>;
|
|
8
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=createMount.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createMount.d.ts","sourceRoot":"","sources":["../src/createMount.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AA+BlE,UAAU,kBAAmB,SAAQ,kBAAkB;IACrD,KAAK,CAAC,EAAE,OAAO,WAAW,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,OAAO,GAAE,kBAAuB,UAsD1D,MAAM,YAAY,CAAC,GAAG,CAAC,iBACf,KAAK,kBAAkB,EAAE,OAAO,CAAC,oFAuClD"}
|
package/build/createMount.js
DELETED
|
@@ -1,120 +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 (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
/* eslint-env mocha */
|
|
27
|
-
const React = __importStar(require("react"));
|
|
28
|
-
const ReactDOM = __importStar(require("react-dom"));
|
|
29
|
-
const ReactDOMTestUtils = __importStar(require("react-dom/test-utils"));
|
|
30
|
-
const enzyme_1 = require("enzyme");
|
|
31
|
-
/**
|
|
32
|
-
* Can't just mount <React.Fragment>{node}</React.Fragment>
|
|
33
|
-
* because that swallows wrapper.setProps
|
|
34
|
-
*
|
|
35
|
-
* why class component:
|
|
36
|
-
* https://github.com/airbnb/enzyme/issues/2043
|
|
37
|
-
*/
|
|
38
|
-
// eslint-disable-next-line react/prefer-stateless-function
|
|
39
|
-
class Mode extends React.Component {
|
|
40
|
-
render() {
|
|
41
|
-
// Excess props will come from e.g. enzyme setProps
|
|
42
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
43
|
-
const { __element, __strict, ...other } = this.props;
|
|
44
|
-
const Component = __strict ? React.StrictMode : React.Fragment;
|
|
45
|
-
return React.createElement(Component, null, React.cloneElement(__element, other));
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
// Generate an enhanced mount function.
|
|
49
|
-
function createMount(options = {}) {
|
|
50
|
-
const { mount = enzyme_1.mount, strict: globalStrict = true, ...globalEnzymeOptions } = options;
|
|
51
|
-
let container = null;
|
|
52
|
-
function computeTestName(test) {
|
|
53
|
-
let current = test;
|
|
54
|
-
const titles = [];
|
|
55
|
-
while (current != null) {
|
|
56
|
-
titles.push(current.title);
|
|
57
|
-
current = current.parent;
|
|
58
|
-
}
|
|
59
|
-
return titles.filter(Boolean).reverse().join(' -> ');
|
|
60
|
-
}
|
|
61
|
-
// save stack to re-use in test-hooks
|
|
62
|
-
const { stack: createMountStack } = new Error();
|
|
63
|
-
/**
|
|
64
|
-
* Flag whether `createMount` was called in a suite i.e. describe() block.
|
|
65
|
-
* For legacy reasons `createMount` might accidentally be called in a before(Each) hook.
|
|
66
|
-
*/
|
|
67
|
-
let wasCalledInSuite = false;
|
|
68
|
-
before(() => {
|
|
69
|
-
wasCalledInSuite = true;
|
|
70
|
-
});
|
|
71
|
-
beforeEach(() => {
|
|
72
|
-
if (!wasCalledInSuite) {
|
|
73
|
-
const error = new Error('Unable to run `before` hook for `createMount`. This usually indicates that `createMount` was called in a `before` hook instead of in a `describe()` block.');
|
|
74
|
-
error.stack = createMountStack;
|
|
75
|
-
throw error;
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
beforeEach(function beforeEachMountTest() {
|
|
79
|
-
container = document.createElement('div');
|
|
80
|
-
container.setAttribute('data-test', computeTestName(this.currentTest));
|
|
81
|
-
document.body.insertBefore(container, document.body.firstChild);
|
|
82
|
-
});
|
|
83
|
-
afterEach(() => {
|
|
84
|
-
ReactDOMTestUtils.act(() => {
|
|
85
|
-
// eslint-disable-next-line react/no-deprecated
|
|
86
|
-
ReactDOM.unmountComponentAtNode(container);
|
|
87
|
-
});
|
|
88
|
-
container.parentElement.removeChild(container);
|
|
89
|
-
container = null;
|
|
90
|
-
});
|
|
91
|
-
const mountWithContext = function mountWithContext(node, localOptions = {}) {
|
|
92
|
-
const { strict = globalStrict, ...localEnzymeOptions } = localOptions;
|
|
93
|
-
if (container === null) {
|
|
94
|
-
throw new Error(`Tried to mount without setup. Mounting inside before() is not allowed. Try mounting in beforeEach or better: in each test`);
|
|
95
|
-
}
|
|
96
|
-
ReactDOMTestUtils.act(() => {
|
|
97
|
-
// eslint-disable-next-line react/no-deprecated
|
|
98
|
-
ReactDOM.unmountComponentAtNode(container);
|
|
99
|
-
});
|
|
100
|
-
// some tests require that no other components are in the tree
|
|
101
|
-
// for example when doing .instance(), .state() etc.
|
|
102
|
-
const wrapper = mount(strict == null ? node : React.createElement(Mode, { __element: node, __strict: Boolean(strict) }), {
|
|
103
|
-
attachTo: container,
|
|
104
|
-
...globalEnzymeOptions,
|
|
105
|
-
...localEnzymeOptions,
|
|
106
|
-
});
|
|
107
|
-
const originalUnmount = wrapper.unmount;
|
|
108
|
-
wrapper.unmount = () => {
|
|
109
|
-
// flush effect cleanup functions
|
|
110
|
-
ReactDOMTestUtils.act(() => {
|
|
111
|
-
originalUnmount.call(wrapper);
|
|
112
|
-
});
|
|
113
|
-
return wrapper;
|
|
114
|
-
};
|
|
115
|
-
return wrapper;
|
|
116
|
-
};
|
|
117
|
-
return mountWithContext;
|
|
118
|
-
}
|
|
119
|
-
exports.default = createMount;
|
|
120
|
-
//# sourceMappingURL=createMount.js.map
|
package/build/createMount.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createMount.js","sourceRoot":"","sources":["../src/createMount.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ReactWrapper } from 'enzyme';
|
|
2
|
-
/**
|
|
3
|
-
* checks if a given react wrapper wraps an intrinsic element i.e. a DOM node
|
|
4
|
-
* @param {import('enzyme').ReactWrapper} reactWrapper
|
|
5
|
-
* @returns {boolean} true if the given reactWrapper wraps an intrinsic element
|
|
6
|
-
*/
|
|
7
|
-
export declare function wrapsIntrinsicElement(reactWrapper: ReactWrapper): boolean;
|
|
8
|
-
/**
|
|
9
|
-
* like ReactWrapper#getDOMNode() but returns a ReactWrapper
|
|
10
|
-
* @param {import('enzyme').ReactWrapper} reactWrapper
|
|
11
|
-
* @returns {import('enzyme').ReactWrapper} the wrapper for the outermost DOM node
|
|
12
|
-
*/
|
|
13
|
-
export default function findOutermostIntrinsic(reactWrapper: ReactWrapper): ReactWrapper;
|
|
14
|
-
//# sourceMappingURL=findOutermostIntrinsic.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"findOutermostIntrinsic.d.ts","sourceRoot":"","sources":["../src/findOutermostIntrinsic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAEzE;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,YAAY,EAAE,YAAY,GAAG,YAAY,CAEvF"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.wrapsIntrinsicElement = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* checks if a given react wrapper wraps an intrinsic element i.e. a DOM node
|
|
6
|
-
* @param {import('enzyme').ReactWrapper} reactWrapper
|
|
7
|
-
* @returns {boolean} true if the given reactWrapper wraps an intrinsic element
|
|
8
|
-
*/
|
|
9
|
-
function wrapsIntrinsicElement(reactWrapper) {
|
|
10
|
-
return typeof reactWrapper.type() === 'string';
|
|
11
|
-
}
|
|
12
|
-
exports.wrapsIntrinsicElement = wrapsIntrinsicElement;
|
|
13
|
-
/**
|
|
14
|
-
* like ReactWrapper#getDOMNode() but returns a ReactWrapper
|
|
15
|
-
* @param {import('enzyme').ReactWrapper} reactWrapper
|
|
16
|
-
* @returns {import('enzyme').ReactWrapper} the wrapper for the outermost DOM node
|
|
17
|
-
*/
|
|
18
|
-
function findOutermostIntrinsic(reactWrapper) {
|
|
19
|
-
return reactWrapper.findWhere((n) => n.exists() && wrapsIntrinsicElement(n)).first();
|
|
20
|
-
}
|
|
21
|
-
exports.default = findOutermostIntrinsic;
|
|
22
|
-
//# sourceMappingURL=findOutermostIntrinsic.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"findOutermostIntrinsic.js","sourceRoot":"","sources":["../src/findOutermostIntrinsic.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,YAA0B;IAC9D,OAAO,OAAO,YAAY,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC;AACjD,CAAC;AAFD,sDAEC;AAED;;;;GAIG;AACH,SAAwB,sBAAsB,CAAC,YAA0B;IACvE,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AACvF,CAAC;AAFD,yCAEC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"findOutermostIntrinsic.test.d.ts","sourceRoot":"","sources":["../src/findOutermostIntrinsic.test.js"],"names":[],"mappings":""}
|
|
@@ -1,70 +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 (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const React = __importStar(require("react"));
|
|
30
|
-
const chai_1 = require("chai");
|
|
31
|
-
const createMount_1 = __importDefault(require("./createMount"));
|
|
32
|
-
const findOutermostIntrinsic_1 = __importDefault(require("./findOutermostIntrinsic"));
|
|
33
|
-
describe('findOutermostIntrinsic', () => {
|
|
34
|
-
const mount = (0, createMount_1.default)({ strict: null });
|
|
35
|
-
const expectIntrinsic = (node, expected) => {
|
|
36
|
-
const wrapper = mount(node);
|
|
37
|
-
const outermostIntrinsic = (0, findOutermostIntrinsic_1.default)(wrapper);
|
|
38
|
-
if (expected === null) {
|
|
39
|
-
(0, chai_1.expect)(outermostIntrinsic.exists()).to.equal(false);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
(0, chai_1.expect)(outermostIntrinsic.type()).to.equal(expected);
|
|
43
|
-
(0, chai_1.expect)(outermostIntrinsic.type()).to.equal(outermostIntrinsic.getDOMNode().nodeName.toLowerCase());
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
const Headless = ({ children }) => children;
|
|
47
|
-
it('returns immediate DOM nodes', () => {
|
|
48
|
-
expectIntrinsic(React.createElement("div", null, "Hello, World!"), 'div');
|
|
49
|
-
});
|
|
50
|
-
it('only returns the outermost', () => {
|
|
51
|
-
expectIntrinsic(React.createElement("span", null,
|
|
52
|
-
React.createElement("div", null, "Hello, World!")), 'span');
|
|
53
|
-
});
|
|
54
|
-
it('ignores components', () => {
|
|
55
|
-
expectIntrinsic(React.createElement(Headless, null,
|
|
56
|
-
React.createElement("div", null, "Hello, World!")), 'div');
|
|
57
|
-
expectIntrinsic(React.createElement(Headless, null,
|
|
58
|
-
React.createElement(Headless, null,
|
|
59
|
-
React.createElement("div", null, "Hello, World!"))), 'div');
|
|
60
|
-
expectIntrinsic(React.createElement(Headless, null,
|
|
61
|
-
React.createElement(Headless, null,
|
|
62
|
-
React.createElement("div", null,
|
|
63
|
-
React.createElement(Headless, null,
|
|
64
|
-
React.createElement("span", null, "Hello, World!"))))), 'div');
|
|
65
|
-
});
|
|
66
|
-
it('can handle that no DOM node is rendered', () => {
|
|
67
|
-
expectIntrinsic(React.createElement(Headless, null, false && React.createElement(Headless, null)), null);
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
//# sourceMappingURL=findOutermostIntrinsic.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"findOutermostIntrinsic.test.js","sourceRoot":"","sources":["../src/findOutermostIntrinsic.test.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,+BAA8B;AAC9B,gEAAwC;AACxC,sFAA8D;AAE9D,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;QACzC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,kBAAkB,GAAG,IAAA,gCAAsB,EAAC,OAAO,CAAC,CAAC;QAE3D,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,IAAA,aAAM,EAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,IAAA,aAAM,EAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAA,aAAM,EAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CACxC,kBAAkB,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CACvD,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC;IAE5C,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,eAAe,CAAC,iDAAwB,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,eAAe,CACb;YACE,iDAAwB,CACnB,EACP,MAAM,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,eAAe,CACb,oBAAC,QAAQ;YACP,iDAAwB,CACf,EACX,KAAK,CACN,CAAC;QACF,eAAe,CACb,oBAAC,QAAQ;YACP,oBAAC,QAAQ;gBACP,iDAAwB,CACf,CACF,EACX,KAAK,CACN,CAAC;QACF,eAAe,CACb,oBAAC,QAAQ;YACP,oBAAC,QAAQ;gBACP;oBACE,oBAAC,QAAQ;wBACP,kDAA0B,CACjB,CACP,CACG,CACF,EACX,KAAK,CACN,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,eAAe,CAAC,oBAAC,QAAQ,QAAE,KAAK,IAAI,oBAAC,QAAQ,OAAG,CAAY,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/build/until.d.ts
DELETED
package/build/until.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"until.d.ts","sourceRoot":"","sources":["../src/until.js"],"names":[],"mappings":"AAyBA,gEAEC"}
|
package/build/until.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function shallowRecursively(wrapper, selector, { context, ...other }) {
|
|
4
|
-
if (wrapper.isEmptyRender() || typeof wrapper.getElement().type === 'string') {
|
|
5
|
-
return wrapper;
|
|
6
|
-
}
|
|
7
|
-
let newContext = context;
|
|
8
|
-
const instance = wrapper.root().instance();
|
|
9
|
-
// The instance can be null with a stateless functional component and react >= 16.
|
|
10
|
-
if (instance && instance.getChildContext) {
|
|
11
|
-
newContext = {
|
|
12
|
-
...context,
|
|
13
|
-
...instance.getChildContext(),
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
const nextWrapper = wrapper.shallow({ context: newContext, ...other });
|
|
17
|
-
if (selector && wrapper.is(selector)) {
|
|
18
|
-
return nextWrapper;
|
|
19
|
-
}
|
|
20
|
-
return shallowRecursively(nextWrapper, selector, { context: newContext });
|
|
21
|
-
}
|
|
22
|
-
function until(selector, options = {}) {
|
|
23
|
-
return this.single('until', () => shallowRecursively(this, selector, options));
|
|
24
|
-
}
|
|
25
|
-
exports.default = until;
|
|
26
|
-
//# sourceMappingURL=until.js.map
|
package/build/until.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"until.js","sourceRoot":"","sources":["../src/until.js"],"names":[],"mappings":";;AAAA,SAAS,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE;IAClE,IAAI,OAAO,CAAC,aAAa,EAAE,IAAI,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7E,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,UAAU,GAAG,OAAO,CAAC;IAEzB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC3C,kFAAkF;IAClF,IAAI,QAAQ,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QACzC,UAAU,GAAG;YACX,GAAG,OAAO;YACV,GAAG,QAAQ,CAAC,eAAe,EAAE;SAC9B,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAEvE,IAAI,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,kBAAkB,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,SAAwB,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,EAAE;IAClD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AACjF,CAAC;AAFD,wBAEC"}
|
package/build/until.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"until.test.d.ts","sourceRoot":"","sources":["../src/until.test.js"],"names":[],"mappings":""}
|
package/build/until.test.js
DELETED
|
@@ -1,118 +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 (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const React = __importStar(require("react"));
|
|
30
|
-
const chai_1 = require("chai");
|
|
31
|
-
const prop_types_1 = __importDefault(require("prop-types"));
|
|
32
|
-
const enzyme_1 = require("enzyme");
|
|
33
|
-
const until_1 = __importDefault(require("./until"));
|
|
34
|
-
function Div() {
|
|
35
|
-
return React.createElement("div", null);
|
|
36
|
-
}
|
|
37
|
-
const hoc = (Component) => function Wrapper() {
|
|
38
|
-
return React.createElement(Component, null);
|
|
39
|
-
};
|
|
40
|
-
describe('until', () => {
|
|
41
|
-
it('shallow renders the current wrapper one level deep', () => {
|
|
42
|
-
const EnhancedDiv = hoc(Div);
|
|
43
|
-
const wrapper = until_1.default.call((0, enzyme_1.shallow)(React.createElement(EnhancedDiv, null)), 'Div');
|
|
44
|
-
(0, chai_1.expect)(wrapper.contains(React.createElement("div", null))).to.equal(true);
|
|
45
|
-
});
|
|
46
|
-
it('shallow renders the current wrapper several levels deep', () => {
|
|
47
|
-
const EnhancedDiv = hoc(hoc(hoc(Div)));
|
|
48
|
-
const wrapper = until_1.default.call((0, enzyme_1.shallow)(React.createElement(EnhancedDiv, null)), 'Div');
|
|
49
|
-
(0, chai_1.expect)(wrapper.contains(React.createElement("div", null))).to.equal(true);
|
|
50
|
-
});
|
|
51
|
-
it('stops shallow rendering when the wrapper is empty', () => {
|
|
52
|
-
const nullHoc = () => () => null;
|
|
53
|
-
const EnhancedDiv = nullHoc();
|
|
54
|
-
const wrapper = until_1.default.call((0, enzyme_1.shallow)(React.createElement(EnhancedDiv, null)), 'Div');
|
|
55
|
-
(0, chai_1.expect)(wrapper.html()).to.equal(null);
|
|
56
|
-
});
|
|
57
|
-
it('shallow renders as much as possible when no selector is provided', () => {
|
|
58
|
-
const EnhancedDiv = hoc(hoc(Div));
|
|
59
|
-
const wrapper = until_1.default.call((0, enzyme_1.shallow)(React.createElement(EnhancedDiv, null)));
|
|
60
|
-
(0, chai_1.expect)(wrapper.contains(React.createElement("div", null))).to.equal(true);
|
|
61
|
-
});
|
|
62
|
-
it('shallow renders the current wrapper even if the selector never matches', () => {
|
|
63
|
-
const EnhancedDiv = hoc(Div);
|
|
64
|
-
const wrapper = until_1.default.call((0, enzyme_1.shallow)(React.createElement(EnhancedDiv, null)), 'NotDiv');
|
|
65
|
-
(0, chai_1.expect)(wrapper.contains(React.createElement("div", null))).to.equal(true);
|
|
66
|
-
});
|
|
67
|
-
it('stops shallow rendering when it encounters a HTML element', () => {
|
|
68
|
-
const wrapper = until_1.default.call((0, enzyme_1.shallow)(React.createElement("div", null,
|
|
69
|
-
React.createElement(Div, null))), 'Div');
|
|
70
|
-
(0, chai_1.expect)(wrapper.contains(React.createElement("div", null,
|
|
71
|
-
React.createElement(Div, null)))).to.equal(true);
|
|
72
|
-
});
|
|
73
|
-
it('throws when until called on an empty wrapper', () => {
|
|
74
|
-
(0, chai_1.expect)(() => {
|
|
75
|
-
until_1.default.call((0, enzyme_1.shallow)(React.createElement(Div, null)).find('Foo'), 'div');
|
|
76
|
-
}).to.throw(Error);
|
|
77
|
-
});
|
|
78
|
-
it('shallow renders non-root wrappers', () => {
|
|
79
|
-
function Container() {
|
|
80
|
-
return (React.createElement("div", null,
|
|
81
|
-
React.createElement(Div, null)));
|
|
82
|
-
}
|
|
83
|
-
const wrapper = until_1.default.call((0, enzyme_1.shallow)(React.createElement(Container, null)).find(Div));
|
|
84
|
-
(0, chai_1.expect)(wrapper.contains(React.createElement("div", null))).to.equal(true);
|
|
85
|
-
});
|
|
86
|
-
// eslint-disable-next-line react/prefer-stateless-function
|
|
87
|
-
class Foo extends React.Component {
|
|
88
|
-
render() {
|
|
89
|
-
return React.createElement(Div, null);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
Foo.contextTypes = {
|
|
93
|
-
quux: prop_types_1.default.bool.isRequired,
|
|
94
|
-
};
|
|
95
|
-
it('context propagation passes down context from the root component', () => {
|
|
96
|
-
const EnhancedFoo = hoc(Foo);
|
|
97
|
-
const options = { context: { quux: true } };
|
|
98
|
-
const wrapper = until_1.default.call((0, enzyme_1.shallow)(React.createElement(EnhancedFoo, null), options), 'Foo', options);
|
|
99
|
-
(0, chai_1.expect)(wrapper.context('quux')).to.equal(true);
|
|
100
|
-
(0, chai_1.expect)(wrapper.contains(React.createElement(Div, null))).to.equal(true);
|
|
101
|
-
});
|
|
102
|
-
class Bar extends React.Component {
|
|
103
|
-
getChildContext() {
|
|
104
|
-
return { quux: true };
|
|
105
|
-
}
|
|
106
|
-
render() {
|
|
107
|
-
return React.createElement(Foo, null);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
Bar.childContextTypes = { quux: prop_types_1.default.bool };
|
|
111
|
-
it('context propagation passes down context from an intermediary component', () => {
|
|
112
|
-
const EnhancedBar = hoc(Bar);
|
|
113
|
-
const wrapper = until_1.default.call((0, enzyme_1.shallow)(React.createElement(EnhancedBar, null)), 'Foo');
|
|
114
|
-
(0, chai_1.expect)(wrapper.context('quux')).to.equal(true);
|
|
115
|
-
(0, chai_1.expect)(wrapper.contains(React.createElement(Div, null))).to.equal(true);
|
|
116
|
-
});
|
|
117
|
-
});
|
|
118
|
-
//# sourceMappingURL=until.test.js.map
|
package/build/until.test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"until.test.js","sourceRoot":"","sources":["../src/until.test.js"],"names":[],"mappings":"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"}
|