@testing-library/react-native 9.0.0-alpha.0 → 9.2.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.
Files changed (121) hide show
  1. package/README.md +2 -2
  2. package/build/act.d.ts +3 -0
  3. package/build/act.js +2 -1
  4. package/build/act.js.map +1 -0
  5. package/build/cleanup.d.ts +5 -0
  6. package/build/cleanup.js +3 -2
  7. package/build/cleanup.js.map +1 -0
  8. package/build/fireEvent.d.ts +8 -0
  9. package/build/fireEvent.js +2 -1
  10. package/build/fireEvent.js.map +1 -0
  11. package/build/flushMicroTasks.d.ts +5 -0
  12. package/build/flushMicroTasks.js +2 -12
  13. package/build/flushMicroTasks.js.map +1 -0
  14. package/build/helpers/a11yAPI.d.ts +66 -0
  15. package/build/helpers/a11yAPI.js +16 -15
  16. package/build/helpers/a11yAPI.js.map +1 -0
  17. package/build/helpers/byDisplayValue.d.ts +6 -0
  18. package/build/helpers/byDisplayValue.js +2 -1
  19. package/build/helpers/byDisplayValue.js.map +1 -0
  20. package/build/helpers/byPlaceholderText.d.ts +6 -0
  21. package/build/helpers/byPlaceholderText.js +2 -1
  22. package/build/helpers/byPlaceholderText.js.map +1 -0
  23. package/build/helpers/byTestId.d.ts +6 -0
  24. package/build/helpers/byTestId.js +2 -1
  25. package/build/helpers/byTestId.js.map +1 -0
  26. package/build/helpers/byText.d.ts +10 -0
  27. package/build/helpers/byText.js +8 -5
  28. package/build/helpers/byText.js.map +1 -0
  29. package/build/helpers/debugDeep.d.ts +5 -0
  30. package/build/helpers/debugDeep.js +4 -1
  31. package/build/helpers/debugDeep.js.map +1 -0
  32. package/build/helpers/debugShallow.d.ts +6 -0
  33. package/build/helpers/debugShallow.js +4 -7
  34. package/build/helpers/debugShallow.js.map +1 -0
  35. package/build/helpers/errors.d.ts +10 -0
  36. package/build/helpers/errors.js +29 -9
  37. package/build/helpers/errors.js.map +1 -0
  38. package/build/helpers/filterNodeByType.d.ts +3 -0
  39. package/build/helpers/filterNodeByType.js +2 -1
  40. package/build/helpers/filterNodeByType.js.map +1 -0
  41. package/build/helpers/findByAPI.d.ts +17 -0
  42. package/build/helpers/findByAPI.js +2 -1
  43. package/build/helpers/findByAPI.js.map +1 -0
  44. package/build/helpers/format.d.ts +3 -0
  45. package/build/helpers/format.js +4 -3
  46. package/build/helpers/format.js.map +1 -0
  47. package/build/helpers/getByAPI.d.ts +31 -0
  48. package/build/helpers/getByAPI.js +4 -19
  49. package/build/helpers/getByAPI.js.map +1 -0
  50. package/build/helpers/makeA11yQuery.d.ts +13 -0
  51. package/build/helpers/makeA11yQuery.js +2 -1
  52. package/build/helpers/makeA11yQuery.js.map +1 -0
  53. package/build/helpers/makeQueries.d.ts +20 -0
  54. package/build/helpers/makeQueries.js +6 -3
  55. package/build/helpers/makeQueries.js.map +1 -0
  56. package/build/helpers/queryByAPI.d.ts +39 -0
  57. package/build/helpers/queryByAPI.js +3 -8
  58. package/build/helpers/queryByAPI.js.map +1 -0
  59. package/build/helpers/timers.d.ts +6 -0
  60. package/build/helpers/timers.js +9 -6
  61. package/build/helpers/timers.js.map +1 -0
  62. package/build/index.d.ts +1 -0
  63. package/build/index.flow.js +384 -0
  64. package/build/index.js +2 -1
  65. package/build/index.js.map +1 -0
  66. package/build/matches.d.ts +9 -0
  67. package/build/matches.js +3 -2
  68. package/build/matches.js.map +1 -0
  69. package/build/{pure.js.flow → pure.d.ts} +4 -8
  70. package/build/pure.js +14 -31
  71. package/build/pure.js.map +1 -0
  72. package/build/render.d.ts +145 -0
  73. package/build/render.js +14 -10
  74. package/build/render.js.map +1 -0
  75. package/build/renderHook.d.ts +17 -0
  76. package/build/renderHook.js +57 -0
  77. package/build/renderHook.js.map +1 -0
  78. package/build/shallow.d.ts +8 -0
  79. package/build/shallow.js +3 -9
  80. package/build/shallow.js.map +1 -0
  81. package/build/waitFor.d.ts +8 -0
  82. package/build/waitFor.js +32 -23
  83. package/build/waitFor.js.map +1 -0
  84. package/build/waitForElementToBeRemoved.d.ts +2 -0
  85. package/build/waitForElementToBeRemoved.js +2 -1
  86. package/build/waitForElementToBeRemoved.js.map +1 -0
  87. package/build/within.d.ts +127 -0
  88. package/build/within.js +3 -2
  89. package/build/within.js.map +1 -0
  90. package/package.json +25 -15
  91. package/typings/index.flow.js +384 -0
  92. package/build/act.js.flow +0 -9
  93. package/build/cleanup.js.flow +0 -13
  94. package/build/fireEvent.js.flow +0 -127
  95. package/build/flushMicroTasks.js.flow +0 -23
  96. package/build/helpers/a11yAPI.js.flow +0 -241
  97. package/build/helpers/byDisplayValue.js.flow +0 -66
  98. package/build/helpers/byPlaceholderText.js.flow +0 -62
  99. package/build/helpers/byTestId.js.flow +0 -50
  100. package/build/helpers/byText.js.flow +0 -104
  101. package/build/helpers/debugDeep.js.flow +0 -16
  102. package/build/helpers/debugShallow.js.flow +0 -20
  103. package/build/helpers/errors.js.flow +0 -82
  104. package/build/helpers/filterNodeByType.js.flow +0 -1
  105. package/build/helpers/findByAPI.js.flow +0 -76
  106. package/build/helpers/format.js.flow +0 -10
  107. package/build/helpers/getByAPI.js.flow +0 -157
  108. package/build/helpers/makeA11yQuery.js.flow +0 -98
  109. package/build/helpers/makeQueries.js.flow +0 -165
  110. package/build/helpers/queryByAPI.js.flow +0 -166
  111. package/build/helpers/timers.js.flow +0 -88
  112. package/build/index.js.flow +0 -18
  113. package/build/matches.js.flow +0 -41
  114. package/build/render.js.flow +0 -109
  115. package/build/shallow.js.flow +0 -26
  116. package/build/types.flow.js +0 -1
  117. package/build/types.flow.js.flow +0 -59
  118. package/build/waitFor.js.flow +0 -221
  119. package/build/waitForElementToBeRemoved.js.flow +0 -42
  120. package/build/within.js.flow +0 -18
  121. package/typings/index.d.ts +0 -432
