@testing-library/react-native 9.2.0 → 10.1.0
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/README.md +4 -6
- package/build/cleanup.js +4 -0
- package/build/cleanup.js.map +1 -1
- package/build/index.flow.js +107 -95
- package/build/pure.d.ts +5 -1
- package/build/pure.js +8 -0
- package/build/pure.js.map +1 -1
- package/build/{helpers → queries}/a11yAPI.d.ts +0 -0
- package/build/{helpers → queries}/a11yAPI.js +0 -0
- package/build/{helpers → queries}/a11yAPI.js.map +1 -1
- package/build/queries/displayValue.d.ts +13 -0
- package/build/{helpers/byDisplayValue.js → queries/displayValue.js} +23 -18
- package/build/queries/displayValue.js.map +1 -0
- package/build/{helpers → queries}/makeA11yQuery.d.ts +0 -0
- package/build/{helpers → queries}/makeA11yQuery.js +1 -1
- package/build/{helpers → queries}/makeA11yQuery.js.map +1 -1
- package/build/queries/makeQueries.d.ts +19 -0
- package/build/{helpers → queries}/makeQueries.js +17 -16
- package/build/queries/makeQueries.js.map +1 -0
- package/build/queries/placeholderText.d.ts +13 -0
- package/build/{helpers/byPlaceholderText.js → queries/placeholderText.js} +23 -18
- package/build/queries/placeholderText.js.map +1 -0
- package/build/queries/testId.d.ts +13 -0
- package/build/{helpers/byTestId.js → queries/testId.js} +19 -14
- package/build/queries/testId.js.map +1 -0
- package/build/queries/text.d.ts +17 -0
- package/build/{helpers/byText.js → queries/text.js} +25 -20
- package/build/queries/text.js.map +1 -0
- package/build/queries/unsafeProps.d.ts +16 -0
- package/build/queries/unsafeProps.js +58 -0
- package/build/queries/unsafeProps.js.map +1 -0
- package/build/queries/unsafeType.d.ts +9 -0
- package/build/queries/unsafeType.js +54 -0
- package/build/queries/unsafeType.js.map +1 -0
- package/build/render.d.ts +35 -44
- package/build/render.js +7 -12
- package/build/render.js.map +1 -1
- package/build/screen.d.ts +4 -0
- package/build/screen.js +115 -0
- package/build/screen.js.map +1 -0
- package/build/within.d.ts +34 -44
- package/build/within.js +16 -7
- package/build/within.js.map +1 -1
- package/package.json +1 -1
- package/typings/index.flow.js +107 -95
- package/build/helpers/byDisplayValue.d.ts +0 -6
- package/build/helpers/byDisplayValue.js.map +0 -1
- package/build/helpers/byPlaceholderText.d.ts +0 -6
- package/build/helpers/byPlaceholderText.js.map +0 -1
- package/build/helpers/byTestId.d.ts +0 -6
- package/build/helpers/byTestId.js.map +0 -1
- package/build/helpers/byText.d.ts +0 -10
- package/build/helpers/byText.js.map +0 -1
- package/build/helpers/findByAPI.d.ts +0 -17
- package/build/helpers/findByAPI.js +0 -33
- package/build/helpers/findByAPI.js.map +0 -1
- package/build/helpers/getByAPI.d.ts +0 -31
- package/build/helpers/getByAPI.js +0 -83
- package/build/helpers/getByAPI.js.map +0 -1
- package/build/helpers/makeQueries.d.ts +0 -20
- package/build/helpers/makeQueries.js.map +0 -1
- package/build/helpers/queryByAPI.d.ts +0 -39
- package/build/helpers/queryByAPI.js +0 -87
- package/build/helpers/queryByAPI.js.map +0 -1
package/README.md
CHANGED
|
@@ -102,22 +102,20 @@ flow-typed install react-test-renderer
|
|
|
102
102
|
## Example
|
|
103
103
|
|
|
104
104
|
```jsx
|
|
105
|
-
import { render, fireEvent } from '@testing-library/react-native';
|
|
105
|
+
import { render, screen, fireEvent } from '@testing-library/react-native';
|
|
106
106
|
import { QuestionsBoard } from '../QuestionsBoard';
|
|
107
107
|
|
|
108
108
|
test('form submits two answers', () => {
|
|
109
109
|
const allQuestions = ['q1', 'q2'];
|
|
110
110
|
const mockFn = jest.fn();
|
|
111
111
|
|
|
112
|
-
|
|
113
|
-
<QuestionsBoard questions={allQuestions} onSubmit={mockFn} />
|
|
114
|
-
);
|
|
112
|
+
render(<QuestionsBoard questions={allQuestions} onSubmit={mockFn} />);
|
|
115
113
|
|
|
116
|
-
const answerInputs = getAllByLabelText('answer input');
|
|
114
|
+
const answerInputs = screen.getAllByLabelText('answer input');
|
|
117
115
|
|
|
118
116
|
fireEvent.changeText(answerInputs[0], 'a1');
|
|
119
117
|
fireEvent.changeText(answerInputs[1], 'a2');
|
|
120
|
-
fireEvent.press(getByText('Submit'));
|
|
118
|
+
fireEvent.press(screen.getByText('Submit'));
|
|
121
119
|
|
|
122
120
|
expect(mockFn).toBeCalledWith({
|
|
123
121
|
'1': { q: 'q1', a: 'a1' },
|
package/build/cleanup.js
CHANGED
|
@@ -5,9 +5,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.addToCleanupQueue = addToCleanupQueue;
|
|
7
7
|
exports.default = cleanup;
|
|
8
|
+
|
|
9
|
+
var _screen = require("./screen");
|
|
10
|
+
|
|
8
11
|
let cleanupQueue = new Set();
|
|
9
12
|
|
|
10
13
|
function cleanup() {
|
|
14
|
+
(0, _screen.clearRenderResult)();
|
|
11
15
|
cleanupQueue.forEach(fn => fn());
|
|
12
16
|
cleanupQueue.clear();
|
|
13
17
|
}
|
package/build/cleanup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cleanup.ts"],"names":["cleanupQueue","Set","cleanup","forEach","fn","clear","addToCleanupQueue","add"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/cleanup.ts"],"names":["cleanupQueue","Set","cleanup","forEach","fn","clear","addToCleanupQueue","add"],"mappings":";;;;;;;;AACA;;AAGA,IAAIA,YAAY,GAAG,IAAIC,GAAJ,EAAnB;;AAEe,SAASC,OAAT,GAAmB;AAChC;AACAF,EAAAA,YAAY,CAACG,OAAb,CAAsBC,EAAD,IAAQA,EAAE,EAA/B;AACAJ,EAAAA,YAAY,CAACK,KAAb;AACD;;AAEM,SAASC,iBAAT,CAA2BF,EAA3B,EAAgD;AACrDJ,EAAAA,YAAY,CAACO,GAAb,CAAiBH,EAAjB;AACD","sourcesContent":["import * as React from 'react';\nimport { clearRenderResult } from './screen';\n\ntype CleanUpFunction = (nextElement?: React.ReactElement<any>) => void;\nlet cleanupQueue = new Set<CleanUpFunction>();\n\nexport default function cleanup() {\n clearRenderResult();\n cleanupQueue.forEach((fn) => fn());\n cleanupQueue.clear();\n}\n\nexport function addToCleanupQueue(fn: CleanUpFunction) {\n cleanupQueue.add(fn);\n}\n"],"file":"cleanup.js"}
|
package/build/index.flow.js
CHANGED
|
@@ -73,140 +73,144 @@ declare type A11yValue = {
|
|
|
73
73
|
text?: string,
|
|
74
74
|
};
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
type WaitForOptions = {
|
|
77
|
+
timeout?: number,
|
|
78
|
+
interval?: number,
|
|
79
|
+
onTimeout?: (error: mixed) => Error,
|
|
80
|
+
};
|
|
81
|
+
type WaitForFunction = <T = any>(
|
|
82
|
+
expectation: () => T,
|
|
83
|
+
options?: WaitForOptions
|
|
84
|
+
) => Promise<T>;
|
|
85
|
+
|
|
86
|
+
interface ByTextQueries {
|
|
77
87
|
getByText: (text: TextMatch, options?: TextMatchOptions) => ReactTestInstance;
|
|
78
|
-
getByPlaceholderText: (
|
|
79
|
-
placeholder: TextMatch,
|
|
80
|
-
options?: TextMatchOptions
|
|
81
|
-
) => ReactTestInstance;
|
|
82
|
-
getByDisplayValue: (
|
|
83
|
-
value: TextMatch,
|
|
84
|
-
options?: TextMatchOptions
|
|
85
|
-
) => ReactTestInstance;
|
|
86
|
-
getByTestId: (
|
|
87
|
-
testID: TextMatch,
|
|
88
|
-
options?: TextMatchOptions
|
|
89
|
-
) => ReactTestInstance;
|
|
90
|
-
getAllByTestId: (
|
|
91
|
-
testID: TextMatch,
|
|
92
|
-
options?: TextMatchOptions
|
|
93
|
-
) => Array<ReactTestInstance>;
|
|
94
88
|
getAllByText: (
|
|
95
89
|
text: TextMatch,
|
|
96
90
|
options?: TextMatchOptions
|
|
97
91
|
) => Array<ReactTestInstance>;
|
|
98
|
-
getAllByPlaceholderText: (
|
|
99
|
-
placeholder: TextMatch,
|
|
100
|
-
options?: TextMatchOptions
|
|
101
|
-
) => Array<ReactTestInstance>;
|
|
102
|
-
getAllByDisplayValue: (
|
|
103
|
-
value: TextMatch,
|
|
104
|
-
options?: TextMatchOptions
|
|
105
|
-
) => Array<ReactTestInstance>;
|
|
106
|
-
|
|
107
|
-
// Unsafe aliases
|
|
108
|
-
UNSAFE_getByType: <P>(type: React.ComponentType<P>) => ReactTestInstance;
|
|
109
|
-
UNSAFE_getAllByType: <P>(
|
|
110
|
-
type: React.ComponentType<P>
|
|
111
|
-
) => Array<ReactTestInstance>;
|
|
112
|
-
UNSAFE_getByProps: (props: { [string]: any }) => ReactTestInstance;
|
|
113
|
-
UNSAFE_getAllByProps: (props: { [string]: any }) => Array<ReactTestInstance>;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
interface QueryByAPI {
|
|
117
92
|
queryByText: (
|
|
118
93
|
name: TextMatch,
|
|
119
94
|
options?: TextMatchOptions
|
|
120
95
|
) => ReactTestInstance | null;
|
|
121
|
-
queryByPlaceholderText: (
|
|
122
|
-
placeholder: TextMatch,
|
|
123
|
-
options?: TextMatchOptions
|
|
124
|
-
) => ReactTestInstance | null;
|
|
125
|
-
queryByDisplayValue: (
|
|
126
|
-
value: TextMatch,
|
|
127
|
-
options?: TextMatchOptions
|
|
128
|
-
) => ReactTestInstance | null;
|
|
129
|
-
queryByTestId: (testID: TextMatch) => ReactTestInstance | null;
|
|
130
|
-
queryAllByTestId: (testID: TextMatch) => Array<ReactTestInstance> | [];
|
|
131
96
|
queryAllByText: (
|
|
132
97
|
text: TextMatch,
|
|
133
98
|
options?: TextMatchOptions
|
|
134
99
|
) => Array<ReactTestInstance> | [];
|
|
135
|
-
queryAllByPlaceholderText: (
|
|
136
|
-
placeholder: TextMatch,
|
|
137
|
-
options?: TextMatchOptions
|
|
138
|
-
) => Array<ReactTestInstance> | [];
|
|
139
|
-
queryAllByDisplayValue: (
|
|
140
|
-
value: TextMatch,
|
|
141
|
-
options?: TextMatchOptions
|
|
142
|
-
) => Array<ReactTestInstance> | [];
|
|
143
|
-
|
|
144
|
-
// Unsafe aliases
|
|
145
|
-
UNSAFE_queryByType: <P>(
|
|
146
|
-
type: React.ComponentType<P>
|
|
147
|
-
) => ReactTestInstance | null;
|
|
148
|
-
UNSAFE_queryAllByType: <P>(
|
|
149
|
-
type: React.ComponentType<P>
|
|
150
|
-
) => Array<ReactTestInstance> | [];
|
|
151
|
-
UNSAFE_queryByProps: (props: { [string]: any }) => ReactTestInstance | null;
|
|
152
|
-
UNSAFE_queryAllByProps: (props: { [string]: any }) =>
|
|
153
|
-
| Array<ReactTestInstance>
|
|
154
|
-
| [];
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
type WaitForOptions = {
|
|
158
|
-
timeout?: number,
|
|
159
|
-
interval?: number,
|
|
160
|
-
onTimeout?: (error: mixed) => Error,
|
|
161
|
-
};
|
|
162
|
-
type WaitForFunction = <T = any>(
|
|
163
|
-
expectation: () => T,
|
|
164
|
-
options?: WaitForOptions
|
|
165
|
-
) => Promise<T>;
|
|
166
|
-
|
|
167
|
-
interface FindByAPI {
|
|
168
100
|
findByText: (
|
|
169
101
|
text: TextMatch,
|
|
170
102
|
queryOptions?: TextMatchOptions,
|
|
171
103
|
waitForOptions?: WaitForOptions
|
|
172
104
|
) => FindReturn;
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
queryOptions?: TextMatchOptions,
|
|
176
|
-
waitForOptions?: WaitForOptions
|
|
177
|
-
) => FindReturn;
|
|
178
|
-
findByDisplayValue: (
|
|
179
|
-
value: TextMatch,
|
|
105
|
+
findAllByText: (
|
|
106
|
+
text: TextMatch,
|
|
180
107
|
queryOptions?: TextMatchOptions,
|
|
181
108
|
waitForOptions?: WaitForOptions
|
|
182
|
-
) =>
|
|
109
|
+
) => FindAllReturn;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
interface ByTestIdQueries {
|
|
113
|
+
getByTestId: (
|
|
114
|
+
testID: TextMatch,
|
|
115
|
+
options?: TextMatchOptions
|
|
116
|
+
) => ReactTestInstance;
|
|
117
|
+
getAllByTestId: (
|
|
118
|
+
testID: TextMatch,
|
|
119
|
+
options?: TextMatchOptions
|
|
120
|
+
) => Array<ReactTestInstance>;
|
|
121
|
+
queryByTestId: (testID: TextMatch) => ReactTestInstance | null;
|
|
122
|
+
queryAllByTestId: (testID: TextMatch) => Array<ReactTestInstance> | [];
|
|
183
123
|
findByTestId: (
|
|
184
124
|
testID: TextMatch,
|
|
185
125
|
queryOptions?: TextMatchOptions,
|
|
186
126
|
waitForOptions?: WaitForOptions
|
|
187
127
|
) => FindReturn;
|
|
188
|
-
|
|
189
|
-
|
|
128
|
+
findAllByTestId: (
|
|
129
|
+
testID: TextMatch,
|
|
190
130
|
queryOptions?: TextMatchOptions,
|
|
191
131
|
waitForOptions?: WaitForOptions
|
|
192
132
|
) => FindAllReturn;
|
|
193
|
-
|
|
194
|
-
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
interface ByDisplayValueQueries {
|
|
136
|
+
getByDisplayValue: (
|
|
137
|
+
value: TextMatch,
|
|
138
|
+
options?: TextMatchOptions
|
|
139
|
+
) => ReactTestInstance;
|
|
140
|
+
getAllByDisplayValue: (
|
|
141
|
+
value: TextMatch,
|
|
142
|
+
options?: TextMatchOptions
|
|
143
|
+
) => Array<ReactTestInstance>;
|
|
144
|
+
queryByDisplayValue: (
|
|
145
|
+
value: TextMatch,
|
|
146
|
+
options?: TextMatchOptions
|
|
147
|
+
) => ReactTestInstance | null;
|
|
148
|
+
queryAllByDisplayValue: (
|
|
149
|
+
value: TextMatch,
|
|
150
|
+
options?: TextMatchOptions
|
|
151
|
+
) => Array<ReactTestInstance> | [];
|
|
152
|
+
findByDisplayValue: (
|
|
153
|
+
value: TextMatch,
|
|
195
154
|
queryOptions?: TextMatchOptions,
|
|
196
155
|
waitForOptions?: WaitForOptions
|
|
197
|
-
) =>
|
|
156
|
+
) => FindReturn;
|
|
198
157
|
findAllByDisplayValue: (
|
|
199
158
|
value: TextMatch,
|
|
200
159
|
queryOptions?: TextMatchOptions,
|
|
201
160
|
waitForOptions?: WaitForOptions
|
|
202
161
|
) => FindAllReturn;
|
|
203
|
-
|
|
204
|
-
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
interface ByPlaceholderTextQueries {
|
|
165
|
+
getByPlaceholderText: (
|
|
166
|
+
placeholder: TextMatch,
|
|
167
|
+
options?: TextMatchOptions
|
|
168
|
+
) => ReactTestInstance;
|
|
169
|
+
getAllByPlaceholderText: (
|
|
170
|
+
placeholder: TextMatch,
|
|
171
|
+
options?: TextMatchOptions
|
|
172
|
+
) => Array<ReactTestInstance>;
|
|
173
|
+
queryByPlaceholderText: (
|
|
174
|
+
placeholder: TextMatch,
|
|
175
|
+
options?: TextMatchOptions
|
|
176
|
+
) => ReactTestInstance | null;
|
|
177
|
+
queryAllByPlaceholderText: (
|
|
178
|
+
placeholder: TextMatch,
|
|
179
|
+
options?: TextMatchOptions
|
|
180
|
+
) => Array<ReactTestInstance> | [];
|
|
181
|
+
findByPlaceholderText: (
|
|
182
|
+
placeholder: TextMatch,
|
|
183
|
+
queryOptions?: TextMatchOptions,
|
|
184
|
+
waitForOptions?: WaitForOptions
|
|
185
|
+
) => FindReturn;
|
|
186
|
+
findAllByPlaceholderText: (
|
|
187
|
+
placeholder: TextMatch,
|
|
205
188
|
queryOptions?: TextMatchOptions,
|
|
206
189
|
waitForOptions?: WaitForOptions
|
|
207
190
|
) => FindAllReturn;
|
|
208
191
|
}
|
|
209
192
|
|
|
193
|
+
interface UnsafeByTypeQueries {
|
|
194
|
+
UNSAFE_getByType: <P>(type: React.ComponentType<P>) => ReactTestInstance;
|
|
195
|
+
UNSAFE_getAllByType: <P>(
|
|
196
|
+
type: React.ComponentType<P>
|
|
197
|
+
) => Array<ReactTestInstance>;
|
|
198
|
+
UNSAFE_queryByType: <P>(
|
|
199
|
+
type: React.ComponentType<P>
|
|
200
|
+
) => ReactTestInstance | null;
|
|
201
|
+
UNSAFE_queryAllByType: <P>(
|
|
202
|
+
type: React.ComponentType<P>
|
|
203
|
+
) => Array<ReactTestInstance> | [];
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
interface UnsafeByPropsQueries {
|
|
207
|
+
UNSAFE_getByProps: (props: { [string]: any }) => ReactTestInstance;
|
|
208
|
+
UNSAFE_getAllByProps: (props: { [string]: any }) => Array<ReactTestInstance>;
|
|
209
|
+
UNSAFE_queryByProps: (props: { [string]: any }) => ReactTestInstance | null;
|
|
210
|
+
UNSAFE_queryAllByProps: (props: { [string]: any }) =>
|
|
211
|
+
| Array<ReactTestInstance>
|
|
212
|
+
| [];
|
|
213
|
+
}
|
|
210
214
|
interface A11yAPI {
|
|
211
215
|
// Label
|
|
212
216
|
getByLabelText: (matcher: TextMatch) => GetReturn;
|
|
@@ -313,7 +317,13 @@ type Debug = {
|
|
|
313
317
|
shallow: (message?: string) => void,
|
|
314
318
|
};
|
|
315
319
|
|
|
316
|
-
type Queries =
|
|
320
|
+
type Queries = ByTextQueries &
|
|
321
|
+
ByTestIdQueries &
|
|
322
|
+
ByDisplayValueQueries &
|
|
323
|
+
ByPlaceholderTextQueries &
|
|
324
|
+
UnsafeByTypeQueries &
|
|
325
|
+
UnsafeByPropsQueries &
|
|
326
|
+
A11yAPI;
|
|
317
327
|
|
|
318
328
|
interface RenderAPI extends Queries {
|
|
319
329
|
update(nextElement: React.Element<any>): void;
|
|
@@ -353,6 +363,8 @@ declare module '@testing-library/react-native' {
|
|
|
353
363
|
options?: RenderOptions
|
|
354
364
|
) => RenderAPI;
|
|
355
365
|
|
|
366
|
+
declare export var screen: RenderAPI;
|
|
367
|
+
|
|
356
368
|
declare export var cleanup: () => void;
|
|
357
369
|
declare export var fireEvent: FireEventAPI;
|
|
358
370
|
|
package/build/pure.d.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import act from './act';
|
|
2
2
|
import cleanup from './cleanup';
|
|
3
3
|
import fireEvent from './fireEvent';
|
|
4
|
-
import render from './render';
|
|
4
|
+
import render, { RenderResult } from './render';
|
|
5
5
|
import waitFor from './waitFor';
|
|
6
6
|
import waitForElementToBeRemoved from './waitForElementToBeRemoved';
|
|
7
7
|
import { within, getQueriesForElement } from './within';
|
|
8
8
|
import { getDefaultNormalizer } from './matches';
|
|
9
9
|
import { renderHook } from './renderHook';
|
|
10
|
+
import { screen } from './screen';
|
|
11
|
+
export type { RenderResult };
|
|
12
|
+
export declare type RenderAPI = RenderResult;
|
|
10
13
|
export { act };
|
|
11
14
|
export { cleanup };
|
|
12
15
|
export { fireEvent };
|
|
@@ -16,3 +19,4 @@ export { waitForElementToBeRemoved };
|
|
|
16
19
|
export { within, getQueriesForElement };
|
|
17
20
|
export { getDefaultNormalizer };
|
|
18
21
|
export { renderHook };
|
|
22
|
+
export { screen };
|
package/build/pure.js
CHANGED
|
@@ -45,6 +45,12 @@ Object.defineProperty(exports, "renderHook", {
|
|
|
45
45
|
return _renderHook.renderHook;
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
|
+
Object.defineProperty(exports, "screen", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () {
|
|
51
|
+
return _screen.screen;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
48
54
|
Object.defineProperty(exports, "waitFor", {
|
|
49
55
|
enumerable: true,
|
|
50
56
|
get: function () {
|
|
@@ -82,5 +88,7 @@ var _matches = require("./matches");
|
|
|
82
88
|
|
|
83
89
|
var _renderHook = require("./renderHook");
|
|
84
90
|
|
|
91
|
+
var _screen = require("./screen");
|
|
92
|
+
|
|
85
93
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
86
94
|
//# sourceMappingURL=pure.js.map
|
package/build/pure.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/pure.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/pure.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["import act from './act';\nimport cleanup from './cleanup';\nimport fireEvent from './fireEvent';\nimport render, { RenderResult } from './render';\nimport waitFor from './waitFor';\nimport waitForElementToBeRemoved from './waitForElementToBeRemoved';\nimport { within, getQueriesForElement } from './within';\nimport { getDefaultNormalizer } from './matches';\nimport { renderHook } from './renderHook';\nimport { screen } from './screen';\n\nexport type { RenderResult };\nexport type RenderAPI = RenderResult;\n\nexport { act };\nexport { cleanup };\nexport { fireEvent };\nexport { render };\nexport { waitFor };\nexport { waitForElementToBeRemoved };\nexport { within, getQueriesForElement };\nexport { getDefaultNormalizer };\nexport { renderHook };\nexport { screen };\n"],"file":"pure.js"}
|
|
File without changes
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/helpers/a11yAPI.ts"],"names":["matchStringValue","prop","matcher","Boolean","match","matchArrayValue","length","includes","some","e","matchObject","Object","keys","key","a11yAPI","instance","getBy","getAllBy","queryBy","queryAllBy","findBy","findAllBy"],"mappings":"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","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport type { AccessibilityRole, AccessibilityState } from 'react-native';\nimport type { WaitForOptions } from '../waitFor';\nimport type { TextMatch } from '../matches';\nimport makeA11yQuery from './makeA11yQuery';\n\ntype AccessibilityStateKey = keyof AccessibilityState;\ntype A11yValue = {\n min?: number;\n max?: number;\n now?: number;\n text?: string;\n};\n\ntype GetReturn = ReactTestInstance;\ntype GetAllReturn = Array<ReactTestInstance>;\ntype QueryReturn = ReactTestInstance | null;\ntype QueryAllReturn = Array<ReactTestInstance>;\ntype FindReturn = Promise<GetReturn>;\ntype FindAllReturn = Promise<GetAllReturn>;\n\nexport type A11yAPI = {\n // Label\n getByLabelText: (label: TextMatch) => GetReturn;\n getAllByLabelText: (label: TextMatch) => GetAllReturn;\n queryByLabelText: (label: TextMatch) => QueryReturn;\n queryAllByLabelText: (label: TextMatch) => QueryAllReturn;\n findByLabelText: (\n label: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByLabelText: (\n label: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // Hint\n getByA11yHint: (a11yHint: TextMatch) => GetReturn;\n getByHintText: (a11yHint: TextMatch) => GetReturn;\n getAllByA11yHint: (a11yHint: TextMatch) => GetAllReturn;\n getAllByHintText: (a11yHint: TextMatch) => GetAllReturn;\n queryByA11yHint: (a11yHint: TextMatch) => QueryReturn;\n queryByHintText: (a11yHint: TextMatch) => QueryReturn;\n queryAllByA11yHint: (a11yHint: TextMatch) => QueryAllReturn;\n queryAllByHintText: (a11yHint: TextMatch) => QueryAllReturn;\n findByA11yHint: (\n a11yHint: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findByHintText: (\n a11yHint: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByA11yHint: (\n a11yHint: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n findAllByHintText: (\n a11yHint: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // Role\n getByRole: (role: AccessibilityRole | RegExp) => GetReturn;\n getAllByRole: (role: AccessibilityRole | RegExp) => GetAllReturn;\n queryByRole: (role: AccessibilityRole | RegExp) => QueryReturn;\n queryAllByRole: (role: AccessibilityRole | RegExp) => QueryAllReturn;\n findByRole: (\n role: AccessibilityRole,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByRole: (\n role: AccessibilityRole,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // States\n getByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>\n ) => GetReturn;\n getAllByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>\n ) => GetAllReturn;\n queryByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>\n ) => QueryReturn;\n queryAllByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>\n ) => QueryAllReturn;\n findByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // State\n getByA11yState: (accessibilityState: AccessibilityState) => GetReturn;\n getAllByA11yState: (accessibilityState: AccessibilityState) => GetAllReturn;\n queryByA11yState: (accessibilityState: AccessibilityState) => QueryReturn;\n queryAllByA11yState: (\n accessibilityState: AccessibilityState\n ) => QueryAllReturn;\n findByA11yState: (\n accessibilityState: AccessibilityState,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByA11yState: (\n accessibilityState: AccessibilityState,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // Value\n getByA11yValue: (a11yValue: A11yValue) => GetReturn;\n getAllByA11yValue: (a11yValue: A11yValue) => GetAllReturn;\n queryByA11yValue: (a11yValue: A11yValue) => QueryReturn;\n queryAllByA11yValue: (a11yValue: A11yValue) => QueryAllReturn;\n findByA11yValue: (\n a11yValue: A11yValue,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByA11yValue: (\n a11yValue: A11yValue,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n};\n\nexport function matchStringValue(\n prop: string | undefined,\n matcher: TextMatch\n): boolean {\n if (!prop) {\n return false;\n }\n\n if (typeof matcher === 'string') {\n return prop === matcher;\n }\n\n return Boolean(prop.match(matcher));\n}\n\nexport function matchArrayValue(\n prop: Array<string> | undefined,\n matcher: string | Array<string>\n): boolean {\n if (!prop || matcher.length === 0) {\n return false;\n }\n\n if (typeof matcher === 'string') {\n return prop.includes(matcher);\n }\n\n return !matcher.some((e) => !prop.includes(e));\n}\n\nexport function matchObject<T extends Record<string, unknown>>(\n prop: T | undefined,\n matcher: T\n): boolean {\n return prop\n ? Object.keys(matcher).length !== 0 &&\n Object.keys(prop).length !== 0 &&\n !Object.keys(matcher).some((key) => prop[key] !== matcher[key])\n : false;\n}\n\nexport const a11yAPI = (instance: ReactTestInstance): A11yAPI =>\n ({\n ...makeA11yQuery(\n 'accessibilityLabel',\n {\n getBy: ['getByLabelText'],\n getAllBy: ['getAllByLabelText'],\n queryBy: ['queryByLabelText'],\n queryAllBy: ['queryAllByLabelText'],\n findBy: ['findByLabelText'],\n findAllBy: ['findAllByLabelText'],\n },\n matchStringValue\n )(instance),\n ...makeA11yQuery(\n 'accessibilityHint',\n {\n getBy: ['getByA11yHint', 'getByAccessibilityHint', 'getByHintText'],\n getAllBy: [\n 'getAllByA11yHint',\n 'getAllByAccessibilityHint',\n 'getAllByHintText',\n ],\n queryBy: [\n 'queryByA11yHint',\n 'queryByAccessibilityHint',\n 'queryByHintText',\n ],\n queryAllBy: [\n 'queryAllByA11yHint',\n 'queryAllByAccessibilityHint',\n 'queryAllByHintText',\n ],\n findBy: ['findByA11yHint', 'findByAccessibilityHint', 'findByHintText'],\n findAllBy: [\n 'findAllByA11yHint',\n 'findAllByAccessibilityHint',\n 'findAllByHintText',\n ],\n },\n matchStringValue\n )(instance),\n ...makeA11yQuery(\n 'accessibilityRole',\n {\n getBy: ['getByRole'],\n getAllBy: ['getAllByRole'],\n queryBy: ['queryByRole'],\n queryAllBy: ['queryAllByRole'],\n findBy: ['findByRole'],\n findAllBy: ['findAllByRole'],\n },\n matchStringValue\n )(instance),\n ...makeA11yQuery(\n 'accessibilityStates',\n {\n getBy: ['getByA11yStates', 'getByAccessibilityStates'],\n getAllBy: ['getAllByA11yStates', 'getAllByAccessibilityStates'],\n queryBy: ['queryByA11yStates', 'queryByAccessibilityStates'],\n queryAllBy: ['queryAllByA11yStates', 'queryAllByAccessibilityStates'],\n findBy: ['findByA11yStates', 'findByAccessibilityStates'],\n findAllBy: ['findAllByA11yStates', 'findAllByAccessibilityStates'],\n },\n matchArrayValue\n )(instance),\n ...makeA11yQuery(\n 'accessibilityState',\n {\n getBy: ['getByA11yState', 'getByAccessibilityState'],\n getAllBy: ['getAllByA11yState', 'getAllByAccessibilityState'],\n queryBy: ['queryByA11yState', 'queryByAccessibilityState'],\n queryAllBy: ['queryAllByA11yState', 'queryAllByAccessibilityState'],\n findBy: ['findByA11yState', 'findByAccessibilityState'],\n findAllBy: ['findAllByA11yState', 'findAllByAccessibilityState'],\n },\n matchObject\n )(instance),\n ...makeA11yQuery(\n 'accessibilityValue',\n {\n getBy: ['getByA11yValue', 'getByAccessibilityValue'],\n getAllBy: ['getAllByA11yValue', 'getAllByAccessibilityValue'],\n queryBy: ['queryByA11yValue', 'queryByAccessibilityValue'],\n queryAllBy: ['queryAllByA11yValue', 'queryAllByAccessibilityValue'],\n findBy: ['findByA11yValue', 'findByAccessibilityValue'],\n findAllBy: ['findAllByA11yValue', 'findAllByAccessibilityValue'],\n },\n matchObject\n )(instance),\n } as any);\n"],"file":"a11yAPI.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/queries/a11yAPI.ts"],"names":["matchStringValue","prop","matcher","Boolean","match","matchArrayValue","length","includes","some","e","matchObject","Object","keys","key","a11yAPI","instance","getBy","getAllBy","queryBy","queryAllBy","findBy","findAllBy"],"mappings":"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","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport type { AccessibilityRole, AccessibilityState } from 'react-native';\nimport type { WaitForOptions } from '../waitFor';\nimport type { TextMatch } from '../matches';\nimport makeA11yQuery from './makeA11yQuery';\n\ntype AccessibilityStateKey = keyof AccessibilityState;\ntype A11yValue = {\n min?: number;\n max?: number;\n now?: number;\n text?: string;\n};\n\ntype GetReturn = ReactTestInstance;\ntype GetAllReturn = Array<ReactTestInstance>;\ntype QueryReturn = ReactTestInstance | null;\ntype QueryAllReturn = Array<ReactTestInstance>;\ntype FindReturn = Promise<GetReturn>;\ntype FindAllReturn = Promise<GetAllReturn>;\n\nexport type A11yAPI = {\n // Label\n getByLabelText: (label: TextMatch) => GetReturn;\n getAllByLabelText: (label: TextMatch) => GetAllReturn;\n queryByLabelText: (label: TextMatch) => QueryReturn;\n queryAllByLabelText: (label: TextMatch) => QueryAllReturn;\n findByLabelText: (\n label: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByLabelText: (\n label: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // Hint\n getByA11yHint: (a11yHint: TextMatch) => GetReturn;\n getByHintText: (a11yHint: TextMatch) => GetReturn;\n getAllByA11yHint: (a11yHint: TextMatch) => GetAllReturn;\n getAllByHintText: (a11yHint: TextMatch) => GetAllReturn;\n queryByA11yHint: (a11yHint: TextMatch) => QueryReturn;\n queryByHintText: (a11yHint: TextMatch) => QueryReturn;\n queryAllByA11yHint: (a11yHint: TextMatch) => QueryAllReturn;\n queryAllByHintText: (a11yHint: TextMatch) => QueryAllReturn;\n findByA11yHint: (\n a11yHint: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findByHintText: (\n a11yHint: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByA11yHint: (\n a11yHint: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n findAllByHintText: (\n a11yHint: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // Role\n getByRole: (role: AccessibilityRole | RegExp) => GetReturn;\n getAllByRole: (role: AccessibilityRole | RegExp) => GetAllReturn;\n queryByRole: (role: AccessibilityRole | RegExp) => QueryReturn;\n queryAllByRole: (role: AccessibilityRole | RegExp) => QueryAllReturn;\n findByRole: (\n role: AccessibilityRole,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByRole: (\n role: AccessibilityRole,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // States\n getByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>\n ) => GetReturn;\n getAllByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>\n ) => GetAllReturn;\n queryByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>\n ) => QueryReturn;\n queryAllByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>\n ) => QueryAllReturn;\n findByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // State\n getByA11yState: (accessibilityState: AccessibilityState) => GetReturn;\n getAllByA11yState: (accessibilityState: AccessibilityState) => GetAllReturn;\n queryByA11yState: (accessibilityState: AccessibilityState) => QueryReturn;\n queryAllByA11yState: (\n accessibilityState: AccessibilityState\n ) => QueryAllReturn;\n findByA11yState: (\n accessibilityState: AccessibilityState,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByA11yState: (\n accessibilityState: AccessibilityState,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // Value\n getByA11yValue: (a11yValue: A11yValue) => GetReturn;\n getAllByA11yValue: (a11yValue: A11yValue) => GetAllReturn;\n queryByA11yValue: (a11yValue: A11yValue) => QueryReturn;\n queryAllByA11yValue: (a11yValue: A11yValue) => QueryAllReturn;\n findByA11yValue: (\n a11yValue: A11yValue,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByA11yValue: (\n a11yValue: A11yValue,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n};\n\nexport function matchStringValue(\n prop: string | undefined,\n matcher: TextMatch\n): boolean {\n if (!prop) {\n return false;\n }\n\n if (typeof matcher === 'string') {\n return prop === matcher;\n }\n\n return Boolean(prop.match(matcher));\n}\n\nexport function matchArrayValue(\n prop: Array<string> | undefined,\n matcher: string | Array<string>\n): boolean {\n if (!prop || matcher.length === 0) {\n return false;\n }\n\n if (typeof matcher === 'string') {\n return prop.includes(matcher);\n }\n\n return !matcher.some((e) => !prop.includes(e));\n}\n\nexport function matchObject<T extends Record<string, unknown>>(\n prop: T | undefined,\n matcher: T\n): boolean {\n return prop\n ? Object.keys(matcher).length !== 0 &&\n Object.keys(prop).length !== 0 &&\n !Object.keys(matcher).some((key) => prop[key] !== matcher[key])\n : false;\n}\n\nexport const a11yAPI = (instance: ReactTestInstance): A11yAPI =>\n ({\n ...makeA11yQuery(\n 'accessibilityLabel',\n {\n getBy: ['getByLabelText'],\n getAllBy: ['getAllByLabelText'],\n queryBy: ['queryByLabelText'],\n queryAllBy: ['queryAllByLabelText'],\n findBy: ['findByLabelText'],\n findAllBy: ['findAllByLabelText'],\n },\n matchStringValue\n )(instance),\n ...makeA11yQuery(\n 'accessibilityHint',\n {\n getBy: ['getByA11yHint', 'getByAccessibilityHint', 'getByHintText'],\n getAllBy: [\n 'getAllByA11yHint',\n 'getAllByAccessibilityHint',\n 'getAllByHintText',\n ],\n queryBy: [\n 'queryByA11yHint',\n 'queryByAccessibilityHint',\n 'queryByHintText',\n ],\n queryAllBy: [\n 'queryAllByA11yHint',\n 'queryAllByAccessibilityHint',\n 'queryAllByHintText',\n ],\n findBy: ['findByA11yHint', 'findByAccessibilityHint', 'findByHintText'],\n findAllBy: [\n 'findAllByA11yHint',\n 'findAllByAccessibilityHint',\n 'findAllByHintText',\n ],\n },\n matchStringValue\n )(instance),\n ...makeA11yQuery(\n 'accessibilityRole',\n {\n getBy: ['getByRole'],\n getAllBy: ['getAllByRole'],\n queryBy: ['queryByRole'],\n queryAllBy: ['queryAllByRole'],\n findBy: ['findByRole'],\n findAllBy: ['findAllByRole'],\n },\n matchStringValue\n )(instance),\n ...makeA11yQuery(\n 'accessibilityStates',\n {\n getBy: ['getByA11yStates', 'getByAccessibilityStates'],\n getAllBy: ['getAllByA11yStates', 'getAllByAccessibilityStates'],\n queryBy: ['queryByA11yStates', 'queryByAccessibilityStates'],\n queryAllBy: ['queryAllByA11yStates', 'queryAllByAccessibilityStates'],\n findBy: ['findByA11yStates', 'findByAccessibilityStates'],\n findAllBy: ['findAllByA11yStates', 'findAllByAccessibilityStates'],\n },\n matchArrayValue\n )(instance),\n ...makeA11yQuery(\n 'accessibilityState',\n {\n getBy: ['getByA11yState', 'getByAccessibilityState'],\n getAllBy: ['getAllByA11yState', 'getAllByAccessibilityState'],\n queryBy: ['queryByA11yState', 'queryByAccessibilityState'],\n queryAllBy: ['queryAllByA11yState', 'queryAllByAccessibilityState'],\n findBy: ['findByA11yState', 'findByAccessibilityState'],\n findAllBy: ['findAllByA11yState', 'findAllByAccessibilityState'],\n },\n matchObject\n )(instance),\n ...makeA11yQuery(\n 'accessibilityValue',\n {\n getBy: ['getByA11yValue', 'getByAccessibilityValue'],\n getAllBy: ['getAllByA11yValue', 'getAllByAccessibilityValue'],\n queryBy: ['queryByA11yValue', 'queryByAccessibilityValue'],\n queryAllBy: ['queryAllByA11yValue', 'queryAllByAccessibilityValue'],\n findBy: ['findByA11yValue', 'findByAccessibilityValue'],\n findAllBy: ['findAllByA11yValue', 'findAllByAccessibilityValue'],\n },\n matchObject\n )(instance),\n } as any);\n"],"file":"a11yAPI.js"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ReactTestInstance } from 'react-test-renderer';
|
|
2
|
+
import { TextMatch } from '../matches';
|
|
3
|
+
import type { FindAllByQuery, FindByQuery, GetAllByQuery, GetByQuery, QueryAllByQuery, QueryByQuery } from './makeQueries';
|
|
4
|
+
import type { TextMatchOptions } from './text';
|
|
5
|
+
export declare type ByDisplayValueQueries = {
|
|
6
|
+
getByDisplayValue: GetByQuery<TextMatch, TextMatchOptions>;
|
|
7
|
+
getAllByDisplayValue: GetAllByQuery<TextMatch, TextMatchOptions>;
|
|
8
|
+
queryByDisplayValue: QueryByQuery<TextMatch, TextMatchOptions>;
|
|
9
|
+
queryAllByDisplayValue: QueryAllByQuery<TextMatch, TextMatchOptions>;
|
|
10
|
+
findByDisplayValue: FindByQuery<TextMatch, TextMatchOptions>;
|
|
11
|
+
findAllByDisplayValue: FindAllByQuery<TextMatch, TextMatchOptions>;
|
|
12
|
+
};
|
|
13
|
+
export declare const bindByDisplayValueQueries: (instance: ReactTestInstance) => ByDisplayValueQueries;
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.bindByDisplayValueQueries = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _errors = require("../helpers/errors");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _filterNodeByType = require("../helpers/filterNodeByType");
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _matches = require("../matches");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _makeQueries = require("./makeQueries");
|
|
15
15
|
|
|
16
16
|
const getTextInputNodeByDisplayValue = (node, value, options = {}) => {
|
|
17
17
|
try {
|
|
@@ -34,22 +34,27 @@ const queryAllByDisplayValue = instance => function queryAllByDisplayValueFn(dis
|
|
|
34
34
|
return instance.findAll(node => getTextInputNodeByDisplayValue(node, displayValue, queryOptions));
|
|
35
35
|
};
|
|
36
36
|
|
|
37
|
-
exports.queryAllByDisplayValue = queryAllByDisplayValue;
|
|
38
|
-
|
|
39
37
|
const getMultipleError = displayValue => `Found multiple elements with display value: ${String(displayValue)} `;
|
|
40
38
|
|
|
41
39
|
const getMissingError = displayValue => `Unable to find an element with displayValue: ${String(displayValue)}`;
|
|
42
40
|
|
|
43
41
|
const {
|
|
44
|
-
getBy
|
|
45
|
-
getAllBy
|
|
46
|
-
queryBy
|
|
47
|
-
|
|
48
|
-
|
|
42
|
+
getBy,
|
|
43
|
+
getAllBy,
|
|
44
|
+
queryBy,
|
|
45
|
+
queryAllBy,
|
|
46
|
+
findBy,
|
|
47
|
+
findAllBy
|
|
49
48
|
} = (0, _makeQueries.makeQueries)(queryAllByDisplayValue, getMissingError, getMultipleError);
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
49
|
+
|
|
50
|
+
const bindByDisplayValueQueries = instance => ({
|
|
51
|
+
getByDisplayValue: getBy(instance),
|
|
52
|
+
getAllByDisplayValue: getAllBy(instance),
|
|
53
|
+
queryByDisplayValue: queryBy(instance),
|
|
54
|
+
queryAllByDisplayValue: queryAllBy(instance),
|
|
55
|
+
findByDisplayValue: findBy(instance),
|
|
56
|
+
findAllByDisplayValue: findAllBy(instance)
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
exports.bindByDisplayValueQueries = bindByDisplayValueQueries;
|
|
60
|
+
//# sourceMappingURL=displayValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/queries/displayValue.ts"],"names":["getTextInputNodeByDisplayValue","node","value","options","TextInput","require","exact","normalizer","nodeValue","props","undefined","defaultValue","error","queryAllByDisplayValue","instance","queryAllByDisplayValueFn","displayValue","queryOptions","findAll","getMultipleError","String","getMissingError","getBy","getAllBy","queryBy","queryAllBy","findBy","findAllBy","bindByDisplayValueQueries","getByDisplayValue","getAllByDisplayValue","queryByDisplayValue","findByDisplayValue","findAllByDisplayValue"],"mappings":";;;;;;;AACA;;AACA;;AACA;;AACA;;AAWA,MAAMA,8BAA8B,GAAG,CACrCC,IADqC,EAErCC,KAFqC,EAGrCC,OAAyB,GAAG,EAHS,KAIlC;AACH,MAAI;AACF,UAAM;AAAEC,MAAAA;AAAF,QAAgBC,OAAO,CAAC,cAAD,CAA7B;;AACA,UAAM;AAAEC,MAAAA,KAAF;AAASC,MAAAA;AAAT,QAAwBJ,OAA9B;AACA,UAAMK,SAAS,GACbP,IAAI,CAACQ,KAAL,CAAWP,KAAX,KAAqBQ,SAArB,GACIT,IAAI,CAACQ,KAAL,CAAWP,KADf,GAEID,IAAI,CAACQ,KAAL,CAAWE,YAHjB;AAIA,WACE,wCAAiBV,IAAjB,EAAuBG,SAAvB,KACA,sBAAQF,KAAR,EAAeM,SAAf,EAA0BD,UAA1B,EAAsCD,KAAtC,CAFF;AAID,GAXD,CAWE,OAAOM,KAAP,EAAc;AACd,UAAM,4CAA+BA,KAA/B,CAAN;AACD;AACF,CAnBD;;AAqBA,MAAMC,sBAAsB,GAC1BC,QAD6B,IAM7B,SAASC,wBAAT,CAAkCC,YAAlC,EAAgDC,YAAhD,EAA8D;AAC5D,SAAOH,QAAQ,CAACI,OAAT,CAAkBjB,IAAD,IACtBD,8BAA8B,CAACC,IAAD,EAAOe,YAAP,EAAqBC,YAArB,CADzB,CAAP;AAGD,CAVH;;AAYA,MAAME,gBAAgB,GAAIH,YAAD,IACtB,+CAA8CI,MAAM,CAACJ,YAAD,CAAe,GADtE;;AAEA,MAAMK,eAAe,GAAIL,YAAD,IACrB,gDAA+CI,MAAM,CAACJ,YAAD,CAAe,EADvE;;AAGA,MAAM;AAAEM,EAAAA,KAAF;AAASC,EAAAA,QAAT;AAAmBC,EAAAA,OAAnB;AAA4BC,EAAAA,UAA5B;AAAwCC,EAAAA,MAAxC;AAAgDC,EAAAA;AAAhD,IAA8D,8BAClEd,sBADkE,EAElEQ,eAFkE,EAGlEF,gBAHkE,CAApE;;AAeO,MAAMS,yBAAyB,GACpCd,QADuC,KAEZ;AAC3Be,EAAAA,iBAAiB,EAAEP,KAAK,CAACR,QAAD,CADG;AAE3BgB,EAAAA,oBAAoB,EAAEP,QAAQ,CAACT,QAAD,CAFH;AAG3BiB,EAAAA,mBAAmB,EAAEP,OAAO,CAACV,QAAD,CAHD;AAI3BD,EAAAA,sBAAsB,EAAEY,UAAU,CAACX,QAAD,CAJP;AAK3BkB,EAAAA,kBAAkB,EAAEN,MAAM,CAACZ,QAAD,CALC;AAM3BmB,EAAAA,qBAAqB,EAAEN,SAAS,CAACb,QAAD;AANL,CAFY,CAAlC","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport { createLibraryNotSupportedError } from '../helpers/errors';\nimport { filterNodeByType } from '../helpers/filterNodeByType';\nimport { matches, TextMatch } from '../matches';\nimport { makeQueries } from './makeQueries';\nimport type {\n FindAllByQuery,\n FindByQuery,\n GetAllByQuery,\n GetByQuery,\n QueryAllByQuery,\n QueryByQuery,\n} from './makeQueries';\nimport type { TextMatchOptions } from './text';\n\nconst getTextInputNodeByDisplayValue = (\n node: ReactTestInstance,\n value: TextMatch,\n options: TextMatchOptions = {}\n) => {\n try {\n const { TextInput } = require('react-native');\n const { exact, normalizer } = options;\n const nodeValue =\n node.props.value !== undefined\n ? node.props.value\n : node.props.defaultValue;\n return (\n filterNodeByType(node, TextInput) &&\n matches(value, nodeValue, normalizer, exact)\n );\n } catch (error) {\n throw createLibraryNotSupportedError(error);\n }\n};\n\nconst queryAllByDisplayValue = (\n instance: ReactTestInstance\n): ((\n displayValue: TextMatch,\n queryOptions?: TextMatchOptions\n) => Array<ReactTestInstance>) =>\n function queryAllByDisplayValueFn(displayValue, queryOptions) {\n return instance.findAll((node) =>\n getTextInputNodeByDisplayValue(node, displayValue, queryOptions)\n );\n };\n\nconst getMultipleError = (displayValue: TextMatch) =>\n `Found multiple elements with display value: ${String(displayValue)} `;\nconst getMissingError = (displayValue: TextMatch) =>\n `Unable to find an element with displayValue: ${String(displayValue)}`;\n\nconst { getBy, getAllBy, queryBy, queryAllBy, findBy, findAllBy } = makeQueries(\n queryAllByDisplayValue,\n getMissingError,\n getMultipleError\n);\n\nexport type ByDisplayValueQueries = {\n getByDisplayValue: GetByQuery<TextMatch, TextMatchOptions>;\n getAllByDisplayValue: GetAllByQuery<TextMatch, TextMatchOptions>;\n queryByDisplayValue: QueryByQuery<TextMatch, TextMatchOptions>;\n queryAllByDisplayValue: QueryAllByQuery<TextMatch, TextMatchOptions>;\n findByDisplayValue: FindByQuery<TextMatch, TextMatchOptions>;\n findAllByDisplayValue: FindAllByQuery<TextMatch, TextMatchOptions>;\n};\n\nexport const bindByDisplayValueQueries = (\n instance: ReactTestInstance\n): ByDisplayValueQueries => ({\n getByDisplayValue: getBy(instance),\n getAllByDisplayValue: getAllBy(instance),\n queryByDisplayValue: queryBy(instance),\n queryAllByDisplayValue: queryAllBy(instance),\n findByDisplayValue: findBy(instance),\n findAllByDisplayValue: findAllBy(instance),\n});\n"],"file":"displayValue.js"}
|
|
File without changes
|
|
@@ -7,7 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _waitFor = _interopRequireDefault(require("../waitFor"));
|
|
9
9
|
|
|
10
|
-
var _errors = require("
|
|
10
|
+
var _errors = require("../helpers/errors");
|
|
11
11
|
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
13
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/
|
|
1
|
+
{"version":3,"sources":["../../src/queries/makeA11yQuery.ts"],"names":["isNodeValid","node","type","makeAliases","aliases","query","map","alias","reduce","acc","makeA11yQuery","name","queryNames","matcherFn","instance","getBy","matcher","find","props","error","ErrorWithStack","getAllBy","results","findAll","length","Error","queryBy","queryAllBy","findBy","waitForOptions","findAllBy"],"mappings":"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","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport waitFor from '../waitFor';\nimport type { WaitForOptions } from '../waitFor';\nimport {\n ErrorWithStack,\n prepareErrorMessage,\n createQueryByError,\n} from '../helpers/errors';\n\nfunction isNodeValid(node: ReactTestInstance) {\n return typeof node.type === 'string';\n}\n\nfunction makeAliases(aliases: Array<string>, query: Function) {\n return aliases\n .map((alias) => ({ [alias]: query }))\n .reduce((acc, query) => ({ ...acc, ...query }), {});\n}\n\ntype QueryNames = {\n getBy: Array<string>;\n getAllBy: Array<string>;\n queryBy: Array<string>;\n queryAllBy: Array<string>;\n findBy: Array<string>;\n findAllBy: Array<string>;\n};\n\nconst makeA11yQuery = <P extends unknown, M extends unknown>(\n name: string,\n queryNames: QueryNames,\n matcherFn: (prop: P, value: M) => boolean\n) => (instance: ReactTestInstance) => {\n const getBy = (matcher: M) => {\n try {\n return instance.find(\n (node) => isNodeValid(node) && matcherFn(node.props[name], matcher)\n );\n } catch (error) {\n throw new ErrorWithStack(\n prepareErrorMessage(error, name, matcher),\n getBy\n );\n }\n };\n\n const getAllBy = (matcher: M) => {\n const results = instance.findAll(\n (node) => isNodeValid(node) && matcherFn(node.props[name], matcher)\n );\n\n if (results.length === 0) {\n throw new ErrorWithStack(\n prepareErrorMessage(new Error('No instances found'), name, matcher),\n getAllBy\n );\n }\n\n return results;\n };\n\n const queryBy = (matcher: M) => {\n try {\n return getBy(matcher);\n } catch (error) {\n return createQueryByError(error, queryBy);\n }\n };\n\n const queryAllBy = (matcher: M) => {\n try {\n return getAllBy(matcher);\n } catch (error) {\n return [];\n }\n };\n\n const findBy = (matcher: M, waitForOptions?: WaitForOptions) => {\n return waitFor(() => getBy(matcher), waitForOptions);\n };\n\n const findAllBy = (matcher: M, waitForOptions?: WaitForOptions) => {\n return waitFor(() => getAllBy(matcher), waitForOptions);\n };\n\n return {\n ...makeAliases(queryNames.getBy, getBy),\n ...makeAliases(queryNames.getAllBy, getAllBy),\n ...makeAliases(queryNames.queryBy, queryBy),\n ...makeAliases(queryNames.queryAllBy, queryAllBy),\n ...makeAliases(queryNames.findBy, findBy),\n ...makeAliases(queryNames.findAllBy, findAllBy),\n };\n};\n\nexport default makeA11yQuery;\n"],"file":"makeA11yQuery.js"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ReactTestInstance } from 'react-test-renderer';
|
|
2
|
+
import type { WaitForOptions } from '../waitFor';
|
|
3
|
+
export declare type GetByQuery<Predicate, Options> = (predicate: Predicate, options?: Options) => ReactTestInstance;
|
|
4
|
+
export declare type GetAllByQuery<Predicate, Options> = (predicate: Predicate, options?: Options) => ReactTestInstance[];
|
|
5
|
+
export declare type QueryByQuery<Predicate, Options> = (predicate: Predicate, options?: Options) => ReactTestInstance | null;
|
|
6
|
+
export declare type QueryAllByQuery<Predicate, Options> = (predicate: Predicate, options?: Options) => ReactTestInstance[];
|
|
7
|
+
export declare type FindByQuery<Predicate, Options> = (predicate: Predicate, options?: Options & WaitForOptions, waitForOptions?: WaitForOptions) => Promise<ReactTestInstance>;
|
|
8
|
+
export declare type FindAllByQuery<Predicate, Options> = (predicate: Predicate, options?: Options & WaitForOptions, waitForOptions?: WaitForOptions) => Promise<ReactTestInstance[]>;
|
|
9
|
+
declare type UnboundQuery<Query> = (instance: ReactTestInstance) => Query;
|
|
10
|
+
export declare type UnboundQueries<Predicate, Options> = {
|
|
11
|
+
getBy: UnboundQuery<GetByQuery<Predicate, Options>>;
|
|
12
|
+
getAllBy: UnboundQuery<GetAllByQuery<Predicate, Options>>;
|
|
13
|
+
queryBy: UnboundQuery<QueryByQuery<Predicate, Options>>;
|
|
14
|
+
queryAllBy: UnboundQuery<QueryAllByQuery<Predicate, Options>>;
|
|
15
|
+
findBy: UnboundQuery<FindByQuery<Predicate, Options>>;
|
|
16
|
+
findAllBy: UnboundQuery<FindAllByQuery<Predicate, Options>>;
|
|
17
|
+
};
|
|
18
|
+
export declare function makeQueries<Predicate, Options>(queryAllByQuery: UnboundQuery<QueryAllByQuery<Predicate, Options>>, getMissingError: (predicate: Predicate) => string, getMultipleError: (predicate: Predicate) => string): UnboundQueries<Predicate, Options>;
|
|
19
|
+
export {};
|