@testing-library/react-native 12.2.0 → 12.2.1

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 (283) hide show
  1. package/.DS_Store +0 -0
  2. package/.eslintcache +1 -1
  3. package/.eslintignore +1 -0
  4. package/build/fireEvent.js +1 -1
  5. package/build/fireEvent.js.map +1 -1
  6. package/build/helpers/component-tree.d.ts +11 -5
  7. package/build/helpers/component-tree.js +5 -1
  8. package/build/helpers/component-tree.js.map +1 -1
  9. package/build/helpers/findAll.d.ts +2 -1
  10. package/build/helpers/findAll.js +2 -1
  11. package/build/helpers/findAll.js.map +1 -1
  12. package/build/helpers/host-component-names.d.ts +11 -2
  13. package/build/helpers/host-component-names.js +10 -0
  14. package/build/helpers/host-component-names.js.map +1 -1
  15. package/build/helpers/matchers/matchLabelText.js +1 -1
  16. package/build/helpers/matchers/matchLabelText.js.map +1 -1
  17. package/build/queries/a11yState.js +1 -1
  18. package/build/queries/a11yState.js.map +1 -1
  19. package/build/queries/a11yValue.js +1 -1
  20. package/build/queries/a11yValue.js.map +1 -1
  21. package/build/queries/displayValue.js +5 -6
  22. package/build/queries/displayValue.js.map +1 -1
  23. package/build/queries/hintText.js +1 -1
  24. package/build/queries/hintText.js.map +1 -1
  25. package/build/queries/labelText.js +1 -1
  26. package/build/queries/labelText.js.map +1 -1
  27. package/build/queries/placeholderText.js +3 -4
  28. package/build/queries/placeholderText.js.map +1 -1
  29. package/build/queries/role.js +1 -1
  30. package/build/queries/role.js.map +1 -1
  31. package/build/queries/testId.js +3 -3
  32. package/build/queries/testId.js.map +1 -1
  33. package/build/queries/text.js +1 -2
  34. package/build/queries/text.js.map +1 -1
  35. package/build/render.js.map +1 -1
  36. package/build/user-event/clear.d.ts +3 -0
  37. package/build/user-event/clear.js +41 -0
  38. package/build/user-event/clear.js.map +1 -0
  39. package/build/user-event/index.d.ts +1 -0
  40. package/build/user-event/index.js +2 -1
  41. package/build/user-event/index.js.map +1 -1
  42. package/build/user-event/press/press.js +1 -4
  43. package/build/user-event/press/press.js.map +1 -1
  44. package/build/user-event/setup/setup.d.ts +14 -2
  45. package/build/user-event/setup/setup.js +3 -1
  46. package/build/user-event/setup/setup.js.map +1 -1
  47. package/build/user-event/type/type.d.ts +2 -1
  48. package/build/user-event/type/type.js +8 -4
  49. package/build/user-event/type/type.js.map +1 -1
  50. package/build/user-event/utils/host-components.d.ts +2 -0
  51. package/build/user-event/utils/host-components.js +11 -0
  52. package/build/user-event/utils/host-components.js.map +1 -0
  53. package/build/user-event/utils/index.d.ts +1 -0
  54. package/build/user-event/utils/index.js +11 -0
  55. package/build/user-event/utils/index.js.map +1 -1
  56. package/build/user-event/utils/text-range.d.ts +0 -1
  57. package/build/user-event/utils/text-range.js +0 -11
  58. package/build/user-event/utils/text-range.js.map +1 -1
  59. package/examples/basic/.expo/README.md +4 -6
  60. package/examples/basic/.expo/settings.json +2 -0
  61. package/examples/basic/__tests__/App.test.tsx +30 -12
  62. package/examples/basic/package.json +1 -1
  63. package/examples/basic/yarn.lock +2095 -3474
  64. package/examples/react-navigation/yarn.lock +1657 -2249
  65. package/examples/redux/yarn.lock +1772 -5376
  66. package/experiments-app/.expo/packager-info.json +9 -0
  67. package/experiments-app/.expo/settings.json +1 -2
  68. package/experiments-app/package.json +7 -9
  69. package/experiments-app/src/MainScreen.tsx +1 -0
  70. package/experiments-app/src/experiments.ts +20 -2
  71. package/experiments-app/src/screens/FlatListEvents.tsx +57 -0
  72. package/experiments-app/src/screens/ScrollViewEvents.tsx +65 -0
  73. package/experiments-app/src/screens/SectionListEvents.tsx +91 -0
  74. package/experiments-app/src/screens/TextInputEventPropagation.tsx +5 -17
  75. package/experiments-app/src/screens/TextInputEvents.tsx +13 -25
  76. package/experiments-app/src/utils/helpers.ts +13 -3
  77. package/experiments-app/yarn.lock +901 -1105
  78. package/experiments-rtl/.babelrc +8 -0
  79. package/experiments-rtl/.eslintrc.json +3 -0
  80. package/experiments-rtl/.gitignore +35 -0
  81. package/experiments-rtl/README.md +34 -0
  82. package/experiments-rtl/jest-setup.js +1 -0
  83. package/experiments-rtl/jest.config.js +4 -0
  84. package/experiments-rtl/next.config.js +4 -0
  85. package/experiments-rtl/package.json +38 -0
  86. package/experiments-rtl/postcss.config.js +6 -0
  87. package/experiments-rtl/public/next.svg +1 -0
  88. package/experiments-rtl/public/vercel.svg +1 -0
  89. package/experiments-rtl/src/app/__tests__/click.test.tsx +31 -0
  90. package/experiments-rtl/src/app/__tests__/managed-text-input.test.tsx +51 -0
  91. package/experiments-rtl/src/app/globals.css +27 -0
  92. package/experiments-rtl/src/app/layout.tsx +22 -0
  93. package/experiments-rtl/src/app/page.tsx +113 -0
  94. package/experiments-rtl/tailwind.config.ts +20 -0
  95. package/experiments-rtl/tsconfig.json +28 -0
  96. package/experiments-rtl/yarn.lock +5418 -0
  97. package/package.json +4 -2
  98. package/src/fireEvent.ts +1 -1
  99. package/src/helpers/component-tree.ts +14 -9
  100. package/src/helpers/findAll.ts +6 -4
  101. package/src/helpers/host-component-names.tsx +15 -2
  102. package/src/helpers/matchers/matchLabelText.ts +0 -1
  103. package/src/queries/a11yState.ts +2 -6
  104. package/src/queries/a11yValue.ts +2 -6
  105. package/src/queries/displayValue.ts +7 -14
  106. package/src/queries/hintText.ts +2 -7
  107. package/src/queries/labelText.ts +1 -3
  108. package/src/queries/placeholderText.ts +6 -13
  109. package/src/queries/role.ts +1 -2
  110. package/src/queries/testId.ts +5 -10
  111. package/src/queries/text.ts +3 -6
  112. package/src/render.tsx +1 -1
  113. package/src/user-event/__tests__/__snapshots__/clear.test.tsx.snap +269 -0
  114. package/src/user-event/__tests__/clear.test.tsx +217 -0
  115. package/src/user-event/clear.ts +59 -0
  116. package/src/user-event/index.ts +1 -0
  117. package/src/user-event/press/press.ts +8 -14
  118. package/src/user-event/setup/setup.ts +17 -2
  119. package/src/user-event/type/__tests__/type-managed.test.tsx +0 -1
  120. package/src/user-event/type/__tests__/type.test.tsx +0 -1
  121. package/src/user-event/type/type.ts +16 -13
  122. package/src/user-event/utils/__tests__/wait.test.ts +0 -1
  123. package/src/user-event/utils/host-components.ts +6 -0
  124. package/src/user-event/utils/index.ts +1 -0
  125. package/src/user-event/utils/text-range.ts +0 -7
  126. package/website/docs/Queries.md +64 -59
  127. package/website/docs/UserEvent.md +48 -0
  128. package/build/helpers/filterNodeByType.d.ts +0 -3
  129. package/build/helpers/filterNodeByType.js +0 -9
  130. package/build/helpers/filterNodeByType.js.map +0 -1
  131. package/coverage/clover.xml +0 -1176
  132. package/coverage/coverage-final.json +0 -70
  133. package/coverage/lcov-report/base.css +0 -224
  134. package/coverage/lcov-report/block-navigation.js +0 -87
  135. package/coverage/lcov-report/favicon.png +0 -0
  136. package/coverage/lcov-report/index.html +0 -266
  137. package/coverage/lcov-report/prettify.css +0 -1
  138. package/coverage/lcov-report/prettify.js +0 -2
  139. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  140. package/coverage/lcov-report/sorter.js +0 -196
  141. package/coverage/lcov-report/src/act.ts.html +0 -343
  142. package/coverage/lcov-report/src/cleanup.ts.html +0 -130
  143. package/coverage/lcov-report/src/config.ts.html +0 -301
  144. package/coverage/lcov-report/src/fireEvent.ts.html +0 -559
  145. package/coverage/lcov-report/src/flushMicroTasks.ts.html +0 -124
  146. package/coverage/lcov-report/src/helpers/accessiblity.ts.html +0 -412
  147. package/coverage/lcov-report/src/helpers/component-tree.ts.html +0 -352
  148. package/coverage/lcov-report/src/helpers/debugDeep.ts.html +0 -166
  149. package/coverage/lcov-report/src/helpers/debugShallow.ts.html +0 -151
  150. package/coverage/lcov-report/src/helpers/deprecation.ts.html +0 -244
  151. package/coverage/lcov-report/src/helpers/errors.ts.html +0 -283
  152. package/coverage/lcov-report/src/helpers/filterNodeByType.ts.html +0 -106
  153. package/coverage/lcov-report/src/helpers/findAll.ts.html +0 -289
  154. package/coverage/lcov-report/src/helpers/format-default.ts.html +0 -301
  155. package/coverage/lcov-report/src/helpers/format.ts.html +0 -226
  156. package/coverage/lcov-report/src/helpers/getTextContent.ts.html +0 -145
  157. package/coverage/lcov-report/src/helpers/host-component-names.tsx.html +0 -286
  158. package/coverage/lcov-report/src/helpers/index.html +0 -326
  159. package/coverage/lcov-report/src/helpers/matchers/accessibilityState.ts.html +0 -229
  160. package/coverage/lcov-report/src/helpers/matchers/accessibilityValue.ts.html +0 -157
  161. package/coverage/lcov-report/src/helpers/matchers/index.html +0 -206
  162. package/coverage/lcov-report/src/helpers/matchers/matchArrayProp.ts.html +0 -148
  163. package/coverage/lcov-report/src/helpers/matchers/matchLabelText.ts.html +0 -238
  164. package/coverage/lcov-report/src/helpers/matchers/matchObjectProp.ts.html +0 -160
  165. package/coverage/lcov-report/src/helpers/matchers/matchStringProp.ts.html +0 -154
  166. package/coverage/lcov-report/src/helpers/matchers/matchTextContent.ts.html +0 -145
  167. package/coverage/lcov-report/src/helpers/query-name.ts.html +0 -97
  168. package/coverage/lcov-report/src/helpers/stringValidation.ts.html +0 -193
  169. package/coverage/lcov-report/src/helpers/timers.ts.html +0 -382
  170. package/coverage/lcov-report/src/index.html +0 -356
  171. package/coverage/lcov-report/src/index.ts.html +0 -184
  172. package/coverage/lcov-report/src/matches.ts.html +0 -232
  173. package/coverage/lcov-report/src/pure.ts.html +0 -157
  174. package/coverage/lcov-report/src/queries/a11yState.ts.html +0 -478
  175. package/coverage/lcov-report/src/queries/a11yValue.ts.html +0 -478
  176. package/coverage/lcov-report/src/queries/displayValue.ts.html +0 -319
  177. package/coverage/lcov-report/src/queries/hintText.ts.html +0 -421
  178. package/coverage/lcov-report/src/queries/index.html +0 -281
  179. package/coverage/lcov-report/src/queries/labelText.ts.html +0 -262
  180. package/coverage/lcov-report/src/queries/makeQueries.ts.html +0 -850
  181. package/coverage/lcov-report/src/queries/placeholderText.ts.html +0 -322
  182. package/coverage/lcov-report/src/queries/role.ts.html +0 -481
  183. package/coverage/lcov-report/src/queries/testId.ts.html +0 -298
  184. package/coverage/lcov-report/src/queries/text.ts.html +0 -283
  185. package/coverage/lcov-report/src/queries/unsafeProps.ts.html +0 -313
  186. package/coverage/lcov-report/src/queries/unsafeType.ts.html +0 -304
  187. package/coverage/lcov-report/src/react-versions.ts.html +0 -118
  188. package/coverage/lcov-report/src/render-act.ts.html +0 -142
  189. package/coverage/lcov-report/src/render.tsx.html +0 -592
  190. package/coverage/lcov-report/src/renderHook.tsx.html +0 -262
  191. package/coverage/lcov-report/src/screen.ts.html +0 -454
  192. package/coverage/lcov-report/src/shallow.ts.html +0 -139
  193. package/coverage/lcov-report/src/test-utils/events.ts.html +0 -145
  194. package/coverage/lcov-report/src/test-utils/index.html +0 -131
  195. package/coverage/lcov-report/src/test-utils/index.ts.html +0 -88
  196. package/coverage/lcov-report/src/user-event/event-builder/common.ts.html +0 -229
  197. package/coverage/lcov-report/src/user-event/event-builder/index.html +0 -146
  198. package/coverage/lcov-report/src/user-event/event-builder/index.ts.html +0 -106
  199. package/coverage/lcov-report/src/user-event/event-builder/test-input.ts.html +0 -343
  200. package/coverage/lcov-report/src/user-event/event-builder/text-input.ts.html +0 -343
  201. package/coverage/lcov-report/src/user-event/index.html +0 -116
  202. package/coverage/lcov-report/src/user-event/index.ts.html +0 -121
  203. package/coverage/lcov-report/src/user-event/press/index.html +0 -131
  204. package/coverage/lcov-report/src/user-event/press/index.ts.html +0 -88
  205. package/coverage/lcov-report/src/user-event/press/press.ts.html +0 -133
  206. package/coverage/lcov-report/src/user-event/setup/index.html +0 -131
  207. package/coverage/lcov-report/src/user-event/setup/index.ts.html +0 -91
  208. package/coverage/lcov-report/src/user-event/setup/setup.ts.html +0 -358
  209. package/coverage/lcov-report/src/user-event/type/index.html +0 -146
  210. package/coverage/lcov-report/src/user-event/type/index.ts.html +0 -88
  211. package/coverage/lcov-report/src/user-event/type/parseKeys.ts.html +0 -208
  212. package/coverage/lcov-report/src/user-event/type/type.ts.html +0 -484
  213. package/coverage/lcov-report/src/user-event/utils/content-size.ts.html +0 -160
  214. package/coverage/lcov-report/src/user-event/utils/dispatch-event.ts.html +0 -367
  215. package/coverage/lcov-report/src/user-event/utils/events.ts.html +0 -247
  216. package/coverage/lcov-report/src/user-event/utils/index.html +0 -176
  217. package/coverage/lcov-report/src/user-event/utils/index.ts.html +0 -97
  218. package/coverage/lcov-report/src/user-event/utils/text-range.ts.html +0 -118
  219. package/coverage/lcov-report/src/user-event/utils/wait.ts.html +0 -130
  220. package/coverage/lcov-report/src/waitFor.ts.html +0 -772
  221. package/coverage/lcov-report/src/waitForElementToBeRemoved.ts.html +0 -211
  222. package/coverage/lcov-report/src/within.ts.html +0 -175
  223. package/coverage/lcov.info +0 -2614
  224. package/examples/.DS_Store +0 -0
  225. package/examples/basic/.expo/devices.json +0 -3
  226. package/examples/basic/yarn-error.log +0 -8083
  227. package/examples/redux/yarn-error.log +0 -8083
  228. package/src/.DS_Store +0 -0
  229. package/src/__tests__/.DS_Store +0 -0
  230. package/src/helpers/filterNodeByType.ts +0 -7
  231. package/website/.DS_Store +0 -0
  232. package/website/.docusaurus/DONT-EDIT-THIS-FOLDER +0 -5
  233. package/website/.docusaurus/client-modules.js +0 -6
  234. package/website/.docusaurus/codeTranslations.json +0 -1
  235. package/website/.docusaurus/docusaurus-plugin-content-blog/default/blog-post-list-prop-default.json +0 -4
  236. package/website/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json +0 -4
  237. package/website/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json +0 -4
  238. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-api-md-c82.json +0 -27
  239. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-eslint-p-llugin-testing-library-md-d24.json +0 -27
  240. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-faq-md-ad8.json +0 -27
  241. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-getting-started-md-8a6.json +0 -23
  242. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-how-should-i-query-md-f2d.json +0 -27
  243. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-migration-v-11-md-add.json +0 -27
  244. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-migration-v-12-md-14f.json +0 -27
  245. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-migration-v-2-md-698.json +0 -27
  246. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-migration-v-7-md-6bb.json +0 -27
  247. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-migration-v-9-md-f69.json +0 -27
  248. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-queries-md-7ad.json +0 -27
  249. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-react-navigation-md-1bd.json +0 -27
  250. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-redux-integration-md-77b.json +0 -23
  251. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-testing-environment-md-1c6.json +0 -27
  252. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-troubleshooting-md-01d.json +0 -27
  253. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-understanding-act-md-aa9.json +0 -27
  254. package/website/.docusaurus/docusaurus-plugin-content-docs/default/site-docs-user-event-md-501.json +0 -27
  255. package/website/.docusaurus/docusaurus-plugin-content-docs/default/version-current-metadata-prop-751.json +0 -268
  256. package/website/.docusaurus/docusaurus-plugin-content-docs/react-native-testing-library-docs-route-96e.json +0 -115
  257. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-api-md-c82.json +0 -19
  258. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-eslint-p-llugin-testing-library-md-d24.json +0 -19
  259. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-faq-md-ad8.json +0 -19
  260. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-getting-started-md-8a6.json +0 -15
  261. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-how-should-i-query-md-f2d.json +0 -19
  262. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-migration-v-11-md-add.json +0 -19
  263. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-migration-v-2-md-698.json +0 -19
  264. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-migration-v-7-md-6bb.json +0 -19
  265. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-migration-v-9-md-f69.json +0 -19
  266. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-queries-md-7ad.json +0 -19
  267. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-react-navigation-md-1bd.json +0 -19
  268. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-redux-integration-md-77b.json +0 -15
  269. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-troubleshooting-md-01d.json +0 -19
  270. package/website/.docusaurus/docusaurus-plugin-content-docs/site-docs-understanding-act-md-aa9.json +0 -19
  271. package/website/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json +0 -4
  272. package/website/.docusaurus/docusaurus-plugin-debug/default/docusaurus-debug-all-content-673.json +0 -623
  273. package/website/.docusaurus/docusaurus-plugin-debug/default/plugin-route-context-module-100.json +0 -4
  274. package/website/.docusaurus/docusaurus-theme-search-algolia/default/plugin-route-context-module-100.json +0 -4
  275. package/website/.docusaurus/docusaurus.config.js +0 -267
  276. package/website/.docusaurus/docusaurus.config.mjs +0 -365
  277. package/website/.docusaurus/globalData.json +0 -113
  278. package/website/.docusaurus/i18n.json +0 -17
  279. package/website/.docusaurus/registry.js +0 -35
  280. package/website/.docusaurus/routes.js +0 -162
  281. package/website/.docusaurus/routesChunkNames.json +0 -133
  282. package/website/.docusaurus/site-metadata.json +0 -36
  283. package/yarn-error.log +0 -10613
