@testing-library/react-native 11.3.0 → 11.4.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 (97) hide show
  1. package/README.md +3 -0
  2. package/build/act.js +9 -15
  3. package/build/act.js.map +1 -1
  4. package/build/cleanup.js +0 -4
  5. package/build/cleanup.js.map +1 -1
  6. package/build/config.d.ts +5 -0
  7. package/build/config.js +4 -5
  8. package/build/config.js.map +1 -1
  9. package/build/fireEvent.js +3 -31
  10. package/build/fireEvent.js.map +1 -1
  11. package/build/flushMicroTasks.js +0 -3
  12. package/build/flushMicroTasks.js.map +1 -1
  13. package/build/helpers/accessiblity.d.ts +3 -0
  14. package/build/helpers/accessiblity.js +14 -20
  15. package/build/helpers/accessiblity.js.map +1 -1
  16. package/build/helpers/component-tree.js +6 -27
  17. package/build/helpers/component-tree.js.map +1 -1
  18. package/build/helpers/debugDeep.d.ts +5 -1
  19. package/build/helpers/debugDeep.js +7 -6
  20. package/build/helpers/debugDeep.js.map +1 -1
  21. package/build/helpers/debugShallow.js +0 -5
  22. package/build/helpers/debugShallow.js.map +1 -1
  23. package/build/helpers/errors.js +4 -25
  24. package/build/helpers/errors.js.map +1 -1
  25. package/build/helpers/filterNodeByType.js +0 -2
  26. package/build/helpers/filterNodeByType.js.map +1 -1
  27. package/build/helpers/format.d.ts +5 -1
  28. package/build/helpers/format.js +17 -7
  29. package/build/helpers/format.js.map +1 -1
  30. package/build/helpers/matchers/accessibilityState.d.ts +3 -0
  31. package/build/helpers/matchers/accessibilityState.js +28 -0
  32. package/build/helpers/matchers/accessibilityState.js.map +1 -0
  33. package/build/helpers/matchers/matchArrayProp.js +0 -3
  34. package/build/helpers/matchers/matchArrayProp.js.map +1 -1
  35. package/build/helpers/matchers/matchObjectProp.js +0 -2
  36. package/build/helpers/matchers/matchObjectProp.js.map +1 -1
  37. package/build/helpers/matchers/matchStringProp.js +0 -3
  38. package/build/helpers/matchers/matchStringProp.js.map +1 -1
  39. package/build/helpers/stringValidation.js +0 -7
  40. package/build/helpers/stringValidation.js.map +1 -1
  41. package/build/helpers/timers.js +10 -21
  42. package/build/helpers/timers.js.map +1 -1
  43. package/build/index.flow.js +66 -21
  44. package/build/index.js +0 -6
  45. package/build/index.js.map +1 -1
  46. package/build/matches.js +2 -4
  47. package/build/matches.js.map +1 -1
  48. package/build/pure.js +0 -13
  49. package/build/pure.js.map +1 -1
  50. package/build/queries/a11yState.js +15 -13
  51. package/build/queries/a11yState.js.map +1 -1
  52. package/build/queries/a11yValue.js +0 -8
  53. package/build/queries/a11yValue.js.map +1 -1
  54. package/build/queries/displayValue.js +0 -11
  55. package/build/queries/displayValue.js.map +1 -1
  56. package/build/queries/hintText.d.ts +19 -18
  57. package/build/queries/hintText.js +10 -11
  58. package/build/queries/hintText.js.map +1 -1
  59. package/build/queries/labelText.d.ts +7 -6
  60. package/build/queries/labelText.js +10 -11
  61. package/build/queries/labelText.js.map +1 -1
  62. package/build/queries/makeQueries.d.ts +3 -3
  63. package/build/queries/makeQueries.js +40 -24
  64. package/build/queries/makeQueries.js.map +1 -1
  65. package/build/queries/placeholderText.js +0 -11
  66. package/build/queries/placeholderText.js.map +1 -1
  67. package/build/queries/role.d.ts +3 -2
  68. package/build/queries/role.js +23 -13
  69. package/build/queries/role.js.map +1 -1
  70. package/build/queries/testId.js +0 -9
  71. package/build/queries/testId.js.map +1 -1
  72. package/build/queries/text.js +0 -24
  73. package/build/queries/text.js.map +1 -1
  74. package/build/queries/unsafeProps.js +2 -11
  75. package/build/queries/unsafeProps.js.map +1 -1
  76. package/build/queries/unsafeType.js +2 -9
  77. package/build/queries/unsafeType.js.map +1 -1
  78. package/build/react-versions.js +0 -4
  79. package/build/react-versions.js.map +1 -1
  80. package/build/render.d.ts +32 -31
  81. package/build/render.js +21 -31
  82. package/build/render.js.map +1 -1
  83. package/build/renderHook.js +2 -12
  84. package/build/renderHook.js.map +1 -1
  85. package/build/screen.js +0 -6
  86. package/build/screen.js.map +1 -1
  87. package/build/shallow.js +0 -6
  88. package/build/shallow.js.map +1 -1
  89. package/build/waitFor.js +29 -52
  90. package/build/waitFor.js.map +1 -1
  91. package/build/waitForElementToBeRemoved.js +2 -11
  92. package/build/waitForElementToBeRemoved.js.map +1 -1
  93. package/build/within.d.ts +30 -30
  94. package/build/within.js +2 -14
  95. package/build/within.js.map +1 -1
  96. package/package.json +9 -8
  97. package/typings/index.flow.js +66 -21
@@ -4,23 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.bindByTextQueries = void 0;
7
-
8
7
  var _reactNative = require("react-native");
9
-
10
8
  var React = _interopRequireWildcard(require("react"));
11
-
12
9
  var _filterNodeByType = require("../helpers/filterNodeByType");
13
-
14
10
  var _componentTree = require("../helpers/component-tree");
15
-
16
11
  var _matches = require("../matches");
17
-
18
12
  var _makeQueries = require("./makeQueries");
19
-
20
13
  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); }
21
-
22
14
  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; }