package/README.md CHANGED
@@ -109,11 +109,11 @@ test('form submits two answers', () => {
109
109
  const allQuestions = ['q1', 'q2'];
110
110
  const mockFn = jest.fn();
111
111
 
112
- const { getAllByA11yLabel, getByText } = render(
112
+ const { getAllByLabelText, getByText } = render(
113
113
  <QuestionsBoard questions={allQuestions} onSubmit={mockFn} />
114
114
  );
115
115
 
116
- const answerInputs = getAllByA11yLabel('answer input');
116
+ const answerInputs = getAllByLabelText('answer input');
117
117
 
118
118
  fireEvent.changeText(answerInputs[0], 'a1');
119
119
  fireEvent.changeText(answerInputs[1], 'a2');
package/build/act.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import { act } from 'react-test-renderer';
2
+ declare const _default: typeof act;
3
+ export default _default;
package/build/act.js CHANGED
@@ -13,4 +13,5 @@ const actMock = callback => {
13
13
 
14
14
  var _default = _reactTestRenderer.act || actMock;
15
15
 
16
- exports.default = _default;
16
+ exports.default = _default;
17
+ //# sourceMappingURL=act.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/act.ts"],"names":["actMock","callback","act"],"mappings":";;;;;;;AAAA;;AAEA,MAAMA,OAAO,GAAIC,QAAD,IAA0B;AACxCA,EAAAA,QAAQ;AACT,CAFD;;eAIeC,0BAAOF,O","sourcesContent":["import { act } from 'react-test-renderer';\n\nconst actMock = (callback: () => void) => {\n callback();\n};\n\nexport default act || actMock;\n"],"file":"act.js"}
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ declare type CleanUpFunction = (nextElement?: React.ReactElement<any>) => void;
3
+ export default function cleanup(): void;
4
+ export declare function addToCleanupQueue(fn: CleanUpFunction): void;
5
+ export {};
package/build/cleanup.js CHANGED
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = cleanup;
7
6
  exports.addToCleanupQueue = addToCleanupQueue;
7
+ exports.default = cleanup;
8
8
  let cleanupQueue = new Set();
9
9
 
10
10
  function cleanup() {
@@ -14,4 +14,5 @@ function cleanup() {
14
14
 
15
15
  function addToCleanupQueue(fn) {
16
16
  cleanupQueue.add(fn);
17
- }
17
+ }
18
+ //# sourceMappingURL=cleanup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cleanup.ts"],"names":["cleanupQueue","Set","cleanup","forEach","fn","clear","addToCleanupQueue","add"],"mappings":";;;;;;;AAGA,IAAIA,YAAY,GAAG,IAAIC,GAAJ,EAAnB;;AAEe,SAASC,OAAT,GAAmB;AAChCF,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';\n\ntype CleanUpFunction = (nextElement?: React.ReactElement<any>) => void;\nlet cleanupQueue = new Set<CleanUpFunction>();\n\nexport default function cleanup() {\n cleanupQueue.forEach((fn) => fn());\n cleanupQueue.clear();\n}\n\nexport function addToCleanupQueue(fn: CleanUpFunction) {\n cleanupQueue.add(fn);\n}\n"],"file":"cleanup.js"}
@@ -0,0 +1,8 @@
1
+ import { ReactTestInstance } from 'react-test-renderer';
2
+ declare const fireEvent: {
3
+ (element: ReactTestInstance, eventName: string, ...data: Array<any>): void;
4
+ press: (element: ReactTestInstance, ...data: Array<any>) => void;
5
+ changeText: (element: ReactTestInstance, ...data: Array<any>) => void;
6
+ scroll: (element: ReactTestInstance, ...data: Array<any>) => void;
7
+ };
8
+ export default fireEvent;
@@ -102,4 +102,5 @@ fireEvent.press = pressHandler;
102
102
  fireEvent.changeText = changeTextHandler;
103
103
  fireEvent.scroll = scrollHandler;
104
104
  var _default = fireEvent;
105
- exports.default = _default;
105
+ exports.default = _default;
106
+ //# sourceMappingURL=fireEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/fireEvent.ts"],"names":["isHostElement","element","type","isTextInput","TextInput","require","isTouchResponder","props","onStartShouldSetResponder","isPointerEventEnabled","isParent","parentCondition","pointerEvents","parent","isEventEnabled","touchResponder","editable","touchStart","touchMove","onMoveShouldSetResponder","undefined","findEventHandler","eventName","callsite","nearestTouchResponder","handler","getEventHandler","eventHandlerName","toEventHandlerName","invokeEvent","data","returnValue","charAt","toUpperCase","slice","pressHandler","changeTextHandler","scrollHandler","fireEvent","press","changeText","scroll"],"mappings":"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","sourcesContent":["import { ReactTestInstance } from 'react-test-renderer';\nimport act from './act';\n\ntype EventHandler = (...args: any) => unknown;\n\nconst isHostElement = (element?: ReactTestInstance) => {\n return typeof element?.type === 'string';\n};\n\nconst isTextInput = (element?: ReactTestInstance) => {\n const { TextInput } = require('react-native');\n return element?.type === TextInput;\n};\n\nconst isTouchResponder = (element?: ReactTestInstance) => {\n if (!isHostElement(element)) return false;\n\n return !!element?.props.onStartShouldSetResponder || isTextInput(element);\n};\n\nconst isPointerEventEnabled = (\n element?: ReactTestInstance,\n isParent?: boolean\n): boolean => {\n const parentCondition = isParent\n ? element?.props.pointerEvents === 'box-only'\n : element?.props.pointerEvents === 'box-none';\n\n if (element?.props.pointerEvents === 'none' || parentCondition) {\n return false;\n }\n\n if (!element?.parent) return true;\n\n return isPointerEventEnabled(element.parent, true);\n};\n\nconst isEventEnabled = (\n element?: ReactTestInstance,\n touchResponder?: ReactTestInstance\n) => {\n if (isTextInput(element)) return element?.props.editable !== false;\n if (!isPointerEventEnabled(element)) return false;\n\n const touchStart = touchResponder?.props.onStartShouldSetResponder?.();\n const touchMove = touchResponder?.props.onMoveShouldSetResponder?.();\n\n if (touchStart || touchMove) return true;\n\n return touchStart === undefined && touchMove === undefined;\n};\n\nconst findEventHandler = (\n element: ReactTestInstance,\n eventName: string,\n callsite?: any,\n nearestTouchResponder?: ReactTestInstance\n): EventHandler | null => {\n const touchResponder = isTouchResponder(element)\n ? element\n : nearestTouchResponder;\n\n const handler = getEventHandler(element, eventName);\n if (handler && isEventEnabled(element, touchResponder)) return handler;\n\n if (element.parent === null || element.parent.parent === null) {\n return null;\n }\n\n return findEventHandler(element.parent, eventName, callsite, touchResponder);\n};\n\nconst getEventHandler = (\n element: ReactTestInstance,\n eventName: string\n): EventHandler | undefined => {\n const eventHandlerName = toEventHandlerName(eventName);\n if (typeof element.props[eventHandlerName] === 'function') {\n return element.props[eventHandlerName];\n }\n\n if (typeof element.props[eventName] === 'function') {\n return element.props[eventName];\n }\n\n return undefined;\n};\n\nconst invokeEvent = (\n element: ReactTestInstance,\n eventName: string,\n callsite?: any,\n ...data: Array<any>\n) => {\n const handler = findEventHandler(element, eventName, callsite);\n\n if (!handler) {\n return;\n }\n\n let returnValue;\n\n act(() => {\n returnValue = handler(...data);\n });\n\n return returnValue;\n};\n\nconst toEventHandlerName = (eventName: string) =>\n `on${eventName.charAt(0).toUpperCase()}${eventName.slice(1)}`;\n\nconst pressHandler = (element: ReactTestInstance, ...data: Array<any>): void =>\n invokeEvent(element, 'press', pressHandler, ...data);\nconst changeTextHandler = (\n element: ReactTestInstance,\n ...data: Array<any>\n): void => invokeEvent(element, 'changeText', changeTextHandler, ...data);\nconst scrollHandler = (element: ReactTestInstance, ...data: Array<any>): void =>\n invokeEvent(element, 'scroll', scrollHandler, ...data);\n\nconst fireEvent = (\n element: ReactTestInstance,\n eventName: string,\n ...data: Array<any>\n): void => invokeEvent(element, eventName, fireEvent, ...data);\n\nfireEvent.press = pressHandler;\nfireEvent.changeText = changeTextHandler;\nfireEvent.scroll = scrollHandler;\n\nexport default fireEvent;\n"],"file":"fireEvent.js"}
@@ -0,0 +1,5 @@
1
+ declare type Thenable<T> = {
2
+ then: (callback: () => T) => unknown;
3
+ };
4
+ export declare function flushMicroTasks<T>(): Thenable<T>;
5
+ export {};
@@ -3,21 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = flushMicrotasksQueue;
7
6
  exports.flushMicroTasks = flushMicroTasks;
8
7
 
9
- var _errors = require("./helpers/errors");
10
-
11
8
  var _timers = require("./helpers/timers");
12
9
 
13
- /**
14
- * Wait for microtasks queue to flush
15
- */
16
- function flushMicrotasksQueue() {
17
- (0, _errors.printDeprecationWarning)('flushMicrotasksQueue');
18
- return flushMicroTasks();
19
- }
20
-
21
10
  function flushMicroTasks() {
22
11
  return {
23
12
  // using "thenable" instead of a Promise, because otherwise it breaks when
@@ -27,4 +16,5 @@ function flushMicroTasks() {
27
16
  }
28
17
 
29
18
  };
30
- }
19
+ }
20
+ //# sourceMappingURL=flushMicroTasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flushMicroTasks.ts"],"names":["flushMicroTasks","then","resolve"],"mappings":";;;;;;;AAAA;;AAIO,SAASA,eAAT,GAA2C;AAChD,SAAO;AACL;AACA;AACAC,IAAAA,IAAI,CAACC,OAAD,EAAU;AACZ,gCAAaA,OAAb;AACD;;AALI,GAAP;AAOD","sourcesContent":["import { setImmediate } from './helpers/timers';\n\ntype Thenable<T> = { then: (callback: () => T) => unknown };\n\nexport function flushMicroTasks<T>(): Thenable<T> {\n return {\n // using \"thenable\" instead of a Promise, because otherwise it breaks when\n // using \"modern\" fake timers\n then(resolve) {\n setImmediate(resolve);\n },\n };\n}\n"],"file":"flushMicroTasks.js"}
@@ -0,0 +1,66 @@
1
+ import type { ReactTestInstance } from 'react-test-renderer';
2
+ import type { AccessibilityRole, AccessibilityState } from 'react-native';
3
+ import type { WaitForOptions } from '../waitFor';
4
+ import type { TextMatch } from '../matches';
5
+ declare type AccessibilityStateKey = keyof AccessibilityState;
6
+ declare type A11yValue = {
7
+ min?: number;
8
+ max?: number;
9
+ now?: number;
10
+ text?: string;
11
+ };
12
+ declare type GetReturn = ReactTestInstance;
13
+ declare type GetAllReturn = Array<ReactTestInstance>;
14
+ declare type QueryReturn = ReactTestInstance | null;
15
+ declare type QueryAllReturn = Array<ReactTestInstance>;
16
+ declare type FindReturn = Promise<GetReturn>;
17
+ declare type FindAllReturn = Promise<GetAllReturn>;
18
+ export declare type A11yAPI = {
19
+ getByLabelText: (label: TextMatch) => GetReturn;
20
+ getAllByLabelText: (label: TextMatch) => GetAllReturn;
21
+ queryByLabelText: (label: TextMatch) => QueryReturn;
22
+ queryAllByLabelText: (label: TextMatch) => QueryAllReturn;
23
+ findByLabelText: (label: TextMatch, waitForOptions?: WaitForOptions) => FindReturn;
24
+ findAllByLabelText: (label: TextMatch, waitForOptions?: WaitForOptions) => FindAllReturn;
25
+ getByA11yHint: (a11yHint: TextMatch) => GetReturn;
26
+ getByHintText: (a11yHint: TextMatch) => GetReturn;
27
+ getAllByA11yHint: (a11yHint: TextMatch) => GetAllReturn;
28
+ getAllByHintText: (a11yHint: TextMatch) => GetAllReturn;
29
+ queryByA11yHint: (a11yHint: TextMatch) => QueryReturn;
30
+ queryByHintText: (a11yHint: TextMatch) => QueryReturn;
31
+ queryAllByA11yHint: (a11yHint: TextMatch) => QueryAllReturn;
32
+ queryAllByHintText: (a11yHint: TextMatch) => QueryAllReturn;
33
+ findByA11yHint: (a11yHint: TextMatch, waitForOptions?: WaitForOptions) => FindReturn;
34
+ findByHintText: (a11yHint: TextMatch, waitForOptions?: WaitForOptions) => FindReturn;
35
+ findAllByA11yHint: (a11yHint: TextMatch, waitForOptions?: WaitForOptions) => FindAllReturn;
36
+ findAllByHintText: (a11yHint: TextMatch, waitForOptions?: WaitForOptions) => FindAllReturn;
37
+ getByRole: (role: AccessibilityRole | RegExp) => GetReturn;
38
+ getAllByRole: (role: AccessibilityRole | RegExp) => GetAllReturn;
39
+ queryByRole: (role: AccessibilityRole | RegExp) => QueryReturn;
40
+ queryAllByRole: (role: AccessibilityRole | RegExp) => QueryAllReturn;
41
+ findByRole: (role: AccessibilityRole, waitForOptions?: WaitForOptions) => FindReturn;
42
+ findAllByRole: (role: AccessibilityRole, waitForOptions?: WaitForOptions) => FindAllReturn;
43
+ getByA11yStates: (accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>) => GetReturn;
44
+ getAllByA11yStates: (accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>) => GetAllReturn;
45
+ queryByA11yStates: (accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>) => QueryReturn;
46
+ queryAllByA11yStates: (accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>) => QueryAllReturn;
47
+ findByA11yStates: (accessibilityStateKey: AccessibilityStateKey, waitForOptions?: WaitForOptions) => FindReturn;
48
+ findAllByA11yStates: (accessibilityStateKey: AccessibilityStateKey, waitForOptions?: WaitForOptions) => FindAllReturn;
49
+ getByA11yState: (accessibilityState: AccessibilityState) => GetReturn;
50
+ getAllByA11yState: (accessibilityState: AccessibilityState) => GetAllReturn;
51
+ queryByA11yState: (accessibilityState: AccessibilityState) => QueryReturn;
52
+ queryAllByA11yState: (accessibilityState: AccessibilityState) => QueryAllReturn;
53
+ findByA11yState: (accessibilityState: AccessibilityState, waitForOptions?: WaitForOptions) => FindReturn;
54
+ findAllByA11yState: (accessibilityState: AccessibilityState, waitForOptions?: WaitForOptions) => FindAllReturn;
55
+ getByA11yValue: (a11yValue: A11yValue) => GetReturn;
56
+ getAllByA11yValue: (a11yValue: A11yValue) => GetAllReturn;
57
+ queryByA11yValue: (a11yValue: A11yValue) => QueryReturn;
58
+ queryAllByA11yValue: (a11yValue: A11yValue) => QueryAllReturn;
59
+ findByA11yValue: (a11yValue: A11yValue, waitForOptions?: WaitForOptions) => FindReturn;
60
+ findAllByA11yValue: (a11yValue: A11yValue, waitForOptions?: WaitForOptions) => FindAllReturn;
61
+ };
62
+ export declare function matchStringValue(prop: string | undefined, matcher: TextMatch): boolean;
63
+ export declare function matchArrayValue(prop: Array<string> | undefined, matcher: string | Array<string>): boolean;
64
+ export declare function matchObject<T extends Record<string, unknown>>(prop: T | undefined, matcher: T): boolean;
65
+ export declare const a11yAPI: (instance: ReactTestInstance) => A11yAPI;
66
+ export {};
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.matchStringValue = matchStringValue;
6
+ exports.a11yAPI = void 0;
7
7
  exports.matchArrayValue = matchArrayValue;
8
8
  exports.matchObject = matchObject;
9
- exports.a11yAPI = void 0;
9
+ exports.matchStringValue = matchStringValue;
10
10
 
11
11
  var _makeA11yQuery = _interopRequireDefault(require("./makeA11yQuery"));
12
12
 
@@ -41,12 +41,12 @@ function matchObject(prop, matcher) {
41
41
  }
42
42
 
43
43
  const a11yAPI = instance => ({ ...(0, _makeA11yQuery.default)('accessibilityLabel', {
44
- getBy: ['getByA11yLabel', 'getByAccessibilityLabel', 'getByLabelText'],
45
- getAllBy: ['getAllByA11yLabel', 'getAllByAccessibilityLabel', 'getAllByLabelText'],
46
- queryBy: ['queryByA11yLabel', 'queryByAccessibilityLabel', 'queryByLabelText'],
47
- queryAllBy: ['queryAllByA11yLabel', 'queryAllByAccessibilityLabel', 'queryAllByLabelText'],
48
- findBy: ['findByA11yLabel', 'findByAccessibilityLabel', 'findByLabelText'],
49
- findAllBy: ['findAllByA11yLabel', 'findAllByAccessibilityLabel', 'findAllByLabelText']
44
+ getBy: ['getByLabelText'],
45
+ getAllBy: ['getAllByLabelText'],
46
+ queryBy: ['queryByLabelText'],
47
+ queryAllBy: ['queryAllByLabelText'],
48
+ findBy: ['findByLabelText'],
49
+ findAllBy: ['findAllByLabelText']
50
50
  }, matchStringValue)(instance),
51
51
  ...(0, _makeA11yQuery.default)('accessibilityHint', {
52
52
  getBy: ['getByA11yHint', 'getByAccessibilityHint', 'getByHintText'],
@@ -57,12 +57,12 @@ const a11yAPI = instance => ({ ...(0, _makeA11yQuery.default)('accessibilityLabe
57
57
  findAllBy: ['findAllByA11yHint', 'findAllByAccessibilityHint', 'findAllByHintText']
58
58
  }, matchStringValue)(instance),
59
59
  ...(0, _makeA11yQuery.default)('accessibilityRole', {
60
- getBy: ['getByA11yRole', 'getByAccessibilityRole', 'getByRole'],
61
- getAllBy: ['getAllByA11yRole', 'getAllByAccessibilityRole', 'getAllByRole'],
62
- queryBy: ['queryByA11yRole', 'queryByAccessibilityRole', 'queryByRole'],
63
- queryAllBy: ['queryAllByA11yRole', 'queryAllByAccessibilityRole', 'queryAllByRole'],
64
- findBy: ['findByA11yRole', 'findByAccessibilityRole', 'findByRole'],
65
- findAllBy: ['findAllByA11yRole', 'findAllByAccessibilityRole', 'findAllByRole']
60
+ getBy: ['getByRole'],
61
+ getAllBy: ['getAllByRole'],
62
+ queryBy: ['queryByRole'],
63
+ queryAllBy: ['queryAllByRole'],
64
+ findBy: ['findByRole'],
65
+ findAllBy: ['findAllByRole']
66
66
  }, matchStringValue)(instance),
67
67
  ...(0, _makeA11yQuery.default)('accessibilityStates', {
68
68
  getBy: ['getByA11yStates', 'getByAccessibilityStates'],
@@ -90,4 +90,5 @@ const a11yAPI = instance => ({ ...(0, _makeA11yQuery.default)('accessibilityLabe
90
90
  }, matchObject)(instance)
91
91
  });
92
92
 
93
- exports.a11yAPI = a11yAPI;
93
+ exports.a11yAPI = a11yAPI;
94
+ //# sourceMappingURL=a11yAPI.js.map
@@ -0,0 +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":";;;;;;;;;;AAIA;;;;AA6HO,SAASA,gBAAT,CACLC,IADK,EAELC,OAFK,EAGI;AACT,MAAI,CAACD,IAAL,EAAW;AACT,WAAO,KAAP;AACD;;AAED,MAAI,OAAOC,OAAP,KAAmB,QAAvB,EAAiC;AAC/B,WAAOD,IAAI,KAAKC,OAAhB;AACD;;AAED,SAAOC,OAAO,CAACF,IAAI,CAACG,KAAL,CAAWF,OAAX,CAAD,CAAd;AACD;;AAEM,SAASG,eAAT,CACLJ,IADK,EAELC,OAFK,EAGI;AACT,MAAI,CAACD,IAAD,IAASC,OAAO,CAACI,MAAR,KAAmB,CAAhC,EAAmC;AACjC,WAAO,KAAP;AACD;;AAED,MAAI,OAAOJ,OAAP,KAAmB,QAAvB,EAAiC;AAC/B,WAAOD,IAAI,CAACM,QAAL,CAAcL,OAAd,CAAP;AACD;;AAED,SAAO,CAACA,OAAO,CAACM,IAAR,CAAcC,CAAD,IAAO,CAACR,IAAI,CAACM,QAAL,CAAcE,CAAd,CAArB,CAAR;AACD;;AAEM,SAASC,WAAT,CACLT,IADK,EAELC,OAFK,EAGI;AACT,SAAOD,IAAI,GACPU,MAAM,CAACC,IAAP,CAAYV,OAAZ,EAAqBI,MAArB,KAAgC,CAAhC,IACEK,MAAM,CAACC,IAAP,CAAYX,IAAZ,EAAkBK,MAAlB,KAA6B,CAD/B,IAEE,CAACK,MAAM,CAACC,IAAP,CAAYV,OAAZ,EAAqBM,IAArB,CAA2BK,GAAD,IAASZ,IAAI,CAACY,GAAD,CAAJ,KAAcX,OAAO,CAACW,GAAD,CAAxD,CAHI,GAIP,KAJJ;AAKD;;AAEM,MAAMC,OAAO,GAAIC,QAAD,KACpB,EACC,GAAG,4BACD,oBADC,EAED;AACEC,IAAAA,KAAK,EAAE,CAAC,gBAAD,CADT;AAEEC,IAAAA,QAAQ,EAAE,CAAC,mBAAD,CAFZ;AAGEC,IAAAA,OAAO,EAAE,CAAC,kBAAD,CAHX;AAIEC,IAAAA,UAAU,EAAE,CAAC,qBAAD,CAJd;AAKEC,IAAAA,MAAM,EAAE,CAAC,iBAAD,CALV;AAMEC,IAAAA,SAAS,EAAE,CAAC,oBAAD;AANb,GAFC,EAUDrB,gBAVC,EAWDe,QAXC,CADJ;AAaC,KAAG,4BACD,mBADC,EAED;AACEC,IAAAA,KAAK,EAAE,CAAC,eAAD,EAAkB,wBAAlB,EAA4C,eAA5C,CADT;AAEEC,IAAAA,QAAQ,EAAE,CACR,kBADQ,EAER,2BAFQ,EAGR,kBAHQ,CAFZ;AAOEC,IAAAA,OAAO,EAAE,CACP,iBADO,EAEP,0BAFO,EAGP,iBAHO,CAPX;AAYEC,IAAAA,UAAU,EAAE,CACV,oBADU,EAEV,6BAFU,EAGV,oBAHU,CAZd;AAiBEC,IAAAA,MAAM,EAAE,CAAC,gBAAD,EAAmB,yBAAnB,EAA8C,gBAA9C,CAjBV;AAkBEC,IAAAA,SAAS,EAAE,CACT,mBADS,EAET,4BAFS,EAGT,mBAHS;AAlBb,GAFC,EA0BDrB,gBA1BC,EA2BDe,QA3BC,CAbJ;AAyCC,KAAG,4BACD,mBADC,EAED;AACEC,IAAAA,KAAK,EAAE,CAAC,WAAD,CADT;AAEEC,IAAAA,QAAQ,EAAE,CAAC,cAAD,CAFZ;AAGEC,IAAAA,OAAO,EAAE,CAAC,aAAD,CAHX;AAIEC,IAAAA,UAAU,EAAE,CAAC,gBAAD,CAJd;AAKEC,IAAAA,MAAM,EAAE,CAAC,YAAD,CALV;AAMEC,IAAAA,SAAS,EAAE,CAAC,eAAD;AANb,GAFC,EAUDrB,gBAVC,EAWDe,QAXC,CAzCJ;AAqDC,KAAG,4BACD,qBADC,EAED;AACEC,IAAAA,KAAK,EAAE,CAAC,iBAAD,EAAoB,0BAApB,CADT;AAEEC,IAAAA,QAAQ,EAAE,CAAC,oBAAD,EAAuB,6BAAvB,CAFZ;AAGEC,IAAAA,OAAO,EAAE,CAAC,mBAAD,EAAsB,4BAAtB,CAHX;AAIEC,IAAAA,UAAU,EAAE,CAAC,sBAAD,EAAyB,+BAAzB,CAJd;AAKEC,IAAAA,MAAM,EAAE,CAAC,kBAAD,EAAqB,2BAArB,CALV;AAMEC,IAAAA,SAAS,EAAE,CAAC,qBAAD,EAAwB,8BAAxB;AANb,GAFC,EAUDhB,eAVC,EAWDU,QAXC,CArDJ;AAiEC,KAAG,4BACD,oBADC,EAED;AACEC,IAAAA,KAAK,EAAE,CAAC,gBAAD,EAAmB,yBAAnB,CADT;AAEEC,IAAAA,QAAQ,EAAE,CAAC,mBAAD,EAAsB,4BAAtB,CAFZ;AAGEC,IAAAA,OAAO,EAAE,CAAC,kBAAD,EAAqB,2BAArB,CAHX;AAIEC,IAAAA,UAAU,EAAE,CAAC,qBAAD,EAAwB,8BAAxB,CAJd;AAKEC,IAAAA,MAAM,EAAE,CAAC,iBAAD,EAAoB,0BAApB,CALV;AAMEC,IAAAA,SAAS,EAAE,CAAC,oBAAD,EAAuB,6BAAvB;AANb,GAFC,EAUDX,WAVC,EAWDK,QAXC,CAjEJ;AA6EC,KAAG,4BACD,oBADC,EAED;AACEC,IAAAA,KAAK,EAAE,CAAC,gBAAD,EAAmB,yBAAnB,CADT;AAEEC,IAAAA,QAAQ,EAAE,CAAC,mBAAD,EAAsB,4BAAtB,CAFZ;AAGEC,IAAAA,OAAO,EAAE,CAAC,kBAAD,EAAqB,2BAArB,CAHX;AAIEC,IAAAA,UAAU,EAAE,CAAC,qBAAD,EAAwB,8BAAxB,CAJd;AAKEC,IAAAA,MAAM,EAAE,CAAC,iBAAD,EAAoB,0BAApB,CALV;AAMEC,IAAAA,SAAS,EAAE,CAAC,oBAAD,EAAuB,6BAAvB;AANb,GAFC,EAUDX,WAVC,EAWDK,QAXC;AA7EJ,CADoB,CAAhB","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,6 @@
1
+ import type { ReactTestInstance } from 'react-test-renderer';
2
+ import { TextMatch } from '../matches';
3
+ import type { TextMatchOptions } from './byText';
4
+ declare const queryAllByDisplayValue: (instance: ReactTestInstance) => (displayValue: TextMatch, queryOptions?: TextMatchOptions | undefined) => Array<ReactTestInstance>;
5
+ declare const getByDisplayValue: (instance: ReactTestInstance) => (args: TextMatch, queryOptions?: TextMatchOptions | undefined) => ReactTestInstance, getAllByDisplayValue: (instance: ReactTestInstance) => (args: TextMatch, queryOptions?: TextMatchOptions | undefined) => ReactTestInstance[], queryByDisplayValue: (instance: ReactTestInstance) => (args: TextMatch, queryOptions?: TextMatchOptions | undefined) => ReactTestInstance | null, findByDisplayValue: (instance: ReactTestInstance) => (args: TextMatch, queryOptions?: (TextMatchOptions & import("../waitFor").WaitForOptions) | undefined, waitForOptions?: import("../waitFor").WaitForOptions | undefined) => Promise<ReactTestInstance>, findAllByDisplayValue: (instance: ReactTestInstance) => (args: TextMatch, queryOptions?: (TextMatchOptions & import("../waitFor").WaitForOptions) | undefined, waitForOptions?: import("../waitFor").WaitForOptions | undefined) => Promise<ReactTestInstance[]>;
6
+ export { findAllByDisplayValue, findByDisplayValue, getAllByDisplayValue, getByDisplayValue, queryAllByDisplayValue, queryByDisplayValue, };
@@ -51,4 +51,5 @@ exports.findAllByDisplayValue = findAllByDisplayValue;
51
51
  exports.findByDisplayValue = findByDisplayValue;
52
52
  exports.queryByDisplayValue = queryByDisplayValue;
53
53
  exports.getAllByDisplayValue = getAllByDisplayValue;
54
- exports.getByDisplayValue = getByDisplayValue;
54
+ exports.getByDisplayValue = getByDisplayValue;
55
+ //# sourceMappingURL=byDisplayValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/helpers/byDisplayValue.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","getByDisplayValue","getAllBy","getAllByDisplayValue","queryBy","queryByDisplayValue","findBy","findByDisplayValue","findAllBy","findAllByDisplayValue"],"mappings":";;;;;;;AACA;;AACA;;AAEA;;AACA;;AAGA,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;AACJM,EAAAA,KAAK,EAAEC,iBADH;AAEJC,EAAAA,QAAQ,EAAEC,oBAFN;AAGJC,EAAAA,OAAO,EAAEC,mBAHL;AAIJC,EAAAA,MAAM,EAAEC,kBAJJ;AAKJC,EAAAA,SAAS,EAAEC;AALP,IAMkB,8BACtBlB,sBADsB,EAEtBQ,eAFsB,EAGtBF,gBAHsB,CANxB","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport { matches, TextMatch } from '../matches';\nimport { makeQueries } from './makeQueries';\nimport type { Queries } from './makeQueries';\nimport { filterNodeByType } from './filterNodeByType';\nimport { createLibraryNotSupportedError } from './errors';\nimport type { TextMatchOptions } from './byText';\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 {\n getBy: getByDisplayValue,\n getAllBy: getAllByDisplayValue,\n queryBy: queryByDisplayValue,\n findBy: findByDisplayValue,\n findAllBy: findAllByDisplayValue,\n}: Queries<TextMatch> = makeQueries(\n queryAllByDisplayValue,\n getMissingError,\n getMultipleError\n);\n\nexport {\n findAllByDisplayValue,\n findByDisplayValue,\n getAllByDisplayValue,\n getByDisplayValue,\n queryAllByDisplayValue,\n queryByDisplayValue,\n};\n"],"file":"byDisplayValue.js"}
@@ -0,0 +1,6 @@
1
+ import type { ReactTestInstance } from 'react-test-renderer';
2
+ import { TextMatch } from '../matches';
3
+ import type { TextMatchOptions } from './byText';
4
+ declare const queryAllByPlaceholderText: (instance: ReactTestInstance) => (placeholder: TextMatch, queryOptions?: TextMatchOptions | undefined) => Array<ReactTestInstance>;
5
+ declare const getByPlaceholderText: (instance: ReactTestInstance) => (args: TextMatch, queryOptions?: TextMatchOptions | undefined) => ReactTestInstance, getAllByPlaceholderText: (instance: ReactTestInstance) => (args: TextMatch, queryOptions?: TextMatchOptions | undefined) => ReactTestInstance[], queryByPlaceholderText: (instance: ReactTestInstance) => (args: TextMatch, queryOptions?: TextMatchOptions | undefined) => ReactTestInstance | null, findByPlaceholderText: (instance: ReactTestInstance) => (args: TextMatch, queryOptions?: (TextMatchOptions & import("../waitFor").WaitForOptions) | undefined, waitForOptions?: import("../waitFor").WaitForOptions | undefined) => Promise<ReactTestInstance>, findAllByPlaceholderText: (instance: ReactTestInstance) => (args: TextMatch, queryOptions?: (TextMatchOptions & import("../waitFor").WaitForOptions) | undefined, waitForOptions?: import("../waitFor").WaitForOptions | undefined) => Promise<ReactTestInstance[]>;
6
+ export { findAllByPlaceholderText, findByPlaceholderText, getAllByPlaceholderText, getByPlaceholderText, queryAllByPlaceholderText, queryByPlaceholderText, };
@@ -50,4 +50,5 @@ exports.findAllByPlaceholderText = findAllByPlaceholderText;
50
50
  exports.findByPlaceholderText = findByPlaceholderText;
51
51
  exports.queryByPlaceholderText = queryByPlaceholderText;
52
52
  exports.getAllByPlaceholderText = getAllByPlaceholderText;
53
- exports.getByPlaceholderText = getByPlaceholderText;
53
+ exports.getByPlaceholderText = getByPlaceholderText;
54
+ //# sourceMappingURL=byPlaceholderText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/helpers/byPlaceholderText.ts"],"names":["getTextInputNodeByPlaceholderText","node","placeholder","options","TextInput","require","exact","normalizer","props","error","queryAllByPlaceholderText","instance","queryAllByPlaceholderFn","queryOptions","findAll","getMultipleError","String","getMissingError","getBy","getByPlaceholderText","getAllBy","getAllByPlaceholderText","queryBy","queryByPlaceholderText","findBy","findByPlaceholderText","findAllBy","findAllByPlaceholderText"],"mappings":";;;;;;;AACA;;AACA;;AAEA;;AACA;;AAGA,MAAMA,iCAAiC,GAAG,CACxCC,IADwC,EAExCC,WAFwC,EAGxCC,OAAyB,GAAG,EAHY,KAIrC;AACH,MAAI;AACF,UAAM;AAAEC,MAAAA;AAAF,QAAgBC,OAAO,CAAC,cAAD,CAA7B;;AACA,UAAM;AAAEC,MAAAA,KAAF;AAASC,MAAAA;AAAT,QAAwBJ,OAA9B;AACA,WACE,wCAAiBF,IAAjB,EAAuBG,SAAvB,KACA,sBAAQF,WAAR,EAAqBD,IAAI,CAACO,KAAL,CAAWN,WAAhC,EAA6CK,UAA7C,EAAyDD,KAAzD,CAFF;AAID,GAPD,CAOE,OAAOG,KAAP,EAAc;AACd,UAAM,4CAA+BA,KAA/B,CAAN;AACD;AACF,CAfD;;AAiBA,MAAMC,yBAAyB,GAC7BC,QADgC,IAMhC,SAASC,uBAAT,CAAiCV,WAAjC,EAA8CW,YAA9C,EAA4D;AAC1D,SAAOF,QAAQ,CAACG,OAAT,CAAkBb,IAAD,IACtBD,iCAAiC,CAACC,IAAD,EAAOC,WAAP,EAAoBW,YAApB,CAD5B,CAAP;AAGD,CAVH;;;;AAYA,MAAME,gBAAgB,GAAIb,WAAD,IACtB,6CAA4Cc,MAAM,CAACd,WAAD,CAAc,GADnE;;AAEA,MAAMe,eAAe,GAAIf,WAAD,IACrB,+CAA8Cc,MAAM,CAACd,WAAD,CAAc,EADrE;;AAGA,MAAM;AACJgB,EAAAA,KAAK,EAAEC,oBADH;AAEJC,EAAAA,QAAQ,EAAEC,uBAFN;AAGJC,EAAAA,OAAO,EAAEC,sBAHL;AAIJC,EAAAA,MAAM,EAAEC,qBAJJ;AAKJC,EAAAA,SAAS,EAAEC;AALP,IAMkB,8BACtBjB,yBADsB,EAEtBO,eAFsB,EAGtBF,gBAHsB,CANxB","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport { matches, TextMatch } from '../matches';\nimport { makeQueries } from './makeQueries';\nimport type { Queries } from './makeQueries';\nimport { filterNodeByType } from './filterNodeByType';\nimport { createLibraryNotSupportedError } from './errors';\nimport type { TextMatchOptions } from './byText';\n\nconst getTextInputNodeByPlaceholderText = (\n node: ReactTestInstance,\n placeholder: TextMatch,\n options: TextMatchOptions = {}\n) => {\n try {\n const { TextInput } = require('react-native');\n const { exact, normalizer } = options;\n return (\n filterNodeByType(node, TextInput) &&\n matches(placeholder, node.props.placeholder, normalizer, exact)\n );\n } catch (error) {\n throw createLibraryNotSupportedError(error);\n }\n};\n\nconst queryAllByPlaceholderText = (\n instance: ReactTestInstance\n): ((\n placeholder: TextMatch,\n queryOptions?: TextMatchOptions\n) => Array<ReactTestInstance>) =>\n function queryAllByPlaceholderFn(placeholder, queryOptions) {\n return instance.findAll((node) =>\n getTextInputNodeByPlaceholderText(node, placeholder, queryOptions)\n );\n };\n\nconst getMultipleError = (placeholder: TextMatch) =>\n `Found multiple elements with placeholder: ${String(placeholder)} `;\nconst getMissingError = (placeholder: TextMatch) =>\n `Unable to find an element with placeholder: ${String(placeholder)}`;\n\nconst {\n getBy: getByPlaceholderText,\n getAllBy: getAllByPlaceholderText,\n queryBy: queryByPlaceholderText,\n findBy: findByPlaceholderText,\n findAllBy: findAllByPlaceholderText,\n}: Queries<TextMatch> = makeQueries(\n queryAllByPlaceholderText,\n getMissingError,\n getMultipleError\n);\n\nexport {\n findAllByPlaceholderText,\n findByPlaceholderText,\n getAllByPlaceholderText,\n getByPlaceholderText,\n queryAllByPlaceholderText,\n queryByPlaceholderText,\n};\n"],"file":"byPlaceholderText.js"}
@@ -0,0 +1,6 @@
1
+ import type { ReactTestInstance } from 'react-test-renderer';
2
+ import { TextMatch } from '../matches';
3
+ import type { TextMatchOptions } from './byText';
4
+ declare const queryAllByTestId: (instance: ReactTestInstance) => (testId: TextMatch, queryOptions?: TextMatchOptions | undefined) => Array<ReactTestInstance>;
5
+ declare const getByTestId: (instance: ReactTestInstance) => (args: TextMatch, queryOptions?: TextMatchOptions | undefined) => ReactTestInstance, getAllByTestId: (instance: ReactTestInstance) => (args: TextMatch, queryOptions?: TextMatchOptions | undefined) => ReactTestInstance[], queryByTestId: (instance: ReactTestInstance) => (args: TextMatch, queryOptions?: TextMatchOptions | undefined) => ReactTestInstance | null, findByTestId: (instance: ReactTestInstance) => (args: TextMatch, queryOptions?: (TextMatchOptions & import("../waitFor").WaitForOptions) | undefined, waitForOptions?: import("../waitFor").WaitForOptions | undefined) => Promise<ReactTestInstance>, findAllByTestId: (instance: ReactTestInstance) => (args: TextMatch, queryOptions?: (TextMatchOptions & import("../waitFor").WaitForOptions) | undefined, waitForOptions?: import("../waitFor").WaitForOptions | undefined) => Promise<ReactTestInstance[]>;
6
+ export { findAllByTestId, findByTestId, getAllByTestId, getByTestId, queryAllByTestId, queryByTestId, };
@@ -39,4 +39,5 @@ exports.findAllByTestId = findAllByTestId;
39
39
  exports.findByTestId = findByTestId;
40
40
  exports.queryByTestId = queryByTestId;
41
41
  exports.getAllByTestId = getAllByTestId;
42
- exports.getByTestId = getByTestId;
42
+ exports.getByTestId = getByTestId;
43
+ //# sourceMappingURL=byTestId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/helpers/byTestId.ts"],"names":["getNodeByTestId","node","testID","options","exact","normalizer","props","queryAllByTestId","instance","queryAllByTestIdFn","testId","queryOptions","results","findAll","filter","element","type","getMultipleError","String","getMissingError","getBy","getByTestId","getAllBy","getAllByTestId","queryBy","queryByTestId","findBy","findByTestId","findAllBy","findAllByTestId"],"mappings":";;;;;;;AACA;;AACA;;AAIA,MAAMA,eAAe,GAAG,CACtBC,IADsB,EAEtBC,MAFsB,EAGtBC,OAAyB,GAAG,EAHN,KAInB;AACH,QAAM;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,MAAwBF,OAA9B;AACA,SAAO,sBAAQD,MAAR,EAAgBD,IAAI,CAACK,KAAL,CAAWJ,MAA3B,EAAmCG,UAAnC,EAA+CD,KAA/C,CAAP;AACD,CAPD;;AASA,MAAMG,gBAAgB,GACpBC,QADuB,IAMvB,SAASC,kBAAT,CAA4BC,MAA5B,EAAoCC,YAApC,EAAkD;AAChD,QAAMC,OAAO,GAAGJ,QAAQ,CACrBK,OADa,CACJZ,IAAD,IAAUD,eAAe,CAACC,IAAD,EAAOS,MAAP,EAAeC,YAAf,CADpB,EAEbG,MAFa,CAELC,OAAD,IAAa,OAAOA,OAAO,CAACC,IAAf,KAAwB,QAF/B,CAAhB;AAIA,SAAOJ,OAAP;AACD,CAZH;;;;AAcA,MAAMK,gBAAgB,GAAIP,MAAD,IACtB,wCAAuCQ,MAAM,CAACR,MAAD,CAAS,EADzD;;AAEA,MAAMS,eAAe,GAAIT,MAAD,IACrB,0CAAyCQ,MAAM,CAACR,MAAD,CAAS,EAD3D;;AAGA,MAAM;AACJU,EAAAA,KAAK,EAAEC,WADH;AAEJC,EAAAA,QAAQ,EAAEC,cAFN;AAGJC,EAAAA,OAAO,EAAEC,aAHL;AAIJC,EAAAA,MAAM,EAAEC,YAJJ;AAKJC,EAAAA,SAAS,EAAEC;AALP,IAMkB,8BACtBtB,gBADsB,EAEtBY,eAFsB,EAGtBF,gBAHsB,CANxB","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport { matches, TextMatch } from '../matches';\nimport { makeQueries } from './makeQueries';\nimport type { Queries } from './makeQueries';\nimport type { TextMatchOptions } from './byText';\n\nconst getNodeByTestId = (\n node: ReactTestInstance,\n testID: TextMatch,\n options: TextMatchOptions = {}\n) => {\n const { exact, normalizer } = options;\n return matches(testID, node.props.testID, normalizer, exact);\n};\n\nconst queryAllByTestId = (\n instance: ReactTestInstance\n): ((\n testId: TextMatch,\n queryOptions?: TextMatchOptions\n) => Array<ReactTestInstance>) =>\n function queryAllByTestIdFn(testId, queryOptions) {\n const results = instance\n .findAll((node) => getNodeByTestId(node, testId, queryOptions))\n .filter((element) => typeof element.type === 'string');\n\n return results;\n };\n\nconst getMultipleError = (testId: TextMatch) =>\n `Found multiple elements with testID: ${String(testId)}`;\nconst getMissingError = (testId: TextMatch) =>\n `Unable to find an element with testID: ${String(testId)}`;\n\nconst {\n getBy: getByTestId,\n getAllBy: getAllByTestId,\n queryBy: queryByTestId,\n findBy: findByTestId,\n findAllBy: findAllByTestId,\n}: Queries<TextMatch> = makeQueries(\n queryAllByTestId,\n getMissingError,\n getMultipleError\n);\n\nexport {\n findAllByTestId,\n findByTestId,\n getAllByTestId,\n getByTestId,\n queryAllByTestId,\n queryByTestId,\n};\n"],"file":"byTestId.js"}
@@ -0,0 +1,10 @@
1
+ import type { ReactTestInstance } from 'react-test-renderer';
2
+ import { TextMatch } from '../matches';
3
+ import type { NormalizerFn } from '../matches';
4
+ export declare type TextMatchOptions = {
5
+ exact?: boolean;
6
+ normalizer?: NormalizerFn;
7
+ };
8
+ declare const queryAllByText: (instance: ReactTestInstance) => (text: TextMatch, queryOptions?: TextMatchOptions | undefined) => Array<ReactTestInstance>;
9
+ declare const getByText: (instance: ReactTestInstance) => (args: TextMatch, queryOptions?: TextMatchOptions | undefined) => ReactTestInstance, getAllByText: (instance: ReactTestInstance) => (args: TextMatch, queryOptions?: TextMatchOptions | undefined) => ReactTestInstance[], queryByText: (instance: ReactTestInstance) => (args: TextMatch, queryOptions?: TextMatchOptions | undefined) => ReactTestInstance | null, findByText: (instance: ReactTestInstance) => (args: TextMatch, queryOptions?: (TextMatchOptions & import("../waitFor").WaitForOptions) | undefined, waitForOptions?: import("../waitFor").WaitForOptions | undefined) => Promise<ReactTestInstance>, findAllByText: (instance: ReactTestInstance) => (args: TextMatch, queryOptions?: (TextMatchOptions & import("../waitFor").WaitForOptions) | undefined, waitForOptions?: import("../waitFor").WaitForOptions | undefined) => Promise<ReactTestInstance[]>;
10
+ export { findAllByText, findByText, getAllByText, getByText, queryAllByText, queryByText, };
@@ -15,9 +15,9 @@ var _filterNodeByType = require("./filterNodeByType");
15
15
 
16
16
  var _errors = require("./errors");
17
17
 
18
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
19
 
20
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
21
 
22
22
  const getChildrenAsText = (children, TextComponent) => {
23
23
  const textContent = [];
@@ -39,11 +39,13 @@ const getChildrenAsText = (children, TextComponent) => {
39
39
  // has no text. In such situations, react-test-renderer will traverse down
40
40
  // this tree in a separate call and run this query again. As a result, the
41
41
  // query will match the deepest text node that matches requested text.
42
- if ((0, _filterNodeByType.filterNodeByType)(child, TextComponent) && textContent.length === 0) {
42
+ if ((0, _filterNodeByType.filterNodeByType)(child, TextComponent)) {
43
43
  return;
44
44
  }
45
45
 
46
- getChildrenAsText(child.props.children, TextComponent);
46
+ if ((0, _filterNodeByType.filterNodeByType)(child, React.Fragment)) {
47
+ textContent.push(...getChildrenAsText(child.props.children, TextComponent));
48
+ }
47
49
  }
48
50
  });
49
51
  return textContent;
@@ -98,4 +100,5 @@ exports.findAllByText = findAllByText;
98
100
  exports.findByText = findByText;
99
101
  exports.queryByText = queryByText;
100
102
  exports.getAllByText = getAllByText;
101
- exports.getByText = getByText;
103
+ exports.getByText = getByText;
104
+ //# sourceMappingURL=byText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/helpers/byText.ts"],"names":["getChildrenAsText","children","TextComponent","textContent","React","Children","forEach","child","push","toString","props","Fragment","getNodeByText","node","text","options","Text","require","isTextComponent","textChildren","textToTest","join","exact","normalizer","error","queryAllByText","instance","queryAllByTextFn","queryOptions","results","findAll","getMultipleError","String","getMissingError","getBy","getByText","getAllBy","getAllByText","queryBy","queryByText","findBy","findByText","findAllBy","findAllByText"],"mappings":";;;;;;;AACA;;AACA;;AAEA;;AAEA;;AACA;;;;;;AAOA,MAAMA,iBAAiB,GAAG,CACxBC,QADwB,EAExBC,aAFwB,KAGrB;AACH,QAAMC,WAAqB,GAAG,EAA9B;AACAC,EAAAA,KAAK,CAACC,QAAN,CAAeC,OAAf,CAAuBL,QAAvB,EAAkCM,KAAD,IAAW;AAAA;;AAC1C,QAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC7BJ,MAAAA,WAAW,CAACK,IAAZ,CAAiBD,KAAjB;AACA;AACD;;AAED,QAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC7BJ,MAAAA,WAAW,CAACK,IAAZ,CAAiBD,KAAK,CAACE,QAAN,EAAjB;AACA;AACD;;AAED,QAAIF,KAAJ,aAAIA,KAAJ,+BAAIA,KAAK,CAAEG,KAAX,yCAAI,aAAcT,QAAlB,EAA4B;AAC1B;AACA;AACA;AACA;AACA,UAAI,wCAAiBM,KAAjB,EAAwBL,aAAxB,CAAJ,EAA4C;AAC1C;AACD;;AAED,UAAI,wCAAiBK,KAAjB,EAAwBH,KAAK,CAACO,QAA9B,CAAJ,EAA6C;AAC3CR,QAAAA,WAAW,CAACK,IAAZ,CACE,GAAGR,iBAAiB,CAACO,KAAK,CAACG,KAAN,CAAYT,QAAb,EAAuBC,aAAvB,CADtB;AAGD;AACF;AACF,GA1BD;AA4BA,SAAOC,WAAP;AACD,CAlCD;;AAoCA,MAAMS,aAAa,GAAG,CACpBC,IADoB,EAEpBC,IAFoB,EAGpBC,OAAyB,GAAG,EAHR,KAIjB;AACH,MAAI;AACF,UAAM;AAAEC,MAAAA;AAAF,QAAWC,OAAO,CAAC,cAAD,CAAxB;;AACA,UAAMC,eAAe,GAAG,wCAAiBL,IAAjB,EAAuBG,IAAvB,CAAxB;;AACA,QAAIE,eAAJ,EAAqB;AACnB,YAAMC,YAAY,GAAGnB,iBAAiB,CAACa,IAAI,CAACH,KAAL,CAAWT,QAAZ,EAAsBe,IAAtB,CAAtC;;AACA,UAAIG,YAAJ,EAAkB;AAChB,cAAMC,UAAU,GAAGD,YAAY,CAACE,IAAb,CAAkB,EAAlB,CAAnB;AACA,cAAM;AAAEC,UAAAA,KAAF;AAASC,UAAAA;AAAT,YAAwBR,OAA9B;AACA,eAAO,sBAAQD,IAAR,EAAcM,UAAd,EAA0BG,UAA1B,EAAsCD,KAAtC,CAAP;AACD;AACF;;AACD,WAAO,KAAP;AACD,GAZD,CAYE,OAAOE,KAAP,EAAc;AACd,UAAM,4CAA+BA,KAA/B,CAAN;AACD;AACF,CApBD;;AAsBA,MAAMC,cAAc,GAClBC,QADqB,IAMrB,SAASC,gBAAT,CAA0Bb,IAA1B,EAAgCc,YAAhC,EAA8C;AAC5C,QAAMC,OAAO,GAAGH,QAAQ,CAACI,OAAT,CAAkBjB,IAAD,IAC/BD,aAAa,CAACC,IAAD,EAAOC,IAAP,EAAac,YAAb,CADC,CAAhB;AAIA,SAAOC,OAAP;AACD,CAZH;;;;AAcA,MAAME,gBAAgB,GAAIjB,IAAD,IACtB,sCAAqCkB,MAAM,CAAClB,IAAD,CAAO,EADrD;;AAEA,MAAMmB,eAAe,GAAInB,IAAD,IACrB,wCAAuCkB,MAAM,CAAClB,IAAD,CAAO,EADvD;;AAGA,MAAM;AACJoB,EAAAA,KAAK,EAAEC,SADH;AAEJC,EAAAA,QAAQ,EAAEC,YAFN;AAGJC,EAAAA,OAAO,EAAEC,WAHL;AAIJC,EAAAA,MAAM,EAAEC,UAJJ;AAKJC,EAAAA,SAAS,EAAEC;AALP,IAMkB,8BACtBlB,cADsB,EAEtBQ,eAFsB,EAGtBF,gBAHsB,CANxB","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport * as React from 'react';\nimport { matches, TextMatch } from '../matches';\nimport type { NormalizerFn } from '../matches';\nimport { makeQueries } from './makeQueries';\nimport type { Queries } from './makeQueries';\nimport { filterNodeByType } from './filterNodeByType';\nimport { createLibraryNotSupportedError } from './errors';\n\nexport type TextMatchOptions = {\n exact?: boolean;\n normalizer?: NormalizerFn;\n};\n\nconst getChildrenAsText = (\n children: React.ReactChild[],\n TextComponent: React.ComponentType\n) => {\n const textContent: string[] = [];\n React.Children.forEach(children, (child) => {\n if (typeof child === 'string') {\n textContent.push(child);\n return;\n }\n\n if (typeof child === 'number') {\n textContent.push(child.toString());\n return;\n }\n\n if (child?.props?.children) {\n // Bail on traversing text children down the tree if current node (child)\n // has no text. In such situations, react-test-renderer will traverse down\n // this tree in a separate call and run this query again. As a result, the\n // query will match the deepest text node that matches requested text.\n if (filterNodeByType(child, TextComponent)) {\n return;\n }\n\n if (filterNodeByType(child, React.Fragment)) {\n textContent.push(\n ...getChildrenAsText(child.props.children, TextComponent)\n );\n }\n }\n });\n\n return textContent;\n};\n\nconst getNodeByText = (\n node: ReactTestInstance,\n text: TextMatch,\n options: TextMatchOptions = {}\n) => {\n try {\n const { Text } = require('react-native');\n const isTextComponent = filterNodeByType(node, Text);\n if (isTextComponent) {\n const textChildren = getChildrenAsText(node.props.children, Text);\n if (textChildren) {\n const textToTest = textChildren.join('');\n const { exact, normalizer } = options;\n return matches(text, textToTest, normalizer, exact);\n }\n }\n return false;\n } catch (error) {\n throw createLibraryNotSupportedError(error);\n }\n};\n\nconst queryAllByText = (\n instance: ReactTestInstance\n): ((\n text: TextMatch,\n queryOptions?: TextMatchOptions\n) => Array<ReactTestInstance>) =>\n function queryAllByTextFn(text, queryOptions) {\n const results = instance.findAll((node) =>\n getNodeByText(node, text, queryOptions)\n );\n\n return results;\n };\n\nconst getMultipleError = (text: TextMatch) =>\n `Found multiple elements with text: ${String(text)}`;\nconst getMissingError = (text: TextMatch) =>\n `Unable to find an element with text: ${String(text)}`;\n\nconst {\n getBy: getByText,\n getAllBy: getAllByText,\n queryBy: queryByText,\n findBy: findByText,\n findAllBy: findAllByText,\n}: Queries<TextMatch> = makeQueries(\n queryAllByText,\n getMissingError,\n getMultipleError\n);\n\nexport {\n findAllByText,\n findByText,\n getAllByText,\n getByText,\n queryAllByText,\n queryByText,\n};\n"],"file":"byText.js"}
@@ -0,0 +1,5 @@
1
+ import type { ReactTestRendererJSON } from 'react-test-renderer';
2
+ /**
3
+ * Log pretty-printed deep test component instance
4
+ */
5
+ export default function debugDeep(instance: ReactTestRendererJSON | ReactTestRendererJSON[], message?: string): void;
@@ -14,8 +14,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
14
14
  */
15
15
  function debugDeep(instance, message) {
16
16
  if (message) {
17
+ // eslint-disable-next-line no-console
17
18
  console.log(`${message}\n\n`, (0, _format.default)(instance));
18
19
  } else {
20
+ // eslint-disable-next-line no-console
19
21
  console.log((0, _format.default)(instance));
20
22
  }
21
- }
23
+ }
24
+ //# sourceMappingURL=debugDeep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/helpers/debugDeep.ts"],"names":["debugDeep","instance","message","console","log"],"mappings":";;;;;;;AACA;;;;AAEA;AACA;AACA;AACe,SAASA,SAAT,CACbC,QADa,EAEbC,OAFa,EAGb;AACA,MAAIA,OAAJ,EAAa;AACX;AACAC,IAAAA,OAAO,CAACC,GAAR,CAAa,GAAEF,OAAQ,MAAvB,EAA8B,qBAAOD,QAAP,CAA9B;AACD,GAHD,MAGO;AACL;AACAE,IAAAA,OAAO,CAACC,GAAR,CAAY,qBAAOH,QAAP,CAAZ;AACD;AACF","sourcesContent":["import type { ReactTestRendererJSON } from 'react-test-renderer';\nimport format from './format';\n\n/**\n * Log pretty-printed deep test component instance\n */\nexport default function debugDeep(\n instance: ReactTestRendererJSON | ReactTestRendererJSON[],\n message?: string\n) {\n if (message) {\n // eslint-disable-next-line no-console\n console.log(`${message}\\n\\n`, format(instance));\n } else {\n // eslint-disable-next-line no-console\n console.log(format(instance));\n }\n}\n"],"file":"debugDeep.js"}
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import type { ReactTestInstance } from 'react-test-renderer';
3
+ /**
4
+ * Log pretty-printed shallow test component instance
5
+ */
6
+ export default function debugShallow(instance: ReactTestInstance | React.ReactElement<any>, message?: string): void;
@@ -5,18 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = debugShallow;
7
7
 
8
- var React = _interopRequireWildcard(require("react"));
9
-
10
8
  var _shallow = require("../shallow");
11
9
 
12
10
  var _format = _interopRequireDefault(require("./format"));
13
11
 
14
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
13
 
16
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
17
-
18
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
-
20
14
  /**
21
15
  * Log pretty-printed shallow test component instance
22
16
  */
@@ -26,8 +20,11 @@ function debugShallow(instance, message) {
26
20
  } = (0, _shallow.shallowInternal)(instance);
27
21
 
28
22
  if (message) {
23
+ // eslint-disable-next-line no-console
29
24
  console.log(`${message}\n\n`, (0, _format.default)(output));
30
25
  } else {
26
+ // eslint-disable-next-line no-console
31
27
  console.log((0, _format.default)(output));
32
28
  }
33
- }
29
+ }
30
+ //# sourceMappingURL=debugShallow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/helpers/debugShallow.ts"],"names":["debugShallow","instance","message","output","console","log"],"mappings":";;;;;;;AAEA;;AACA;;;;AAEA;AACA;AACA;AACe,SAASA,YAAT,CACbC,QADa,EAEbC,OAFa,EAGb;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAa,8BAAgBF,QAAhB,CAAnB;;AAEA,MAAIC,OAAJ,EAAa;AACX;AACAE,IAAAA,OAAO,CAACC,GAAR,CAAa,GAAEH,OAAQ,MAAvB,EAA8B,qBAAOC,MAAP,CAA9B;AACD,GAHD,MAGO;AACL;AACAC,IAAAA,OAAO,CAACC,GAAR,CAAY,qBAAOF,MAAP,CAAZ;AACD;AACF","sourcesContent":["import * as React from 'react';\nimport type { ReactTestInstance } from 'react-test-renderer';\nimport { shallowInternal } from '../shallow';\nimport format from './format';\n\n/**\n * Log pretty-printed shallow test component instance\n */\nexport default function debugShallow(\n instance: ReactTestInstance | React.ReactElement<any>,\n message?: string\n) {\n const { output } = shallowInternal(instance);\n\n if (message) {\n // eslint-disable-next-line no-console\n console.log(`${message}\\n\\n`, format(output));\n } else {\n // eslint-disable-next-line no-console\n console.log(format(output));\n }\n}\n"],"file":"debugShallow.js"}
@@ -0,0 +1,10 @@
1
+ export declare class ErrorWithStack extends Error {
2
+ constructor(message: string | undefined, callsite: Function);
3
+ }
4
+ export declare const createLibraryNotSupportedError: (error: unknown) => Error;
5
+ export declare const prepareErrorMessage: (error: unknown, name?: string | undefined, value?: unknown) => string;
6
+ export declare const createQueryByError: (error: NonNullable<unknown>, callsite: Function) => null;
7
+ export declare function copyStackTrace(target: unknown, stackTraceSource: Error): void;
8
+ export declare function printDeprecationWarning(functionName: string): void;
9
+ export declare function throwRemovedFunctionError(functionName: string, docsRef: string): void;
10
+ export declare function throwRenamedFunctionError(functionName: string, newFunctionName: string): void;