@@ -1,484 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/user-event/type/type.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../../prettify.css" />
9
- <link rel="stylesheet" href="../../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/user-event/type</a> type.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>39/39</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>23/23</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>3/3</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>39/39</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input oninput="onInput()" type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line high'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
200
- <span class="cline-any cline-neutral">&nbsp;</span>
201
- <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-neutral">&nbsp;</span>
203
- <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-neutral">&nbsp;</span>
205
- <span class="cline-any cline-neutral">&nbsp;</span>
206
- <span class="cline-any cline-neutral">&nbsp;</span>
207
- <span class="cline-any cline-neutral">&nbsp;</span>
208
- <span class="cline-any cline-neutral">&nbsp;</span>
209
- <span class="cline-any cline-neutral">&nbsp;</span>
210
- <span class="cline-any cline-neutral">&nbsp;</span>
211
- <span class="cline-any cline-neutral">&nbsp;</span>
212
- <span class="cline-any cline-neutral">&nbsp;</span>
213
- <span class="cline-any cline-neutral">&nbsp;</span>
214
- <span class="cline-any cline-neutral">&nbsp;</span>
215
- <span class="cline-any cline-neutral">&nbsp;</span>
216
- <span class="cline-any cline-neutral">&nbsp;</span>
217
- <span class="cline-any cline-neutral">&nbsp;</span>
218
- <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-neutral">&nbsp;</span>
221
- <span class="cline-any cline-neutral">&nbsp;</span>
222
- <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-neutral">&nbsp;</span>
224
- <span class="cline-any cline-yes">14x</span>
225
- <span class="cline-any cline-yes">1x</span>
226
- <span class="cline-any cline-neutral">&nbsp;</span>
227
- <span class="cline-any cline-neutral">&nbsp;</span>
228
- <span class="cline-any cline-neutral">&nbsp;</span>
229
- <span class="cline-any cline-neutral">&nbsp;</span>
230
- <span class="cline-any cline-neutral">&nbsp;</span>
231
- <span class="cline-any cline-yes">13x</span>
232
- <span class="cline-any cline-neutral">&nbsp;</span>
233
- <span class="cline-any cline-yes">13x</span>
234
- <span class="cline-any cline-yes">12x</span>
235
- <span class="cline-any cline-yes">12x</span>
236
- <span class="cline-any cline-neutral">&nbsp;</span>
237
- <span class="cline-any cline-neutral">&nbsp;</span>
238
- <span class="cline-any cline-yes">13x</span>
239
- <span class="cline-any cline-yes">13x</span>
240
- <span class="cline-any cline-neutral">&nbsp;</span>
241
- <span class="cline-any cline-yes">13x</span>
242
- <span class="cline-any cline-yes">12x</span>
243
- <span class="cline-any cline-neutral">&nbsp;</span>
244
- <span class="cline-any cline-neutral">&nbsp;</span>
245
- <span class="cline-any cline-yes">13x</span>
246
- <span class="cline-any cline-yes">13x</span>
247
- <span class="cline-any cline-yes">32x</span>
248
- <span class="cline-any cline-yes">32x</span>
249
- <span class="cline-any cline-neutral">&nbsp;</span>
250
- <span class="cline-any cline-yes">32x</span>
251
- <span class="cline-any cline-yes">32x</span>
252
- <span class="cline-any cline-neutral">&nbsp;</span>
253
- <span class="cline-any cline-neutral">&nbsp;</span>
254
- <span class="cline-any cline-yes">13x</span>
255
- <span class="cline-any cline-neutral">&nbsp;</span>
256
- <span class="cline-any cline-yes">13x</span>
257
- <span class="cline-any cline-yes">1x</span>
258
- <span class="cline-any cline-yes">1x</span>
259
- <span class="cline-any cline-neutral">&nbsp;</span>
260
- <span class="cline-any cline-neutral">&nbsp;</span>
261
- <span class="cline-any cline-neutral">&nbsp;</span>
262
- <span class="cline-any cline-neutral">&nbsp;</span>
263
- <span class="cline-any cline-neutral">&nbsp;</span>
264
- <span class="cline-any cline-neutral">&nbsp;</span>
265
- <span class="cline-any cline-yes">13x</span>
266
- <span class="cline-any cline-yes">13x</span>
267
- <span class="cline-any cline-neutral">&nbsp;</span>
268
- <span class="cline-any cline-neutral">&nbsp;</span>
269
- <span class="cline-any cline-neutral">&nbsp;</span>
270
- <span class="cline-any cline-neutral">&nbsp;</span>
271
- <span class="cline-any cline-yes">13x</span>
272
- <span class="cline-any cline-neutral">&nbsp;</span>
273
- <span class="cline-any cline-neutral">&nbsp;</span>
274
- <span class="cline-any cline-neutral">&nbsp;</span>
275
- <span class="cline-any cline-neutral">&nbsp;</span>
276
- <span class="cline-any cline-neutral">&nbsp;</span>
277
- <span class="cline-any cline-neutral">&nbsp;</span>
278
- <span class="cline-any cline-neutral">&nbsp;</span>
279
- <span class="cline-any cline-neutral">&nbsp;</span>
280
- <span class="cline-any cline-yes">32x</span>
281
- <span class="cline-any cline-neutral">&nbsp;</span>
282
- <span class="cline-any cline-yes">32x</span>
283
- <span class="cline-any cline-neutral">&nbsp;</span>
284
- <span class="cline-any cline-neutral">&nbsp;</span>
285
- <span class="cline-any cline-neutral">&nbsp;</span>
286
- <span class="cline-any cline-neutral">&nbsp;</span>
287
- <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-yes">32x</span>
289
- <span class="cline-any cline-yes">2x</span>
290
- <span class="cline-any cline-neutral">&nbsp;</span>
291
- <span class="cline-any cline-neutral">&nbsp;</span>
292
- <span class="cline-any cline-neutral">&nbsp;</span>
293
- <span class="cline-any cline-neutral">&nbsp;</span>
294
- <span class="cline-any cline-neutral">&nbsp;</span>
295
- <span class="cline-any cline-neutral">&nbsp;</span>
296
- <span class="cline-any cline-yes">32x</span>
297
- <span class="cline-any cline-neutral">&nbsp;</span>
298
- <span class="cline-any cline-neutral">&nbsp;</span>
299
- <span class="cline-any cline-neutral">&nbsp;</span>
300
- <span class="cline-any cline-neutral">&nbsp;</span>
301
- <span class="cline-any cline-neutral">&nbsp;</span>
302
- <span class="cline-any cline-yes">32x</span>
303
- <span class="cline-any cline-neutral">&nbsp;</span>
304
- <span class="cline-any cline-yes">32x</span>
305
- <span class="cline-any cline-yes">32x</span>
306
- <span class="cline-any cline-neutral">&nbsp;</span>
307
- <span class="cline-any cline-neutral">&nbsp;</span>
308
- <span class="cline-any cline-neutral">&nbsp;</span>
309
- <span class="cline-any cline-neutral">&nbsp;</span>
310
- <span class="cline-any cline-neutral">&nbsp;</span>
311
- <span class="cline-any cline-yes">32x</span>
312
- <span class="cline-any cline-yes">2x</span>
313
- <span class="cline-any cline-yes">2x</span>
314
- <span class="cline-any cline-neutral">&nbsp;</span>
315
- <span class="cline-any cline-neutral">&nbsp;</span>
316
- <span class="cline-any cline-neutral">&nbsp;</span>
317
- <span class="cline-any cline-neutral">&nbsp;</span>
318
- <span class="cline-any cline-neutral">&nbsp;</span>
319
- <span class="cline-any cline-neutral">&nbsp;</span>
320
- <span class="cline-any cline-neutral">&nbsp;</span>
321
- <span class="cline-any cline-neutral">&nbsp;</span>
322
- <span class="cline-any cline-yes">32x</span>
323
- <span class="cline-any cline-yes">2x</span>
324
- <span class="cline-any cline-neutral">&nbsp;</span>
325
- <span class="cline-any cline-neutral">&nbsp;</span>
326
- <span class="cline-any cline-yes">30x</span>
327
- <span class="cline-any cline-yes">1x</span>
328
- <span class="cline-any cline-neutral">&nbsp;</span>
329
- <span class="cline-any cline-neutral">&nbsp;</span>
330
- <span class="cline-any cline-yes">29x</span>
331
- <span class="cline-any cline-neutral">&nbsp;</span>
332
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { ReactTestInstance } from 'react-test-renderer';
333
- import { getConfig } from '../../config';
334
- import { EventBuilder } from '../event-builder';
335
- import { ErrorWithStack } from '../../helpers/errors';
336
- import { UserEventInstance } from '../setup';
337
- import {
338
- dispatchOwnHostEvent,
339
- wait,
340
- getTextRange,
341
- getTextContentSize,
342
- } from '../utils';
343
- &nbsp;
344
- import { parseKeys } from './parseKeys';
345
- &nbsp;
346
- export interface TypeOptions {
347
- skipPress?: boolean;
348
- submitEditing?: boolean;
349
- }
350
- &nbsp;
351
- export async function type(
352
- this: UserEventInstance,
353
- element: ReactTestInstance,
354
- text: string,
355
- options?: TypeOptions
356
- ): Promise&lt;void&gt; {
357
- if (element.type !== getConfig().hostComponentNames?.textInput) {
358
- throw new ErrorWithStack(
359
- `type() works only with "TextInput" elements. Passed element has type "${element.type}".`,
360
- type
361
- );
362
- }
363
- &nbsp;
364
- const keys = parseKeys(text);
365
- &nbsp;
366
- if (options?.skipPress !== true) {
367
- await wait(this.config);
368
- dispatchOwnHostEvent(element, 'pressIn', EventBuilder.Common.touch());
369
- }
370
- &nbsp;
371
- await wait(this.config);
372
- dispatchOwnHostEvent(element, 'focus', EventBuilder.Common.focus());
373
- &nbsp;
374
- if (options?.skipPress !== true) {
375
- dispatchOwnHostEvent(element, 'pressOut', EventBuilder.Common.touch());
376
- }
377
- &nbsp;
378
- let currentText = element.props.value ?? element.props.defaultValue ?? '';
379
- for (const key of keys) {
380
- const previousText = element.props.value ?? currentText;
381
- currentText = applyKey(previousText, key);
382
- &nbsp;
383
- await wait(this.config);
384
- emitTypingEvents(element, key, currentText, previousText);
385
- }
386
- &nbsp;
387
- const finalText = element.props.value ?? currentText;
388
- &nbsp;
389
- if (options?.submitEditing === true) {
390
- await wait(this.config);
391
- dispatchOwnHostEvent(
392
- element,
393
- 'submitEditing',
394
- EventBuilder.TextInput.submitEditing(finalText)
395
- );
396
- }
397
- &nbsp;
398
- await wait(this.config);
399
- dispatchOwnHostEvent(
400
- element,
401
- 'endEditing',
402
- EventBuilder.TextInput.endEditing(finalText)
403
- );
404
- dispatchOwnHostEvent(element, 'blur', EventBuilder.Common.blur());
405
- }
406
- &nbsp;
407
- async function emitTypingEvents(
408
- element: ReactTestInstance,
409
- key: string,
410
- currentText: string,
411
- previousText: string
412
- ) {
413
- const isMultiline = element.props.multiline === true;
414
- &nbsp;
415
- dispatchOwnHostEvent(
416
- element,
417
- 'keyPress',
418
- EventBuilder.TextInput.keyPress(key)
419
- );
420
- &nbsp;
421
- if (isMultiline) {
422
- dispatchOwnHostEvent(
423
- element,
424
- 'textInput',
425
- EventBuilder.TextInput.textInput(currentText, previousText)
426
- );
427
- }
428
- &nbsp;
429
- dispatchOwnHostEvent(
430
- element,
431
- 'change',
432
- EventBuilder.TextInput.change(currentText)
433
- );
434
- &nbsp;
435
- dispatchOwnHostEvent(element, 'changeText', currentText);
436
- &nbsp;
437
- const selectionRange = getTextRange(currentText);
438
- dispatchOwnHostEvent(
439
- element,
440
- 'selectionChange',
441
- EventBuilder.TextInput.selectionChange(selectionRange)
442
- );
443
- &nbsp;
444
- if (isMultiline) {
445
- const contentSize = getTextContentSize(currentText);
446
- dispatchOwnHostEvent(
447
- element,
448
- 'contentSizeChange',
449
- EventBuilder.TextInput.contentSizeChange(contentSize)
450
- );
451
- }
452
- }
453
- &nbsp;
454
- function applyKey(text: string, key: string) {
455
- if (key === 'Enter') {
456
- return `${text}\n`;
457
- }
458
- &nbsp;
459
- if (key === 'Backspace') {
460
- return text.slice(0, -1);
461
- }
462
- &nbsp;
463
- return text + key;
464
- }
465
- &nbsp;</pre></td></tr></table></pre>
466
-
467
- <div class='push'></div><!-- for sticky footer -->
468
- </div><!-- /wrapper -->
469
- <div class='footer quiet pad2 space-top1 center small'>
470
- Code coverage generated by
471
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
472
- at 2023-05-10T21:10:10.827Z
473
- </div>
474
- <script src="../../../prettify.js"></script>
475
- <script>
476
- window.onload = function () {
477
- prettyPrint();
478
- };
479
- </script>
480
- <script src="../../../sorter.js"></script>
481
- <script src="../../../block-navigation.js"></script>
482
- </body>
483
- </html>
484
-
@@ -1,160 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/user-event/utils/content-size.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../../prettify.css" />
9
- <link rel="stylesheet" href="../../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/user-event/utils</a> content-size.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>4/4</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/0</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>2/2</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>3/3</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input oninput="onInput()" type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line high'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
92
- <span class="cline-any cline-neutral">&nbsp;</span>
93
- <span class="cline-any cline-neutral">&nbsp;</span>
94
- <span class="cline-any cline-neutral">&nbsp;</span>
95
- <span class="cline-any cline-neutral">&nbsp;</span>
96
- <span class="cline-any cline-neutral">&nbsp;</span>
97
- <span class="cline-any cline-neutral">&nbsp;</span>
98
- <span class="cline-any cline-neutral">&nbsp;</span>
99
- <span class="cline-any cline-neutral">&nbsp;</span>
100
- <span class="cline-any cline-neutral">&nbsp;</span>
101
- <span class="cline-any cline-neutral">&nbsp;</span>
102
- <span class="cline-any cline-neutral">&nbsp;</span>
103
- <span class="cline-any cline-neutral">&nbsp;</span>
104
- <span class="cline-any cline-neutral">&nbsp;</span>
105
- <span class="cline-any cline-neutral">&nbsp;</span>
106
- <span class="cline-any cline-neutral">&nbsp;</span>
107
- <span class="cline-any cline-neutral">&nbsp;</span>
108
- <span class="cline-any cline-yes">2x</span>
109
- <span class="cline-any cline-yes">5x</span>
110
- <span class="cline-any cline-neutral">&nbsp;</span>
111
- <span class="cline-any cline-yes">2x</span>
112
- <span class="cline-any cline-neutral">&nbsp;</span>
113
- <span class="cline-any cline-neutral">&nbsp;</span>
114
- <span class="cline-any cline-neutral">&nbsp;</span>
115
- <span class="cline-any cline-neutral">&nbsp;</span>
116
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">export interface ContentSize {
117
- width: number;
118
- height: number;
119
- }
120
- &nbsp;
121
- /**
122
- * Simple function for getting mock the size of given text.
123
- *
124
- * It works by calculating height based on number of lines and width based on
125
- * the longest line length. It does not take into account font size, font
126
- * family, as well as different letter sizes.
127
- *
128
- * @param text text to be measure
129
- * @returns width and height of the text
130
- */
131
- &nbsp;
132
- export function getTextContentSize(text: string): ContentSize {
133
- const lines = text.split('\n');
134
- const maxLineLength = Math.max(...lines.map((line) =&gt; line.length));
135
- &nbsp;
136
- return {
137
- width: maxLineLength * 5,
138
- height: lines.length * 16,
139
- };
140
- }
141
- &nbsp;</pre></td></tr></table></pre>
142
-
143
- <div class='push'></div><!-- for sticky footer -->
144
- </div><!-- /wrapper -->
145
- <div class='footer quiet pad2 space-top1 center small'>
146
- Code coverage generated by
147
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
148
- at 2023-05-10T21:10:10.827Z
149
- </div>
150
- <script src="../../../prettify.js"></script>
151
- <script>
152
- window.onload = function () {
153
- prettyPrint();
154
- };
155
- </script>
156
- <script src="../../../sorter.js"></script>
157
- <script src="../../../block-navigation.js"></script>
158
- </body>
159
- </html>
160
-