23
-
24
15
  const getChildrenAsText = children => {
25
16
  const textContent = [];
26
17
  React.Children.forEach(children, child => {
@@ -28,12 +19,10 @@ const getChildrenAsText = children => {
28
19
  textContent.push(child);
29
20
  return;
30
21
  }
31
-
32
22
  if (typeof child === 'number') {
33
23
  textContent.push(child.toString());
34
24
  return;
35
25
  }
36
-
37
26
  if (child?.props?.children) {
38
27
  // Bail on traversing text children down the tree if current node (child)
39
28
  // has no text. In such situations, react-test-renderer will traverse down
@@ -42,7 +31,6 @@ const getChildrenAsText = children => {
42
31
  if ((0, _filterNodeByType.filterNodeByType)(child, _reactNative.Text)) {
43
32
  return;
44
33
  }
45
-
46
34
  if ((0, _filterNodeByType.filterNodeByType)(child, React.Fragment)) {
47
35
  textContent.push(...getChildrenAsText(child.props.children));
48
36
  }
@@ -50,13 +38,10 @@ const getChildrenAsText = children => {
50
38
  });
51
39
  return textContent;
52
40
  };
53
-
54
41
  const getNodeByText = (node, text, options = {}) => {
55
42
  const isTextComponent = (0, _filterNodeByType.filterNodeByType)(node, _reactNative.Text);
56
-
57
43
  if (isTextComponent) {
58
44
  const textChildren = getChildrenAsText(node.props.children);
59
-
60
45
  if (textChildren) {
61
46
  const textToTest = textChildren.join('');
62
47
  const {
@@ -66,25 +51,18 @@ const getNodeByText = (node, text, options = {}) => {
66
51
  return (0, _matches.matches)(text, textToTest, normalizer, exact);
67
52
  }
68
53
  }
69
-
70
54
  return false;
71
55
  };
72
-
73
56
  const queryAllByText = instance => function queryAllByTextFn(text, options) {
74
57
  const baseInstance = (0, _componentTree.isHostElementForType)(instance, _reactNative.Text) ? (0, _componentTree.getCompositeParentOfType)(instance, _reactNative.Text) : instance;
75
-
76
58
  if (!baseInstance) {
77
59
  return [];
78
60
  }
79
-
80
61
  const results = baseInstance.findAll(node => getNodeByText(node, text, options));
81
62
  return results;
82
63
  };
83
-
84
64
  const getMultipleError = text => `Found multiple elements with text: ${String(text)}`;
85
-
86
65
  const getMissingError = text => `Unable to find an element with text: ${String(text)}`;
87
-
88
66
  const {
89
67
  getBy,
90
68
  getAllBy,
@@ -93,7 +71,6 @@ const {
93
71
  findBy,
94
72
  findAllBy
95
73
  } = (0, _makeQueries.makeQueries)(queryAllByText, getMissingError, getMultipleError);
96
-
97
74
  const bindByTextQueries = instance => ({
98
75
  getByText: getBy(instance),
99
76
  getAllByText: getAllBy(instance),
@@ -102,6 +79,5 @@ const bindByTextQueries = instance => ({
102
79
  findByText: findBy(instance),
103
80
  findAllByText: findAllBy(instance)
104
81
  });
105
-
106
82
  exports.bindByTextQueries = bindByTextQueries;
107
83
  //# sourceMappingURL=text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","names":["getChildrenAsText","children","textContent","React","Children","forEach","child","push","toString","props","filterNodeByType","Text","Fragment","getNodeByText","node","text","options","isTextComponent","textChildren","textToTest","join","exact","normalizer","matches","queryAllByText","instance","queryAllByTextFn","baseInstance","isHostElementForType","getCompositeParentOfType","results","findAll","getMultipleError","String","getMissingError","getBy","getAllBy","queryBy","queryAllBy","findBy","findAllBy","makeQueries","bindByTextQueries","getByText","getAllByText","queryByText","findByText","findAllByText"],"sources":["../../src/queries/text.ts"],"sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport { Text } from 'react-native';\nimport * as React from 'react';\nimport { filterNodeByType } from '../helpers/filterNodeByType';\nimport {\n isHostElementForType,\n getCompositeParentOfType,\n} from '../helpers/component-tree';\nimport { matches, TextMatch } from '../matches';\nimport type { NormalizerFn } from '../matches';\nimport { makeQueries } from './makeQueries';\nimport type {\n FindAllByQuery,\n FindByQuery,\n GetAllByQuery,\n GetByQuery,\n QueryAllByQuery,\n QueryByQuery,\n} from './makeQueries';\n\nexport type TextMatchOptions = {\n exact?: boolean;\n normalizer?: NormalizerFn;\n};\n\nconst getChildrenAsText = (children: React.ReactChild[]) => {\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, Text)) {\n return;\n }\n\n if (filterNodeByType(child, React.Fragment)) {\n textContent.push(...getChildrenAsText(child.props.children));\n }\n }\n });\n\n return textContent;\n};\n\nconst getNodeByText = (\n node: ReactTestInstance,\n text: TextMatch,\n options: TextMatchOptions = {}\n) => {\n const isTextComponent = filterNodeByType(node, Text);\n if (isTextComponent) {\n const textChildren = getChildrenAsText(node.props.children);\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};\n\nconst queryAllByText = (\n instance: ReactTestInstance\n): ((\n text: TextMatch,\n options?: TextMatchOptions\n) => Array<ReactTestInstance>) =>\n function queryAllByTextFn(text, options) {\n const baseInstance = isHostElementForType(instance, Text)\n ? getCompositeParentOfType(instance, Text)\n : instance;\n\n if (!baseInstance) {\n return [];\n }\n\n const results = baseInstance.findAll((node) =>\n getNodeByText(node, text, options)\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 { getBy, getAllBy, queryBy, queryAllBy, findBy, findAllBy } = makeQueries(\n queryAllByText,\n getMissingError,\n getMultipleError\n);\n\nexport type ByTextQueries = {\n getByText: GetByQuery<TextMatch, TextMatchOptions>;\n getAllByText: GetAllByQuery<TextMatch, TextMatchOptions>;\n queryByText: QueryByQuery<TextMatch, TextMatchOptions>;\n queryAllByText: QueryAllByQuery<TextMatch, TextMatchOptions>;\n findByText: FindByQuery<TextMatch, TextMatchOptions>;\n findAllByText: FindAllByQuery<TextMatch, TextMatchOptions>;\n};\n\nexport const bindByTextQueries = (\n instance: ReactTestInstance\n): ByTextQueries => ({\n getByText: getBy(instance),\n getAllByText: getAllBy(instance),\n queryByText: queryBy(instance),\n queryAllByText: queryAllBy(instance),\n findByText: findBy(instance),\n findAllByText: findAllBy(instance),\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"text.js","names":["getChildrenAsText","children","textContent","React","Children","forEach","child","push","toString","props","filterNodeByType","Text","Fragment","getNodeByText","node","text","options","isTextComponent","textChildren","textToTest","join","exact","normalizer","matches","queryAllByText","instance","queryAllByTextFn","baseInstance","isHostElementForType","getCompositeParentOfType","results","findAll","getMultipleError","String","getMissingError","getBy","getAllBy","queryBy","queryAllBy","findBy","findAllBy","makeQueries","bindByTextQueries","getByText","getAllByText","queryByText","findByText","findAllByText"],"sources":["../../src/queries/text.ts"],"sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport { Text } from 'react-native';\nimport * as React from 'react';\nimport { filterNodeByType } from '../helpers/filterNodeByType';\nimport {\n isHostElementForType,\n getCompositeParentOfType,\n} from '../helpers/component-tree';\nimport { matches, TextMatch } from '../matches';\nimport type { NormalizerFn } from '../matches';\nimport { makeQueries } from './makeQueries';\nimport type {\n FindAllByQuery,\n FindByQuery,\n GetAllByQuery,\n GetByQuery,\n QueryAllByQuery,\n QueryByQuery,\n} from './makeQueries';\n\nexport type TextMatchOptions = {\n exact?: boolean;\n normalizer?: NormalizerFn;\n};\n\nconst getChildrenAsText = (children: React.ReactChild[]) => {\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, Text)) {\n return;\n }\n\n if (filterNodeByType(child, React.Fragment)) {\n textContent.push(...getChildrenAsText(child.props.children));\n }\n }\n });\n\n return textContent;\n};\n\nconst getNodeByText = (\n node: ReactTestInstance,\n text: TextMatch,\n options: TextMatchOptions = {}\n) => {\n const isTextComponent = filterNodeByType(node, Text);\n if (isTextComponent) {\n const textChildren = getChildrenAsText(node.props.children);\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};\n\nconst queryAllByText = (\n instance: ReactTestInstance\n): ((\n text: TextMatch,\n options?: TextMatchOptions\n) => Array<ReactTestInstance>) =>\n function queryAllByTextFn(text, options) {\n const baseInstance = isHostElementForType(instance, Text)\n ? getCompositeParentOfType(instance, Text)\n : instance;\n\n if (!baseInstance) {\n return [];\n }\n\n const results = baseInstance.findAll((node) =>\n getNodeByText(node, text, options)\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 { getBy, getAllBy, queryBy, queryAllBy, findBy, findAllBy } = makeQueries(\n queryAllByText,\n getMissingError,\n getMultipleError\n);\n\nexport type ByTextQueries = {\n getByText: GetByQuery<TextMatch, TextMatchOptions>;\n getAllByText: GetAllByQuery<TextMatch, TextMatchOptions>;\n queryByText: QueryByQuery<TextMatch, TextMatchOptions>;\n queryAllByText: QueryAllByQuery<TextMatch, TextMatchOptions>;\n findByText: FindByQuery<TextMatch, TextMatchOptions>;\n findAllByText: FindAllByQuery<TextMatch, TextMatchOptions>;\n};\n\nexport const bindByTextQueries = (\n instance: ReactTestInstance\n): ByTextQueries => ({\n getByText: getBy(instance),\n getAllByText: getAllBy(instance),\n queryByText: queryBy(instance),\n queryAllByText: queryAllBy(instance),\n findByText: findBy(instance),\n findAllByText: findAllBy(instance),\n});\n"],"mappings":";;;;;;AACA;AACA;AACA;AACA;AAIA;AAEA;AAA4C;AAAA;AAe5C,MAAMA,iBAAiB,GAAIC,QAA4B,IAAK;EAC1D,MAAMC,WAAqB,GAAG,EAAE;EAChCC,KAAK,CAACC,QAAQ,CAACC,OAAO,CAACJ,QAAQ,EAAGK,KAAK,IAAK;IAC1C,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7BJ,WAAW,CAACK,IAAI,CAACD,KAAK,CAAC;MACvB;IACF;IAEA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7BJ,WAAW,CAACK,IAAI,CAACD,KAAK,CAACE,QAAQ,EAAE,CAAC;MAClC;IACF;IAEA,IAAIF,KAAK,EAAEG,KAAK,EAAER,QAAQ,EAAE;MAC1B;MACA;MACA;MACA;MACA,IAAI,IAAAS,kCAAgB,EAACJ,KAAK,EAAEK,iBAAI,CAAC,EAAE;QACjC;MACF;MAEA,IAAI,IAAAD,kCAAgB,EAACJ,KAAK,EAAEH,KAAK,CAACS,QAAQ,CAAC,EAAE;QAC3CV,WAAW,CAACK,IAAI,CAAC,GAAGP,iBAAiB,CAACM,KAAK,CAACG,KAAK,CAACR,QAAQ,CAAC,CAAC;MAC9D;IACF;EACF,CAAC,CAAC;EAEF,OAAOC,WAAW;AACpB,CAAC;AAED,MAAMW,aAAa,GAAG,CACpBC,IAAuB,EACvBC,IAAe,EACfC,OAAyB,GAAG,CAAC,CAAC,KAC3B;EACH,MAAMC,eAAe,GAAG,IAAAP,kCAAgB,EAACI,IAAI,EAAEH,iBAAI,CAAC;EACpD,IAAIM,eAAe,EAAE;IACnB,MAAMC,YAAY,GAAGlB,iBAAiB,CAACc,IAAI,CAACL,KAAK,CAACR,QAAQ,CAAC;IAC3D,IAAIiB,YAAY,EAAE;MAChB,MAAMC,UAAU,GAAGD,YAAY,CAACE,IAAI,CAAC,EAAE,CAAC;MACxC,MAAM;QAAEC,KAAK;QAAEC;MAAW,CAAC,GAAGN,OAAO;MACrC,OAAO,IAAAO,gBAAO,EAACR,IAAI,EAAEI,UAAU,EAAEG,UAAU,EAAED,KAAK,CAAC;IACrD;EACF;EACA,OAAO,KAAK;AACd,CAAC;AAED,MAAMG,cAAc,GAClBC,QAA2B,IAK3B,SAASC,gBAAgB,CAACX,IAAI,EAAEC,OAAO,EAAE;EACvC,MAAMW,YAAY,GAAG,IAAAC,mCAAoB,EAACH,QAAQ,EAAEd,iBAAI,CAAC,GACrD,IAAAkB,uCAAwB,EAACJ,QAAQ,EAAEd,iBAAI,CAAC,GACxCc,QAAQ;EAEZ,IAAI,CAACE,YAAY,EAAE;IACjB,OAAO,EAAE;EACX;EAEA,MAAMG,OAAO,GAAGH,YAAY,CAACI,OAAO,CAAEjB,IAAI,IACxCD,aAAa,CAACC,IAAI,EAAEC,IAAI,EAAEC,OAAO,CAAC,CACnC;EAED,OAAOc,OAAO;AAChB,CAAC;AAEH,MAAME,gBAAgB,GAAIjB,IAAe,IACtC,sCAAqCkB,MAAM,CAAClB,IAAI,CAAE,EAAC;AACtD,MAAMmB,eAAe,GAAInB,IAAe,IACrC,wCAAuCkB,MAAM,CAAClB,IAAI,CAAE,EAAC;AAExD,MAAM;EAAEoB,KAAK;EAAEC,QAAQ;EAAEC,OAAO;EAAEC,UAAU;EAAEC,MAAM;EAAEC;AAAU,CAAC,GAAG,IAAAC,wBAAW,EAC7EjB,cAAc,EACdU,eAAe,EACfF,gBAAgB,CACjB;AAWM,MAAMU,iBAAiB,GAC5BjB,QAA2B,KACR;EACnBkB,SAAS,EAAER,KAAK,CAACV,QAAQ,CAAC;EAC1BmB,YAAY,EAAER,QAAQ,CAACX,QAAQ,CAAC;EAChCoB,WAAW,EAAER,OAAO,CAACZ,QAAQ,CAAC;EAC9BD,cAAc,EAAEc,UAAU,CAACb,QAAQ,CAAC;EACpCqB,UAAU,EAAEP,MAAM,CAACd,QAAQ,CAAC;EAC5BsB,aAAa,EAAEP,SAAS,CAACf,QAAQ;AACnC,CAAC,CAAC;AAAC"}
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.bindUnsafeByPropsQueries = void 0;
7
-
8
7
  var _prettyFormat = _interopRequireDefault(require("pretty-format"));
9
-
10
8
  var _errors = require("../helpers/errors");
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  const UNSAFE_getByProps = instance => function getByPropsFn(props) {
15
11
  try {
16
12
  return instance.findByProps(props);
@@ -18,17 +14,13 @@ const UNSAFE_getByProps = instance => function getByPropsFn(props) {
18
14
  throw new _errors.ErrorWithStack((0, _errors.prepareErrorMessage)(error), getByPropsFn);
19
15
  }
20
16
  };
21
-
22
17
  const UNSAFE_getAllByProps = instance => function getAllByPropsFn(props) {
23
18
  const results = instance.findAllByProps(props);
24
-
25
19
  if (results.length === 0) {
26
20
  throw new _errors.ErrorWithStack(`No instances found with props:\n${(0, _prettyFormat.default)(props)}`, getAllByPropsFn);
27
21
  }
28
-
29
22
  return results;
30
23
  };
31
-
32
24
  const UNSAFE_queryByProps = instance => function queryByPropsFn(props) {
33
25
  try {
34
26
  return UNSAFE_getByProps(instance)(props);
@@ -36,15 +28,15 @@ const UNSAFE_queryByProps = instance => function queryByPropsFn(props) {
36
28
  return (0, _errors.createQueryByError)(error, queryByPropsFn);
37
29
  }
38
30
  };
39
-
40
31
  const UNSAFE_queryAllByProps = instance => props => {
41
32
  try {
42
33
  return UNSAFE_getAllByProps(instance)(props);
43
34
  } catch (error) {
44
35
  return [];
45
36
  }
46
- }; // Unsafe aliases
37
+ };
47
38
 
39
+ // Unsafe aliases
48
40
 
49
41
  // TODO: migrate to makeQueries pattern
50
42
  const bindUnsafeByPropsQueries = instance => ({
@@ -53,6 +45,5 @@ const bindUnsafeByPropsQueries = instance => ({
53
45
  UNSAFE_queryByProps: UNSAFE_queryByProps(instance),
54
46
  UNSAFE_queryAllByProps: UNSAFE_queryAllByProps(instance)
55
47
  });
56
-
57
48
  exports.bindUnsafeByPropsQueries = bindUnsafeByPropsQueries;
58
49
  //# sourceMappingURL=unsafeProps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unsafeProps.js","names":["UNSAFE_getByProps","instance","getByPropsFn","props","findByProps","error","ErrorWithStack","prepareErrorMessage","UNSAFE_getAllByProps","getAllByPropsFn","results","findAllByProps","length","prettyFormat","UNSAFE_queryByProps","queryByPropsFn","createQueryByError","UNSAFE_queryAllByProps","bindUnsafeByPropsQueries"],"sources":["../../src/queries/unsafeProps.ts"],"sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport prettyFormat from 'pretty-format';\nimport { ErrorWithStack, prepareErrorMessage } from '../helpers/errors';\nimport { createQueryByError } from '../helpers/errors';\n\nconst UNSAFE_getByProps = (\n instance: ReactTestInstance\n): ((props: { [propName: string]: any }) => ReactTestInstance) =>\n function getByPropsFn(props: { [propName: string]: any }) {\n try {\n return instance.findByProps(props);\n } catch (error) {\n throw new ErrorWithStack(prepareErrorMessage(error), getByPropsFn);\n }\n };\n\nconst UNSAFE_getAllByProps = (\n instance: ReactTestInstance\n): ((props: { [propName: string]: any }) => Array<ReactTestInstance>) =>\n function getAllByPropsFn(props: { [propName: string]: any }) {\n const results = instance.findAllByProps(props);\n if (results.length === 0) {\n throw new ErrorWithStack(\n `No instances found with props:\\n${prettyFormat(props)}`,\n getAllByPropsFn\n );\n }\n return results;\n };\n\nconst UNSAFE_queryByProps = (\n instance: ReactTestInstance\n): ((props: { [propName: string]: any }) => ReactTestInstance | null) =>\n function queryByPropsFn(props: { [propName: string]: any }) {\n try {\n return UNSAFE_getByProps(instance)(props);\n } catch (error) {\n return createQueryByError(error, queryByPropsFn);\n }\n };\n\nconst UNSAFE_queryAllByProps =\n (\n instance: ReactTestInstance\n ): ((props: { [propName: string]: any }) => Array<ReactTestInstance>) =>\n (props: { [propName: string]: any }) => {\n try {\n return UNSAFE_getAllByProps(instance)(props);\n } catch (error) {\n return [];\n }\n };\n\n// Unsafe aliases\nexport type UnsafeByPropsQueries = {\n UNSAFE_getByProps: (props: { [key: string]: any }) => ReactTestInstance;\n UNSAFE_getAllByProps: (props: {\n [key: string]: any;\n }) => Array<ReactTestInstance>;\n UNSAFE_queryByProps: (props: {\n [key: string]: any;\n }) => ReactTestInstance | null;\n UNSAFE_queryAllByProps: (props: {\n [key: string]: any;\n }) => Array<ReactTestInstance>;\n};\n\n// TODO: migrate to makeQueries pattern\nexport const bindUnsafeByPropsQueries = (\n instance: ReactTestInstance\n): UnsafeByPropsQueries => ({\n UNSAFE_getByProps: UNSAFE_getByProps(instance),\n UNSAFE_getAllByProps: UNSAFE_getAllByProps(instance),\n UNSAFE_queryByProps: UNSAFE_queryByProps(instance),\n UNSAFE_queryAllByProps: UNSAFE_queryAllByProps(instance),\n});\n"],"mappings":";;;;;;;AACA;;AACA;;;;AAGA,MAAMA,iBAAiB,GACrBC,QADwB,IAGxB,SAASC,YAAT,CAAsBC,KAAtB,EAA0D;EACxD,IAAI;IACF,OAAOF,QAAQ,CAACG,WAAT,CAAqBD,KAArB,CAAP;EACD,CAFD,CAEE,OAAOE,KAAP,EAAc;IACd,MAAM,IAAIC,sBAAJ,CAAmB,IAAAC,2BAAA,EAAoBF,KAApB,CAAnB,EAA+CH,YAA/C,CAAN;EACD;AACF,CATH;;AAWA,MAAMM,oBAAoB,GACxBP,QAD2B,IAG3B,SAASQ,eAAT,CAAyBN,KAAzB,EAA6D;EAC3D,MAAMO,OAAO,GAAGT,QAAQ,CAACU,cAAT,CAAwBR,KAAxB,CAAhB;;EACA,IAAIO,OAAO,CAACE,MAAR,KAAmB,CAAvB,EAA0B;IACxB,MAAM,IAAIN,sBAAJ,CACH,mCAAkC,IAAAO,qBAAA,EAAaV,KAAb,CAAoB,EADnD,EAEJM,eAFI,CAAN;EAID;;EACD,OAAOC,OAAP;AACD,CAZH;;AAcA,MAAMI,mBAAmB,GACvBb,QAD0B,IAG1B,SAASc,cAAT,CAAwBZ,KAAxB,EAA4D;EAC1D,IAAI;IACF,OAAOH,iBAAiB,CAACC,QAAD,CAAjB,CAA4BE,KAA5B,CAAP;EACD,CAFD,CAEE,OAAOE,KAAP,EAAc;IACd,OAAO,IAAAW,0BAAA,EAAmBX,KAAnB,EAA0BU,cAA1B,CAAP;EACD;AACF,CATH;;AAWA,MAAME,sBAAsB,GAExBhB,QADF,IAGCE,KAAD,IAAwC;EACtC,IAAI;IACF,OAAOK,oBAAoB,CAACP,QAAD,CAApB,CAA+BE,KAA/B,CAAP;EACD,CAFD,CAEE,OAAOE,KAAP,EAAc;IACd,OAAO,EAAP;EACD;AACF,CAVH,C,CAYA;;;AAcA;AACO,MAAMa,wBAAwB,GACnCjB,QADsC,KAEZ;EAC1BD,iBAAiB,EAAEA,iBAAiB,CAACC,QAAD,CADV;EAE1BO,oBAAoB,EAAEA,oBAAoB,CAACP,QAAD,CAFhB;EAG1Ba,mBAAmB,EAAEA,mBAAmB,CAACb,QAAD,CAHd;EAI1BgB,sBAAsB,EAAEA,sBAAsB,CAAChB,QAAD;AAJpB,CAFY,CAAjC"}
1
+ {"version":3,"file":"unsafeProps.js","names":["UNSAFE_getByProps","instance","getByPropsFn","props","findByProps","error","ErrorWithStack","prepareErrorMessage","UNSAFE_getAllByProps","getAllByPropsFn","results","findAllByProps","length","prettyFormat","UNSAFE_queryByProps","queryByPropsFn","createQueryByError","UNSAFE_queryAllByProps","bindUnsafeByPropsQueries"],"sources":["../../src/queries/unsafeProps.ts"],"sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport prettyFormat from 'pretty-format';\nimport { ErrorWithStack, prepareErrorMessage } from '../helpers/errors';\nimport { createQueryByError } from '../helpers/errors';\n\nconst UNSAFE_getByProps = (\n instance: ReactTestInstance\n): ((props: { [propName: string]: any }) => ReactTestInstance) =>\n function getByPropsFn(props: { [propName: string]: any }) {\n try {\n return instance.findByProps(props);\n } catch (error) {\n throw new ErrorWithStack(prepareErrorMessage(error), getByPropsFn);\n }\n };\n\nconst UNSAFE_getAllByProps = (\n instance: ReactTestInstance\n): ((props: { [propName: string]: any }) => Array<ReactTestInstance>) =>\n function getAllByPropsFn(props: { [propName: string]: any }) {\n const results = instance.findAllByProps(props);\n if (results.length === 0) {\n throw new ErrorWithStack(\n `No instances found with props:\\n${prettyFormat(props)}`,\n getAllByPropsFn\n );\n }\n return results;\n };\n\nconst UNSAFE_queryByProps = (\n instance: ReactTestInstance\n): ((props: { [propName: string]: any }) => ReactTestInstance | null) =>\n function queryByPropsFn(props: { [propName: string]: any }) {\n try {\n return UNSAFE_getByProps(instance)(props);\n } catch (error) {\n return createQueryByError(error, queryByPropsFn);\n }\n };\n\nconst UNSAFE_queryAllByProps =\n (\n instance: ReactTestInstance\n ): ((props: { [propName: string]: any }) => Array<ReactTestInstance>) =>\n (props: { [propName: string]: any }) => {\n try {\n return UNSAFE_getAllByProps(instance)(props);\n } catch (error) {\n return [];\n }\n };\n\n// Unsafe aliases\nexport type UnsafeByPropsQueries = {\n UNSAFE_getByProps: (props: { [key: string]: any }) => ReactTestInstance;\n UNSAFE_getAllByProps: (props: {\n [key: string]: any;\n }) => Array<ReactTestInstance>;\n UNSAFE_queryByProps: (props: {\n [key: string]: any;\n }) => ReactTestInstance | null;\n UNSAFE_queryAllByProps: (props: {\n [key: string]: any;\n }) => Array<ReactTestInstance>;\n};\n\n// TODO: migrate to makeQueries pattern\nexport const bindUnsafeByPropsQueries = (\n instance: ReactTestInstance\n): UnsafeByPropsQueries => ({\n UNSAFE_getByProps: UNSAFE_getByProps(instance),\n UNSAFE_getAllByProps: UNSAFE_getAllByProps(instance),\n UNSAFE_queryByProps: UNSAFE_queryByProps(instance),\n UNSAFE_queryAllByProps: UNSAFE_queryAllByProps(instance),\n});\n"],"mappings":";;;;;;AACA;AACA;AAAwE;AAGxE,MAAMA,iBAAiB,GACrBC,QAA2B,IAE3B,SAASC,YAAY,CAACC,KAAkC,EAAE;EACxD,IAAI;IACF,OAAOF,QAAQ,CAACG,WAAW,CAACD,KAAK,CAAC;EACpC,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,MAAM,IAAIC,sBAAc,CAAC,IAAAC,2BAAmB,EAACF,KAAK,CAAC,EAAEH,YAAY,CAAC;EACpE;AACF,CAAC;AAEH,MAAMM,oBAAoB,GACxBP,QAA2B,IAE3B,SAASQ,eAAe,CAACN,KAAkC,EAAE;EAC3D,MAAMO,OAAO,GAAGT,QAAQ,CAACU,cAAc,CAACR,KAAK,CAAC;EAC9C,IAAIO,OAAO,CAACE,MAAM,KAAK,CAAC,EAAE;IACxB,MAAM,IAAIN,sBAAc,CACrB,mCAAkC,IAAAO,qBAAY,EAACV,KAAK,CAAE,EAAC,EACxDM,eAAe,CAChB;EACH;EACA,OAAOC,OAAO;AAChB,CAAC;AAEH,MAAMI,mBAAmB,GACvBb,QAA2B,IAE3B,SAASc,cAAc,CAACZ,KAAkC,EAAE;EAC1D,IAAI;IACF,OAAOH,iBAAiB,CAACC,QAAQ,CAAC,CAACE,KAAK,CAAC;EAC3C,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,OAAO,IAAAW,0BAAkB,EAACX,KAAK,EAAEU,cAAc,CAAC;EAClD;AACF,CAAC;AAEH,MAAME,sBAAsB,GAExBhB,QAA2B,IAE5BE,KAAkC,IAAK;EACtC,IAAI;IACF,OAAOK,oBAAoB,CAACP,QAAQ,CAAC,CAACE,KAAK,CAAC;EAC9C,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,OAAO,EAAE;EACX;AACF,CAAC;;AAEH;;AAcA;AACO,MAAMa,wBAAwB,GACnCjB,QAA2B,KACD;EAC1BD,iBAAiB,EAAEA,iBAAiB,CAACC,QAAQ,CAAC;EAC9CO,oBAAoB,EAAEA,oBAAoB,CAACP,QAAQ,CAAC;EACpDa,mBAAmB,EAAEA,mBAAmB,CAACb,QAAQ,CAAC;EAClDgB,sBAAsB,EAAEA,sBAAsB,CAAChB,QAAQ;AACzD,CAAC,CAAC;AAAC"}
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.bindUnsafeByTypeQueries = void 0;
7
-
8
7
  var _errors = require("../helpers/errors");
9
-
10
8
  const UNSAFE_getByType = instance => function getByTypeFn(type) {
11
9
  try {
12
10
  return instance.findByType(type);
@@ -14,17 +12,13 @@ const UNSAFE_getByType = instance => function getByTypeFn(type) {
14
12
  throw new _errors.ErrorWithStack((0, _errors.prepareErrorMessage)(error), getByTypeFn);
15
13
  }
16
14
  };
17
-
18
15
  const UNSAFE_getAllByType = instance => function getAllByTypeFn(type) {
19
16
  const results = instance.findAllByType(type);
20
-
21
17
  if (results.length === 0) {
22
18
  throw new _errors.ErrorWithStack('No instances found', getAllByTypeFn);
23
19
  }
24
-
25
20
  return results;
26
21
  };
27
-
28
22
  const UNSAFE_queryByType = instance => function queryByTypeFn(type) {
29
23
  try {
30
24
  return UNSAFE_getByType(instance)(type);
@@ -32,15 +26,15 @@ const UNSAFE_queryByType = instance => function queryByTypeFn(type) {
32
26
  return (0, _errors.createQueryByError)(error, queryByTypeFn);
33
27
  }
34
28
  };
35
-
36
29
  const UNSAFE_queryAllByType = instance => type => {
37
30
  try {
38
31
  return UNSAFE_getAllByType(instance)(type);
39
32
  } catch (error) {
40
33
  return [];
41
34
  }
42
- }; // Unsafe aliases
35
+ };
43
36
 
37
+ // Unsafe aliases
44
38
 
45
39
  // TODO: migrate to makeQueries pattern
46
40
  const bindUnsafeByTypeQueries = instance => ({
@@ -49,6 +43,5 @@ const bindUnsafeByTypeQueries = instance => ({
49
43
  UNSAFE_queryByType: UNSAFE_queryByType(instance),
50
44
  UNSAFE_queryAllByType: UNSAFE_queryAllByType(instance)
51
45
  });
52
-
53
46
  exports.bindUnsafeByTypeQueries = bindUnsafeByTypeQueries;
54
47
  //# sourceMappingURL=unsafeType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unsafeType.js","names":["UNSAFE_getByType","instance","getByTypeFn","type","findByType","error","ErrorWithStack","prepareErrorMessage","UNSAFE_getAllByType","getAllByTypeFn","results","findAllByType","length","UNSAFE_queryByType","queryByTypeFn","createQueryByError","UNSAFE_queryAllByType","bindUnsafeByTypeQueries"],"sources":["../../src/queries/unsafeType.ts"],"sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport * as React from 'react';\nimport { ErrorWithStack, prepareErrorMessage } from '../helpers/errors';\nimport { createQueryByError } from '../helpers/errors';\n\nconst UNSAFE_getByType = (\n instance: ReactTestInstance\n): ((type: React.ComponentType<any>) => ReactTestInstance) =>\n function getByTypeFn(type: React.ComponentType<any>) {\n try {\n return instance.findByType(type);\n } catch (error) {\n throw new ErrorWithStack(prepareErrorMessage(error), getByTypeFn);\n }\n };\n\nconst UNSAFE_getAllByType = (\n instance: ReactTestInstance\n): ((type: React.ComponentType<any>) => Array<ReactTestInstance>) =>\n function getAllByTypeFn(type: React.ComponentType<any>) {\n const results = instance.findAllByType(type);\n if (results.length === 0) {\n throw new ErrorWithStack('No instances found', getAllByTypeFn);\n }\n return results;\n };\n\nconst UNSAFE_queryByType = (\n instance: ReactTestInstance\n): ((type: React.ComponentType<any>) => ReactTestInstance | null) =>\n function queryByTypeFn(type: React.ComponentType<any>) {\n try {\n return UNSAFE_getByType(instance)(type);\n } catch (error) {\n return createQueryByError(error, queryByTypeFn);\n }\n };\n\nconst UNSAFE_queryAllByType =\n (\n instance: ReactTestInstance\n ): ((type: React.ComponentType<any>) => Array<ReactTestInstance>) =>\n (type: React.ComponentType<any>) => {\n try {\n return UNSAFE_getAllByType(instance)(type);\n } catch (error) {\n return [];\n }\n };\n\n// Unsafe aliases\nexport type UnsafeByTypeQueries = {\n UNSAFE_getByType: <P>(type: React.ComponentType<P>) => ReactTestInstance;\n UNSAFE_getAllByType: <P>(\n type: React.ComponentType<P>\n ) => Array<ReactTestInstance>;\n UNSAFE_queryByType: <P>(\n type: React.ComponentType<P>\n ) => ReactTestInstance | null;\n UNSAFE_queryAllByType: <P>(\n type: React.ComponentType<P>\n ) => Array<ReactTestInstance>;\n};\n\n// TODO: migrate to makeQueries pattern\nexport const bindUnsafeByTypeQueries = (\n instance: ReactTestInstance\n): UnsafeByTypeQueries => ({\n UNSAFE_getByType: UNSAFE_getByType(instance),\n UNSAFE_getAllByType: UNSAFE_getAllByType(instance),\n UNSAFE_queryByType: UNSAFE_queryByType(instance),\n UNSAFE_queryAllByType: UNSAFE_queryAllByType(instance),\n});\n"],"mappings":";;;;;;;AAEA;;AAGA,MAAMA,gBAAgB,GACpBC,QADuB,IAGvB,SAASC,WAAT,CAAqBC,IAArB,EAAqD;EACnD,IAAI;IACF,OAAOF,QAAQ,CAACG,UAAT,CAAoBD,IAApB,CAAP;EACD,CAFD,CAEE,OAAOE,KAAP,EAAc;IACd,MAAM,IAAIC,sBAAJ,CAAmB,IAAAC,2BAAA,EAAoBF,KAApB,CAAnB,EAA+CH,WAA/C,CAAN;EACD;AACF,CATH;;AAWA,MAAMM,mBAAmB,GACvBP,QAD0B,IAG1B,SAASQ,cAAT,CAAwBN,IAAxB,EAAwD;EACtD,MAAMO,OAAO,GAAGT,QAAQ,CAACU,aAAT,CAAuBR,IAAvB,CAAhB;;EACA,IAAIO,OAAO,CAACE,MAAR,KAAmB,CAAvB,EAA0B;IACxB,MAAM,IAAIN,sBAAJ,CAAmB,oBAAnB,EAAyCG,cAAzC,CAAN;EACD;;EACD,OAAOC,OAAP;AACD,CATH;;AAWA,MAAMG,kBAAkB,GACtBZ,QADyB,IAGzB,SAASa,aAAT,CAAuBX,IAAvB,EAAuD;EACrD,IAAI;IACF,OAAOH,gBAAgB,CAACC,QAAD,CAAhB,CAA2BE,IAA3B,CAAP;EACD,CAFD,CAEE,OAAOE,KAAP,EAAc;IACd,OAAO,IAAAU,0BAAA,EAAmBV,KAAnB,EAA0BS,aAA1B,CAAP;EACD;AACF,CATH;;AAWA,MAAME,qBAAqB,GAEvBf,QADF,IAGCE,IAAD,IAAoC;EAClC,IAAI;IACF,OAAOK,mBAAmB,CAACP,QAAD,CAAnB,CAA8BE,IAA9B,CAAP;EACD,CAFD,CAEE,OAAOE,KAAP,EAAc;IACd,OAAO,EAAP;EACD;AACF,CAVH,C,CAYA;;;AAcA;AACO,MAAMY,uBAAuB,GAClChB,QADqC,KAEZ;EACzBD,gBAAgB,EAAEA,gBAAgB,CAACC,QAAD,CADT;EAEzBO,mBAAmB,EAAEA,mBAAmB,CAACP,QAAD,CAFf;EAGzBY,kBAAkB,EAAEA,kBAAkB,CAACZ,QAAD,CAHb;EAIzBe,qBAAqB,EAAEA,qBAAqB,CAACf,QAAD;AAJnB,CAFY,CAAhC"}
1
+ {"version":3,"file":"unsafeType.js","names":["UNSAFE_getByType","instance","getByTypeFn","type","findByType","error","ErrorWithStack","prepareErrorMessage","UNSAFE_getAllByType","getAllByTypeFn","results","findAllByType","length","UNSAFE_queryByType","queryByTypeFn","createQueryByError","UNSAFE_queryAllByType","bindUnsafeByTypeQueries"],"sources":["../../src/queries/unsafeType.ts"],"sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport * as React from 'react';\nimport { ErrorWithStack, prepareErrorMessage } from '../helpers/errors';\nimport { createQueryByError } from '../helpers/errors';\n\nconst UNSAFE_getByType = (\n instance: ReactTestInstance\n): ((type: React.ComponentType<any>) => ReactTestInstance) =>\n function getByTypeFn(type: React.ComponentType<any>) {\n try {\n return instance.findByType(type);\n } catch (error) {\n throw new ErrorWithStack(prepareErrorMessage(error), getByTypeFn);\n }\n };\n\nconst UNSAFE_getAllByType = (\n instance: ReactTestInstance\n): ((type: React.ComponentType<any>) => Array<ReactTestInstance>) =>\n function getAllByTypeFn(type: React.ComponentType<any>) {\n const results = instance.findAllByType(type);\n if (results.length === 0) {\n throw new ErrorWithStack('No instances found', getAllByTypeFn);\n }\n return results;\n };\n\nconst UNSAFE_queryByType = (\n instance: ReactTestInstance\n): ((type: React.ComponentType<any>) => ReactTestInstance | null) =>\n function queryByTypeFn(type: React.ComponentType<any>) {\n try {\n return UNSAFE_getByType(instance)(type);\n } catch (error) {\n return createQueryByError(error, queryByTypeFn);\n }\n };\n\nconst UNSAFE_queryAllByType =\n (\n instance: ReactTestInstance\n ): ((type: React.ComponentType<any>) => Array<ReactTestInstance>) =>\n (type: React.ComponentType<any>) => {\n try {\n return UNSAFE_getAllByType(instance)(type);\n } catch (error) {\n return [];\n }\n };\n\n// Unsafe aliases\nexport type UnsafeByTypeQueries = {\n UNSAFE_getByType: <P>(type: React.ComponentType<P>) => ReactTestInstance;\n UNSAFE_getAllByType: <P>(\n type: React.ComponentType<P>\n ) => Array<ReactTestInstance>;\n UNSAFE_queryByType: <P>(\n type: React.ComponentType<P>\n ) => ReactTestInstance | null;\n UNSAFE_queryAllByType: <P>(\n type: React.ComponentType<P>\n ) => Array<ReactTestInstance>;\n};\n\n// TODO: migrate to makeQueries pattern\nexport const bindUnsafeByTypeQueries = (\n instance: ReactTestInstance\n): UnsafeByTypeQueries => ({\n UNSAFE_getByType: UNSAFE_getByType(instance),\n UNSAFE_getAllByType: UNSAFE_getAllByType(instance),\n UNSAFE_queryByType: UNSAFE_queryByType(instance),\n UNSAFE_queryAllByType: UNSAFE_queryAllByType(instance),\n});\n"],"mappings":";;;;;;AAEA;AAGA,MAAMA,gBAAgB,GACpBC,QAA2B,IAE3B,SAASC,WAAW,CAACC,IAA8B,EAAE;EACnD,IAAI;IACF,OAAOF,QAAQ,CAACG,UAAU,CAACD,IAAI,CAAC;EAClC,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,MAAM,IAAIC,sBAAc,CAAC,IAAAC,2BAAmB,EAACF,KAAK,CAAC,EAAEH,WAAW,CAAC;EACnE;AACF,CAAC;AAEH,MAAMM,mBAAmB,GACvBP,QAA2B,IAE3B,SAASQ,cAAc,CAACN,IAA8B,EAAE;EACtD,MAAMO,OAAO,GAAGT,QAAQ,CAACU,aAAa,CAACR,IAAI,CAAC;EAC5C,IAAIO,OAAO,CAACE,MAAM,KAAK,CAAC,EAAE;IACxB,MAAM,IAAIN,sBAAc,CAAC,oBAAoB,EAAEG,cAAc,CAAC;EAChE;EACA,OAAOC,OAAO;AAChB,CAAC;AAEH,MAAMG,kBAAkB,GACtBZ,QAA2B,IAE3B,SAASa,aAAa,CAACX,IAA8B,EAAE;EACrD,IAAI;IACF,OAAOH,gBAAgB,CAACC,QAAQ,CAAC,CAACE,IAAI,CAAC;EACzC,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,OAAO,IAAAU,0BAAkB,EAACV,KAAK,EAAES,aAAa,CAAC;EACjD;AACF,CAAC;AAEH,MAAME,qBAAqB,GAEvBf,QAA2B,IAE5BE,IAA8B,IAAK;EAClC,IAAI;IACF,OAAOK,mBAAmB,CAACP,QAAQ,CAAC,CAACE,IAAI,CAAC;EAC5C,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,OAAO,EAAE;EACX;AACF,CAAC;;AAEH;;AAcA;AACO,MAAMY,uBAAuB,GAClChB,QAA2B,KACF;EACzBD,gBAAgB,EAAEA,gBAAgB,CAACC,QAAQ,CAAC;EAC5CO,mBAAmB,EAAEA,mBAAmB,CAACP,QAAQ,CAAC;EAClDY,kBAAkB,EAAEA,kBAAkB,CAACZ,QAAQ,CAAC;EAChDe,qBAAqB,EAAEA,qBAAqB,CAACf,QAAQ;AACvD,CAAC,CAAC;AAAC"}
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.checkReactVersionAtLeast = checkReactVersionAtLeast;
7
-
8
7
  var React = _interopRequireWildcard(require("react"));
9
-
10
8
  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); }
11
-
12
9
  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; }
13
-
14
10
  function checkReactVersionAtLeast(major, minor) {
15
11
  if (React.version === undefined) return false;
16
12
  const [actualMajor, actualMinor] = React.version.split('.').map(Number);
@@ -1 +1 @@
1
- {"version":3,"file":"react-versions.js","names":["checkReactVersionAtLeast","major","minor","React","version","undefined","actualMajor","actualMinor","split","map","Number"],"sources":["../src/react-versions.ts"],"sourcesContent":["import * as React from 'react';\n\nexport function checkReactVersionAtLeast(\n major: number,\n minor: number\n): boolean {\n if (React.version === undefined) return false;\n const [actualMajor, actualMinor] = React.version.split('.').map(Number);\n\n return actualMajor > major || (actualMajor === major && actualMinor >= minor);\n}\n"],"mappings":";;;;;;;AAAA;;;;;;AAEO,SAASA,wBAAT,CACLC,KADK,EAELC,KAFK,EAGI;EACT,IAAIC,KAAK,CAACC,OAAN,KAAkBC,SAAtB,EAAiC,OAAO,KAAP;EACjC,MAAM,CAACC,WAAD,EAAcC,WAAd,IAA6BJ,KAAK,CAACC,OAAN,CAAcI,KAAd,CAAoB,GAApB,EAAyBC,GAAzB,CAA6BC,MAA7B,CAAnC;EAEA,OAAOJ,WAAW,GAAGL,KAAd,IAAwBK,WAAW,KAAKL,KAAhB,IAAyBM,WAAW,IAAIL,KAAvE;AACD"}
1
+ {"version":3,"file":"react-versions.js","names":["checkReactVersionAtLeast","major","minor","React","version","undefined","actualMajor","actualMinor","split","map","Number"],"sources":["../src/react-versions.ts"],"sourcesContent":["import * as React from 'react';\n\nexport function checkReactVersionAtLeast(\n major: number,\n minor: number\n): boolean {\n if (React.version === undefined) return false;\n const [actualMajor, actualMinor] = React.version.split('.').map(Number);\n\n return actualMajor > major || (actualMajor === major && actualMinor >= minor);\n}\n"],"mappings":";;;;;;AAAA;AAA+B;AAAA;AAExB,SAASA,wBAAwB,CACtCC,KAAa,EACbC,KAAa,EACJ;EACT,IAAIC,KAAK,CAACC,OAAO,KAAKC,SAAS,EAAE,OAAO,KAAK;EAC7C,MAAM,CAACC,WAAW,EAAEC,WAAW,CAAC,GAAGJ,KAAK,CAACC,OAAO,CAACI,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,MAAM,CAAC;EAEvE,OAAOJ,WAAW,GAAGL,KAAK,IAAKK,WAAW,KAAKL,KAAK,IAAIM,WAAW,IAAIL,KAAM;AAC/E"}
package/build/render.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import TestRenderer from 'react-test-renderer';
2
2
  import * as React from 'react';
3
+ import { DebugOptions } from './helpers/debugDeep';
3
4
  export declare type RenderOptions = {
4
5
  wrapper?: React.ComponentType<any>;
5
6
  createNodeMock?: (element: React.ReactElement) => any;
@@ -119,46 +120,46 @@ export default function render<T>(component: React.ReactElement<T>, { wrapper: W
119
120
  findAllByAccessibilityState: import("./queries/makeQueries").FindAllByQuery<import("react-native").AccessibilityState, void>;
120
121
  getByRole: import("./queries/makeQueries").GetByQuery<import("./matches").TextMatch, {
121
122
  name?: import("./matches").TextMatch | undefined;
122
- }>;
123
+ } & import("react-native").AccessibilityState>;
123
124
  getAllByRole: import("./queries/makeQueries").GetAllByQuery<import("./matches").TextMatch, {
124
125
  name?: import("./matches").TextMatch | undefined;
125
- }>;
126
+ } & import("react-native").AccessibilityState>;
126
127
  queryByRole: import("./queries/makeQueries").QueryByQuery<import("./matches").TextMatch, {
127
128
  name?: import("./matches").TextMatch | undefined;
128
- }>;
129
+ } & import("react-native").AccessibilityState>;
129
130
  queryAllByRole: import("./queries/makeQueries").QueryAllByQuery<import("./matches").TextMatch, {
130
131
  name?: import("./matches").TextMatch | undefined;
131
- }>;
132
+ } & import("react-native").AccessibilityState>;
132
133
  findByRole: import("./queries/makeQueries").FindByQuery<import("./matches").TextMatch, {
133
134
  name?: import("./matches").TextMatch | undefined;
134
- }>;
135
+ } & import("react-native").AccessibilityState>;
135
136
  findAllByRole: import("./queries/makeQueries").FindAllByQuery<import("./matches").TextMatch, {
136
137
  name?: import("./matches").TextMatch | undefined;
137
- }>;
138
- getByHintText: import("./queries/makeQueries").GetByQuery<import("./matches").TextMatch, void>;
139
- getAllByHintText: import("./queries/makeQueries").GetAllByQuery<import("./matches").TextMatch, void>;
140
- queryByHintText: import("./queries/makeQueries").QueryByQuery<import("./matches").TextMatch, void>;
141
- queryAllByHintText: import("./queries/makeQueries").QueryAllByQuery<import("./matches").TextMatch, void>;
142
- findByHintText: import("./queries/makeQueries").FindByQuery<import("./matches").TextMatch, void>;
143
- findAllByHintText: import("./queries/makeQueries").FindAllByQuery<import("./matches").TextMatch, void>;
144
- getByA11yHint: import("./queries/makeQueries").GetByQuery<import("./matches").TextMatch, void>;
145
- getAllByA11yHint: import("./queries/makeQueries").GetAllByQuery<import("./matches").TextMatch, void>;
146
- queryByA11yHint: import("./queries/makeQueries").QueryByQuery<import("./matches").TextMatch, void>;
147
- queryAllByA11yHint: import("./queries/makeQueries").QueryAllByQuery<import("./matches").TextMatch, void>;
148
- findByA11yHint: import("./queries/makeQueries").FindByQuery<import("./matches").TextMatch, void>;
149
- findAllByA11yHint: import("./queries/makeQueries").FindAllByQuery<import("./matches").TextMatch, void>;
150
- getByAccessibilityHint: import("./queries/makeQueries").GetByQuery<import("./matches").TextMatch, void>;
151
- getAllByAccessibilityHint: import("./queries/makeQueries").GetAllByQuery<import("./matches").TextMatch, void>;
152
- queryByAccessibilityHint: import("./queries/makeQueries").QueryByQuery<import("./matches").TextMatch, void>;
153
- queryAllByAccessibilityHint: import("./queries/makeQueries").QueryAllByQuery<import("./matches").TextMatch, void>;
154
- findByAccessibilityHint: import("./queries/makeQueries").FindByQuery<import("./matches").TextMatch, void>;
155
- findAllByAccessibilityHint: import("./queries/makeQueries").FindAllByQuery<import("./matches").TextMatch, void>;
156
- getByLabelText: import("./queries/makeQueries").GetByQuery<import("./matches").TextMatch, void>;
157
- getAllByLabelText: import("./queries/makeQueries").GetAllByQuery<import("./matches").TextMatch, void>;
158
- queryByLabelText: import("./queries/makeQueries").QueryByQuery<import("./matches").TextMatch, void>;
159
- queryAllByLabelText: import("./queries/makeQueries").QueryAllByQuery<import("./matches").TextMatch, void>;
160
- findByLabelText: import("./queries/makeQueries").FindByQuery<import("./matches").TextMatch, void>;
161
- findAllByLabelText: import("./queries/makeQueries").FindAllByQuery<import("./matches").TextMatch, void>;
138
+ } & import("react-native").AccessibilityState>;
139
+ getByHintText: import("./queries/makeQueries").GetByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
140
+ getAllByHintText: import("./queries/makeQueries").GetAllByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
141
+ queryByHintText: import("./queries/makeQueries").QueryByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
142
+ queryAllByHintText: import("./queries/makeQueries").QueryAllByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
143
+ findByHintText: import("./queries/makeQueries").FindByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
144
+ findAllByHintText: import("./queries/makeQueries").FindAllByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
145
+ getByA11yHint: import("./queries/makeQueries").GetByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
146
+ getAllByA11yHint: import("./queries/makeQueries").GetAllByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
147
+ queryByA11yHint: import("./queries/makeQueries").QueryByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
148
+ queryAllByA11yHint: import("./queries/makeQueries").QueryAllByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
149
+ findByA11yHint: import("./queries/makeQueries").FindByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
150
+ findAllByA11yHint: import("./queries/makeQueries").FindAllByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
151
+ getByAccessibilityHint: import("./queries/makeQueries").GetByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
152
+ getAllByAccessibilityHint: import("./queries/makeQueries").GetAllByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
153
+ queryByAccessibilityHint: import("./queries/makeQueries").QueryByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
154
+ queryAllByAccessibilityHint: import("./queries/makeQueries").QueryAllByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
155
+ findByAccessibilityHint: import("./queries/makeQueries").FindByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
156
+ findAllByAccessibilityHint: import("./queries/makeQueries").FindAllByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
157
+ getByLabelText: import("./queries/makeQueries").GetByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
158
+ getAllByLabelText: import("./queries/makeQueries").GetAllByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
159
+ queryByLabelText: import("./queries/makeQueries").QueryByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
160
+ queryAllByLabelText: import("./queries/makeQueries").QueryAllByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
161
+ findByLabelText: import("./queries/makeQueries").FindByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
162
+ findAllByLabelText: import("./queries/makeQueries").FindAllByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
162
163
  getByPlaceholderText: import("./queries/makeQueries").GetByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
163
164
  getAllByPlaceholderText: import("./queries/makeQueries").GetAllByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
164
165
  queryByPlaceholderText: import("./queries/makeQueries").QueryByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
@@ -185,7 +186,7 @@ export default function render<T>(component: React.ReactElement<T>, { wrapper: W
185
186
  findAllByText: import("./queries/makeQueries").FindAllByQuery<import("./matches").TextMatch, import("./queries/text").TextMatchOptions>;
186
187
  };
187
188
  interface DebugFunction {
188
- (message?: string): void;
189
+ (options?: DebugOptions | string): void;
189
190
  shallow: (message?: string) => void;
190
191
  }
191
192
  export {};
package/build/render.js CHANGED
@@ -4,31 +4,19 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = render;
7
-
8
7
  var _reactTestRenderer = _interopRequireDefault(require("react-test-renderer"));
9
-
10
8
  var React = _interopRequireWildcard(require("react"));
11
-
12
9
  var _act = _interopRequireDefault(require("./act"));
13
-
14
10
  var _cleanup = require("./cleanup");
15
-
16
11
  var _debugShallow = _interopRequireDefault(require("./helpers/debugShallow"));
17
-
18
12
  var _debugDeep = _interopRequireDefault(require("./helpers/debugDeep"));
19
-
20
13
  var _within = require("./within");
21
-
22
14
  var _screen = require("./screen");
23
-
24
15
  var _stringValidation = require("./helpers/stringValidation");
25
-
16
+ var _config = require("./config");
26
17
  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); }
27
-
28
18
  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; }
29
-
30
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
-
32
20
  /**
33
21
  * Renders test component deeply using react-test-renderer and exposes helpers
34
22
  * to assert on the output.
@@ -44,15 +32,12 @@ function render(component, {
44
32
  createNodeMock
45
33
  });
46
34
  }
47
-
48
35
  const wrap = element => Wrapper ? /*#__PURE__*/React.createElement(Wrapper, null, element) : element;
49
-
50
36
  const renderer = renderWithAct(wrap(component), createNodeMock ? {
51
37
  createNodeMock
52
38
  } : undefined);
53
39
  return buildRenderResult(renderer, wrap);
54
40
  }
55
-
56
41
  function renderWithStringValidation(component, {
57
42
  wrapper: Wrapper,
58
43
  createNodeMock
@@ -62,31 +47,27 @@ function renderWithStringValidation(component, {
62
47
  (0, _stringValidation.validateStringsRenderedWithinText)(_screen.screen.toJSON());
63
48
  }
64
49
  };
65
-
66
50
  const wrap = element => /*#__PURE__*/React.createElement(React.Profiler, {
67
51
  id: "renderProfiler",
68
52
  onRender: handleRender
69
53
  }, Wrapper ? /*#__PURE__*/React.createElement(Wrapper, null, element) : element);
70
-
71
54
  const renderer = renderWithAct(wrap(component), createNodeMock ? {
72
55
  createNodeMock
73
56
  } : undefined);
74
57
  (0, _stringValidation.validateStringsRenderedWithinText)(renderer.toJSON());
75
58
  return buildRenderResult(renderer, wrap);
76
59
  }
77
-
78
60
  function buildRenderResult(renderer, wrap) {
79
61
  const update = updateWithAct(renderer, wrap);
80
62
  const instance = renderer.root;
81
-
82
63
  const unmount = () => {
83
64
  (0, _act.default)(() => {
84
65
  renderer.unmount();
85
66
  });
86
67
  };
87
-
88
68
  (0, _cleanup.addToCleanupQueue)(unmount);
89
- const result = { ...(0, _within.getQueriesForElement)(instance),
69
+ const result = {
70
+ ...(0, _within.getQueriesForElement)(instance),
90
71
  update,
91
72
  unmount,
92
73
  container: instance,
@@ -98,16 +79,15 @@ function buildRenderResult(renderer, wrap) {
98
79
  (0, _screen.setRenderResult)(result);
99
80
  return result;
100
81
  }
101
-
102
82
  function renderWithAct(component, options) {
103
83
  let renderer;
104
84
  (0, _act.default)(() => {
105
85
  renderer = _reactTestRenderer.default.create(component, options);
106
- }); // @ts-ignore act is sync, so renderer is always initialised here
86
+ });
107
87
 
88
+ // @ts-ignore act is sync, so renderer is always initialised here
108
89
  return renderer;
109
90
  }
110
-
111
91
  function updateWithAct(renderer, wrap) {
112
92
  return function (component) {
113
93
  (0, _act.default)(() => {
@@ -115,18 +95,28 @@ function updateWithAct(renderer, wrap) {
115
95
  });
116
96
  };
117
97
  }
118
-
119
98
  function debug(instance, renderer) {
120
- function debugImpl(message) {
99
+ function debugImpl(options) {
100
+ const {
101
+ defaultDebugOptions
102
+ } = (0, _config.getConfig)();
103
+ const debugOptions = typeof options === 'string' ? {
104
+ ...defaultDebugOptions,
105
+ message: options
106
+ } : {
107
+ ...defaultDebugOptions,
108
+ ...options
109
+ };
110
+ if (typeof options === 'string') {
111
+ // eslint-disable-next-line no-console
112
+ console.warn('Using debug("message") is deprecated and will be removed in future release, please use debug({ message; "message" }) instead.');
113
+ }
121
114
  const json = renderer.toJSON();
122
-
123
115
  if (json) {
124
- return (0, _debugDeep.default)(json, message);
116
+ return (0, _debugDeep.default)(json, debugOptions);
125
117
  }
126
118
  }
127
-
128
119
  debugImpl.shallow = message => (0, _debugShallow.default)(instance, message);
129
-
130
120
  return debugImpl;
131
121
  }
132
122
  //# sourceMappingURL=render.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","names":["render","component","wrapper","Wrapper","createNodeMock","unstable_validateStringsRenderedWithinText","renderWithStringValidation","wrap","element","renderer","renderWithAct","undefined","buildRenderResult","handleRender","_","phase","validateStringsRenderedWithinText","screen","toJSON","update","updateWithAct","instance","root","unmount","act","addToCleanupQueue","result","getQueriesForElement","container","rerender","debug","setRenderResult","options","TestRenderer","create","debugImpl","message","json","debugDeep","shallow","debugShallow"],"sources":["../src/render.tsx"],"sourcesContent":["import TestRenderer from 'react-test-renderer';\nimport type { ReactTestInstance, ReactTestRenderer } from 'react-test-renderer';\nimport * as React from 'react';\nimport { Profiler } from 'react';\nimport act from './act';\nimport { addToCleanupQueue } from './cleanup';\nimport debugShallow from './helpers/debugShallow';\nimport debugDeep from './helpers/debugDeep';\nimport { getQueriesForElement } from './within';\nimport { setRenderResult, screen } from './screen';\nimport { validateStringsRenderedWithinText } from './helpers/stringValidation';\n\nexport type RenderOptions = {\n wrapper?: React.ComponentType<any>;\n createNodeMock?: (element: React.ReactElement) => any;\n unstable_validateStringsRenderedWithinText?: boolean;\n};\n\ntype TestRendererOptions = {\n createNodeMock: (element: React.ReactElement) => any;\n};\n\nexport type RenderResult = ReturnType<typeof render>;\n\n/**\n * Renders test component deeply using react-test-renderer and exposes helpers\n * to assert on the output.\n */\nexport default function render<T>(\n component: React.ReactElement<T>,\n {\n wrapper: Wrapper,\n createNodeMock,\n unstable_validateStringsRenderedWithinText,\n }: RenderOptions = {}\n) {\n if (unstable_validateStringsRenderedWithinText) {\n return renderWithStringValidation(component, {\n wrapper: Wrapper,\n createNodeMock,\n });\n }\n\n const wrap = (element: React.ReactElement) =>\n Wrapper ? <Wrapper>{element}</Wrapper> : element;\n\n const renderer = renderWithAct(\n wrap(component),\n createNodeMock ? { createNodeMock } : undefined\n );\n\n return buildRenderResult(renderer, wrap);\n}\n\nfunction renderWithStringValidation<T>(\n component: React.ReactElement<T>,\n {\n wrapper: Wrapper,\n createNodeMock,\n }: Omit<RenderOptions, 'unstable_validateStringsRenderedWithinText'> = {}\n) {\n const handleRender: React.ProfilerProps['onRender'] = (_, phase) => {\n if (phase === 'update') {\n validateStringsRenderedWithinText(screen.toJSON());\n }\n };\n\n const wrap = (element: React.ReactElement) => (\n <Profiler id=\"renderProfiler\" onRender={handleRender}>\n {Wrapper ? <Wrapper>{element}</Wrapper> : element}\n </Profiler>\n );\n\n const renderer = renderWithAct(\n wrap(component),\n createNodeMock ? { createNodeMock } : undefined\n );\n validateStringsRenderedWithinText(renderer.toJSON());\n\n return buildRenderResult(renderer, wrap);\n}\n\nfunction buildRenderResult(\n renderer: ReactTestRenderer,\n wrap: (element: React.ReactElement) => JSX.Element\n) {\n const update = updateWithAct(renderer, wrap);\n const instance = renderer.root;\n\n const unmount = () => {\n act(() => {\n renderer.unmount();\n });\n };\n\n addToCleanupQueue(unmount);\n\n const result = {\n ...getQueriesForElement(instance),\n update,\n unmount,\n container: instance,\n rerender: update, // alias for `update`\n toJSON: renderer.toJSON,\n debug: debug(instance, renderer),\n };\n\n setRenderResult(result);\n return result;\n}\n\nfunction renderWithAct(\n component: React.ReactElement,\n options?: TestRendererOptions\n): ReactTestRenderer {\n let renderer: ReactTestRenderer;\n\n act(() => {\n renderer = TestRenderer.create(component, options);\n });\n\n // @ts-ignore act is sync, so renderer is always initialised here\n return renderer;\n}\n\nfunction updateWithAct(\n renderer: ReactTestRenderer,\n wrap: (innerElement: React.ReactElement) => React.ReactElement\n) {\n return function (component: React.ReactElement) {\n act(() => {\n renderer.update(wrap(component));\n });\n };\n}\n\ninterface DebugFunction {\n (message?: string): void;\n shallow: (message?: string) => void;\n}\n\nfunction debug(\n instance: ReactTestInstance,\n renderer: ReactTestRenderer\n): DebugFunction {\n function debugImpl(message?: string) {\n const json = renderer.toJSON();\n if (json) {\n return debugDeep(json, message);\n }\n }\n debugImpl.shallow = (message?: string) => debugShallow(instance, message);\n return debugImpl;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"render.js","names":["render","component","wrapper","Wrapper","createNodeMock","unstable_validateStringsRenderedWithinText","renderWithStringValidation","wrap","element","renderer","renderWithAct","undefined","buildRenderResult","handleRender","_","phase","validateStringsRenderedWithinText","screen","toJSON","update","updateWithAct","instance","root","unmount","act","addToCleanupQueue","result","getQueriesForElement","container","rerender","debug","setRenderResult","options","TestRenderer","create","debugImpl","defaultDebugOptions","getConfig","debugOptions","message","console","warn","json","debugDeep","shallow","debugShallow"],"sources":["../src/render.tsx"],"sourcesContent":["import TestRenderer from 'react-test-renderer';\nimport type { ReactTestInstance, ReactTestRenderer } from 'react-test-renderer';\nimport * as React from 'react';\nimport { Profiler } from 'react';\nimport act from './act';\nimport { addToCleanupQueue } from './cleanup';\nimport debugShallow from './helpers/debugShallow';\nimport debugDeep, { DebugOptions } from './helpers/debugDeep';\nimport { getQueriesForElement } from './within';\nimport { setRenderResult, screen } from './screen';\nimport { validateStringsRenderedWithinText } from './helpers/stringValidation';\nimport { getConfig } from './config';\n\nexport type RenderOptions = {\n wrapper?: React.ComponentType<any>;\n createNodeMock?: (element: React.ReactElement) => any;\n unstable_validateStringsRenderedWithinText?: boolean;\n};\n\ntype TestRendererOptions = {\n createNodeMock: (element: React.ReactElement) => any;\n};\n\nexport type RenderResult = ReturnType<typeof render>;\n\n/**\n * Renders test component deeply using react-test-renderer and exposes helpers\n * to assert on the output.\n */\nexport default function render<T>(\n component: React.ReactElement<T>,\n {\n wrapper: Wrapper,\n createNodeMock,\n unstable_validateStringsRenderedWithinText,\n }: RenderOptions = {}\n) {\n if (unstable_validateStringsRenderedWithinText) {\n return renderWithStringValidation(component, {\n wrapper: Wrapper,\n createNodeMock,\n });\n }\n\n const wrap = (element: React.ReactElement) =>\n Wrapper ? <Wrapper>{element}</Wrapper> : element;\n\n const renderer = renderWithAct(\n wrap(component),\n createNodeMock ? { createNodeMock } : undefined\n );\n\n return buildRenderResult(renderer, wrap);\n}\n\nfunction renderWithStringValidation<T>(\n component: React.ReactElement<T>,\n {\n wrapper: Wrapper,\n createNodeMock,\n }: Omit<RenderOptions, 'unstable_validateStringsRenderedWithinText'> = {}\n) {\n const handleRender: React.ProfilerProps['onRender'] = (_, phase) => {\n if (phase === 'update') {\n validateStringsRenderedWithinText(screen.toJSON());\n }\n };\n\n const wrap = (element: React.ReactElement) => (\n <Profiler id=\"renderProfiler\" onRender={handleRender}>\n {Wrapper ? <Wrapper>{element}</Wrapper> : element}\n </Profiler>\n );\n\n const renderer = renderWithAct(\n wrap(component),\n createNodeMock ? { createNodeMock } : undefined\n );\n validateStringsRenderedWithinText(renderer.toJSON());\n\n return buildRenderResult(renderer, wrap);\n}\n\nfunction buildRenderResult(\n renderer: ReactTestRenderer,\n wrap: (element: React.ReactElement) => JSX.Element\n) {\n const update = updateWithAct(renderer, wrap);\n const instance = renderer.root;\n\n const unmount = () => {\n act(() => {\n renderer.unmount();\n });\n };\n\n addToCleanupQueue(unmount);\n\n const result = {\n ...getQueriesForElement(instance),\n update,\n unmount,\n container: instance,\n rerender: update, // alias for `update`\n toJSON: renderer.toJSON,\n debug: debug(instance, renderer),\n };\n\n setRenderResult(result);\n return result;\n}\n\nfunction renderWithAct(\n component: React.ReactElement,\n options?: TestRendererOptions\n): ReactTestRenderer {\n let renderer: ReactTestRenderer;\n\n act(() => {\n renderer = TestRenderer.create(component, options);\n });\n\n // @ts-ignore act is sync, so renderer is always initialised here\n return renderer;\n}\n\nfunction updateWithAct(\n renderer: ReactTestRenderer,\n wrap: (innerElement: React.ReactElement) => React.ReactElement\n) {\n return function (component: React.ReactElement) {\n act(() => {\n renderer.update(wrap(component));\n });\n };\n}\n\ninterface DebugFunction {\n (options?: DebugOptions | string): void;\n shallow: (message?: string) => void;\n}\n\nfunction debug(\n instance: ReactTestInstance,\n renderer: ReactTestRenderer\n): DebugFunction {\n function debugImpl(options?: DebugOptions | string) {\n const { defaultDebugOptions } = getConfig();\n const debugOptions =\n typeof options === 'string'\n ? { ...defaultDebugOptions, message: options }\n : { ...defaultDebugOptions, ...options };\n\n if (typeof options === 'string') {\n // eslint-disable-next-line no-console\n console.warn(\n 'Using debug(\"message\") is deprecated and will be removed in future release, please use debug({ message; \"message\" }) instead.'\n );\n }\n\n const json = renderer.toJSON();\n if (json) {\n return debugDeep(json, debugOptions);\n }\n }\n debugImpl.shallow = (message?: string) => debugShallow(instance, message);\n return debugImpl;\n}\n"],"mappings":"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"}