@xincli/opentui-core 0.4.6 → 0.4.7

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 (619) hide show
  1. package/LICENSE +21 -0
  2. package/NativeSpanFeed.d.ts +52 -0
  3. package/README.md +0 -0
  4. package/Renderable.d.ts +346 -0
  5. package/animation/Timeline.d.ts +126 -0
  6. package/ansi.d.ts +17 -0
  7. package/audio.d.ts +89 -0
  8. package/buffer.d.ts +113 -0
  9. package/console.d.ts +146 -0
  10. package/edit-buffer.d.ts +97 -0
  11. package/editor-view.d.ts +72 -0
  12. package/index-m1y9e40w.js +10045 -0
  13. package/index-m1y9e40w.js.map +32 -0
  14. package/index-sqk4ajdf.js +16121 -0
  15. package/index-sqk4ajdf.js.map +58 -0
  16. package/index.d.ts +24 -0
  17. package/index.js +11709 -0
  18. package/index.js.map +35 -0
  19. package/lib/KeyHandler.d.ts +61 -0
  20. package/lib/RGBA.d.ts +42 -0
  21. package/lib/ascii.font.d.ts +508 -0
  22. package/lib/border.d.ts +51 -0
  23. package/lib/bunfs.d.ts +7 -0
  24. package/lib/clipboard.d.ts +15 -0
  25. package/lib/clock.d.ts +15 -0
  26. package/lib/data-paths.d.ts +26 -0
  27. package/lib/debounce.d.ts +42 -0
  28. package/lib/detect-links.d.ts +6 -0
  29. package/lib/env.d.ts +42 -0
  30. package/lib/extmarks-history.d.ts +17 -0
  31. package/lib/extmarks.d.ts +90 -0
  32. package/lib/hast-styled-text.d.ts +17 -0
  33. package/lib/index.d.ts +22 -0
  34. package/lib/keybinding.internal.d.ts +33 -0
  35. package/lib/objects-in-viewport.d.ts +24 -0
  36. package/lib/output.capture.d.ts +24 -0
  37. package/lib/parse.keypress-kitty.d.ts +3 -0
  38. package/lib/parse.keypress.d.ts +27 -0
  39. package/lib/parse.mouse.d.ts +30 -0
  40. package/lib/paste.d.ts +7 -0
  41. package/lib/queue.d.ts +15 -0
  42. package/lib/render-geometry.d.ts +8 -0
  43. package/lib/renderable.validations.d.ts +12 -0
  44. package/lib/scroll-acceleration.d.ts +43 -0
  45. package/lib/selection.d.ts +64 -0
  46. package/lib/singleton.d.ts +8 -0
  47. package/lib/stdin-parser.d.ts +90 -0
  48. package/lib/styled-text.d.ts +63 -0
  49. package/lib/terminal-capability-detection.d.ts +32 -0
  50. package/lib/terminal-palette.d.ts +65 -0
  51. package/lib/tree-sitter/assets/update.d.ts +12 -0
  52. package/lib/tree-sitter/client.d.ts +65 -0
  53. package/lib/tree-sitter/default-parsers.d.ts +2 -0
  54. package/lib/tree-sitter/download-utils.d.ts +21 -0
  55. package/lib/tree-sitter/index.d.ts +7 -0
  56. package/lib/tree-sitter/parser.worker.d.ts +1 -0
  57. package/lib/tree-sitter/parsers-config.d.ts +53 -0
  58. package/lib/tree-sitter/resolve-ft.d.ts +5 -0
  59. package/lib/tree-sitter/types.d.ts +185 -0
  60. package/lib/tree-sitter/update-assets.d.ts +3 -0
  61. package/lib/tree-sitter/update-assets.js +379 -0
  62. package/lib/tree-sitter/update-assets.js.map +12 -0
  63. package/lib/tree-sitter-styled-text.d.ts +16 -0
  64. package/lib/validate-dir-name.d.ts +1 -0
  65. package/lib/yoga.options.d.ts +32 -0
  66. package/native-event-worker-repro.worker.d.ts +1 -0
  67. package/package.json +52 -74
  68. package/parser.worker.js +1399 -0
  69. package/parser.worker.js.map +20 -0
  70. package/platform/ffi.d.ts +129 -0
  71. package/platform/runtime.d.ts +14 -0
  72. package/platform/test.d.ts +12 -0
  73. package/platform/worker.d.ts +26 -0
  74. package/platform/worker.node-test.d.ts +1 -0
  75. package/plugins/core-slot.d.ts +72 -0
  76. package/plugins/registry.d.ts +42 -0
  77. package/plugins/types.d.ts +34 -0
  78. package/post/effects.d.ts +147 -0
  79. package/post/filters.d.ts +65 -0
  80. package/post/matrices.d.ts +20 -0
  81. package/renderables/ASCIIFont.d.ts +52 -0
  82. package/renderables/Box.d.ts +85 -0
  83. package/renderables/Code.d.ts +97 -0
  84. package/renderables/Diff.d.ts +147 -0
  85. package/renderables/EditBufferRenderable.d.ts +238 -0
  86. package/renderables/FrameBuffer.d.ts +16 -0
  87. package/renderables/Input.d.ts +72 -0
  88. package/renderables/LineNumberRenderable.d.ts +78 -0
  89. package/renderables/Markdown.d.ts +255 -0
  90. package/renderables/ScrollBar.d.ts +77 -0
  91. package/renderables/ScrollBox.d.ts +128 -0
  92. package/renderables/Select.d.ts +122 -0
  93. package/renderables/Slider.d.ts +47 -0
  94. package/renderables/TabSelect.d.ts +98 -0
  95. package/renderables/Text.d.ts +36 -0
  96. package/renderables/TextBufferRenderable.d.ts +107 -0
  97. package/renderables/TextNode.d.ts +92 -0
  98. package/renderables/TextTable.d.ts +154 -0
  99. package/renderables/Textarea.d.ts +65 -0
  100. package/renderables/TimeToFirstDraw.d.ts +24 -0
  101. package/renderables/__tests__/renderable-test-utils.d.ts +12 -0
  102. package/renderables/composition/VRenderable.d.ts +16 -0
  103. package/renderables/composition/constructs.d.ts +35 -0
  104. package/renderables/composition/vnode.d.ts +46 -0
  105. package/renderables/index.d.ts +23 -0
  106. package/renderables/markdown-parser.d.ts +11 -0
  107. package/renderer-theme-mode.d.ts +29 -0
  108. package/renderer.d.ts +601 -0
  109. package/runtime-plugin-support-configure.d.ts +4 -0
  110. package/runtime-plugin-support-configure.js +36 -0
  111. package/runtime-plugin-support-configure.js.map +1 -0
  112. package/runtime-plugin-support-configure.node.js +15 -0
  113. package/runtime-plugin-support.d.ts +3 -0
  114. package/runtime-plugin-support.js +5 -0
  115. package/runtime-plugin-support.js.map +1 -0
  116. package/runtime-plugin-support.node.js +15 -0
  117. package/runtime-plugin.d.ts +16 -0
  118. package/runtime-plugin.js +473 -0
  119. package/runtime-plugin.js.map +1 -0
  120. package/runtime-plugin.node.js +15 -0
  121. package/syntax-style.d.ts +61 -0
  122. package/testing/bun-test-node.d.ts +87 -0
  123. package/testing/manual-clock.d.ts +17 -0
  124. package/testing/mock-keys.d.ts +81 -0
  125. package/testing/mock-mouse.d.ts +38 -0
  126. package/testing/mock-tree-sitter-client.d.ts +27 -0
  127. package/testing/spy.d.ts +7 -0
  128. package/testing/terminal-capabilities.d.ts +7 -0
  129. package/testing/test-recorder.d.ts +61 -0
  130. package/testing/test-renderer.d.ts +54 -0
  131. package/testing/test-streams.d.ts +12 -0
  132. package/testing.d.ts +8 -0
  133. package/testing.js +1004 -0
  134. package/testing.js.map +18 -0
  135. package/tests/yoga-upstream/tools/MeasureCounter.d.ts +16 -0
  136. package/tests/yoga-upstream/tools/utils.d.ts +11 -0
  137. package/text-buffer-view.d.ts +42 -0
  138. package/text-buffer.d.ts +66 -0
  139. package/types.d.ts +175 -0
  140. package/utils.d.ts +14 -0
  141. package/yoga.d.ts +437 -0
  142. package/yoga.js +193 -0
  143. package/yoga.js.map +9 -0
  144. package/zig-structs.d.ts +256 -0
  145. package/zig.d.ts +496 -0
  146. package/dev/keypress-debug-renderer.ts +0 -148
  147. package/dev/keypress-debug.ts +0 -43
  148. package/dev/print-env-vars.ts +0 -32
  149. package/dev/test-tmux-graphics-334.sh +0 -68
  150. package/dev/test-tmux-theme-queries.sh +0 -151
  151. package/dev/thai-debug-test.ts +0 -68
  152. package/dev/theme-mode.ts +0 -290
  153. package/docs/development.md +0 -144
  154. package/prebuilt/aarch64-android/libopentui.so +0 -0
  155. package/scripts/build-android.ts +0 -226
  156. package/scripts/build-native-termux.sh +0 -525
  157. package/scripts/build.ts +0 -530
  158. package/scripts/dist-test.ts +0 -312
  159. package/scripts/package-prebuilt.ts +0 -110
  160. package/scripts/publish.ts +0 -60
  161. package/scripts/test-node-hook.mjs +0 -16
  162. package/scripts/test-node.ts +0 -241
  163. package/scripts/vendor-deps.sh +0 -73
  164. package/src/NativeSpanFeed.ts +0 -375
  165. package/src/Renderable.ts +0 -1878
  166. package/src/__snapshots__/buffer.test.ts.snap +0 -28
  167. package/src/animation/Timeline.test.ts +0 -2709
  168. package/src/animation/Timeline.ts +0 -598
  169. package/src/ansi.ts +0 -22
  170. package/src/audio.ts +0 -479
  171. package/src/benchmark/attenuation-benchmark.ts +0 -81
  172. package/src/benchmark/audio-playback-benchmark.ts +0 -344
  173. package/src/benchmark/box-draw-benchmark.ts +0 -1042
  174. package/src/benchmark/colormatrix-benchmark.ts +0 -123
  175. package/src/benchmark/gain-benchmark.ts +0 -80
  176. package/src/benchmark/latest-all-bench-run.json +0 -707
  177. package/src/benchmark/latest-async-bench-run.json +0 -336
  178. package/src/benchmark/latest-default-bench-run.json +0 -657
  179. package/src/benchmark/latest-large-bench-run.json +0 -707
  180. package/src/benchmark/latest-quick-bench-run.json +0 -207
  181. package/src/benchmark/layout-benchmark.ts +0 -2547
  182. package/src/benchmark/markdown-benchmark.ts +0 -1796
  183. package/src/benchmark/native-span-feed-async-benchmark.ts +0 -355
  184. package/src/benchmark/native-span-feed-benchmark.md +0 -56
  185. package/src/benchmark/native-span-feed-benchmark.ts +0 -596
  186. package/src/benchmark/native-span-feed-compare.ts +0 -280
  187. package/src/benchmark/render-traversal-benchmark.ts +0 -928
  188. package/src/benchmark/text-buffer-render-benchmark.ts +0 -874
  189. package/src/benchmark/text-table-benchmark.ts +0 -948
  190. package/src/buffer.test.ts +0 -292
  191. package/src/buffer.ts +0 -564
  192. package/src/console.test.ts +0 -629
  193. package/src/console.ts +0 -1253
  194. package/src/edit-buffer.test.ts +0 -1852
  195. package/src/edit-buffer.ts +0 -417
  196. package/src/editor-view.test.ts +0 -1056
  197. package/src/editor-view.ts +0 -290
  198. package/src/index.ts +0 -25
  199. package/src/lib/KeyHandler.integration.test.ts +0 -292
  200. package/src/lib/KeyHandler.stopPropagation.test.ts +0 -289
  201. package/src/lib/KeyHandler.test.ts +0 -662
  202. package/src/lib/KeyHandler.ts +0 -222
  203. package/src/lib/RGBA.test.ts +0 -60
  204. package/src/lib/RGBA.ts +0 -343
  205. package/src/lib/ascii.font.ts +0 -330
  206. package/src/lib/border.test.ts +0 -83
  207. package/src/lib/border.ts +0 -170
  208. package/src/lib/bunfs.test.ts +0 -27
  209. package/src/lib/bunfs.ts +0 -18
  210. package/src/lib/clipboard.test.ts +0 -63
  211. package/src/lib/clipboard.ts +0 -41
  212. package/src/lib/clock.ts +0 -35
  213. package/src/lib/data-paths.test.ts +0 -133
  214. package/src/lib/data-paths.ts +0 -109
  215. package/src/lib/debounce.ts +0 -106
  216. package/src/lib/detect-links.test.ts +0 -98
  217. package/src/lib/detect-links.ts +0 -56
  218. package/src/lib/env.test.ts +0 -228
  219. package/src/lib/env.ts +0 -209
  220. package/src/lib/extmarks-history.ts +0 -51
  221. package/src/lib/extmarks-multiwidth.test.ts +0 -324
  222. package/src/lib/extmarks.test.ts +0 -3547
  223. package/src/lib/extmarks.ts +0 -861
  224. package/src/lib/fonts/block.json +0 -405
  225. package/src/lib/fonts/grid.json +0 -265
  226. package/src/lib/fonts/huge.json +0 -741
  227. package/src/lib/fonts/pallet.json +0 -314
  228. package/src/lib/fonts/shade.json +0 -591
  229. package/src/lib/fonts/slick.json +0 -321
  230. package/src/lib/fonts/tiny.json +0 -69
  231. package/src/lib/hast-styled-text.ts +0 -59
  232. package/src/lib/index.ts +0 -22
  233. package/src/lib/keybinding.internal.test.ts +0 -342
  234. package/src/lib/keybinding.internal.ts +0 -182
  235. package/src/lib/objects-in-viewport.test.ts +0 -789
  236. package/src/lib/objects-in-viewport.ts +0 -153
  237. package/src/lib/output.capture.ts +0 -58
  238. package/src/lib/parse.keypress-kitty.protocol.test.ts +0 -347
  239. package/src/lib/parse.keypress-kitty.test.ts +0 -712
  240. package/src/lib/parse.keypress-kitty.ts +0 -470
  241. package/src/lib/parse.keypress.test.ts +0 -2020
  242. package/src/lib/parse.keypress.ts +0 -480
  243. package/src/lib/parse.mouse.test.ts +0 -552
  244. package/src/lib/parse.mouse.ts +0 -232
  245. package/src/lib/paste.ts +0 -18
  246. package/src/lib/queue.ts +0 -65
  247. package/src/lib/render-geometry.ts +0 -36
  248. package/src/lib/renderable.validations.test.ts +0 -87
  249. package/src/lib/renderable.validations.ts +0 -83
  250. package/src/lib/scroll-acceleration.ts +0 -98
  251. package/src/lib/selection.ts +0 -261
  252. package/src/lib/singleton.ts +0 -34
  253. package/src/lib/stdin-parser.test.ts +0 -2439
  254. package/src/lib/stdin-parser.ts +0 -2007
  255. package/src/lib/styled-text.ts +0 -178
  256. package/src/lib/terminal-capability-detection.test.ts +0 -226
  257. package/src/lib/terminal-capability-detection.ts +0 -98
  258. package/src/lib/terminal-palette.test.ts +0 -954
  259. package/src/lib/terminal-palette.ts +0 -441
  260. package/src/lib/tree-sitter/assets/README.md +0 -119
  261. package/src/lib/tree-sitter/assets/update.ts +0 -360
  262. package/src/lib/tree-sitter/assets.d.ts +0 -9
  263. package/src/lib/tree-sitter/cache.test.ts +0 -291
  264. package/src/lib/tree-sitter/client.test.ts +0 -1434
  265. package/src/lib/tree-sitter/client.ts +0 -847
  266. package/src/lib/tree-sitter/default-parsers.ts +0 -133
  267. package/src/lib/tree-sitter/download-utils.ts +0 -148
  268. package/src/lib/tree-sitter/index.ts +0 -75
  269. package/src/lib/tree-sitter/parser.worker.ts +0 -1098
  270. package/src/lib/tree-sitter/parsers-config.ts +0 -81
  271. package/src/lib/tree-sitter/resolve-ft.test.ts +0 -55
  272. package/src/lib/tree-sitter/resolve-ft.ts +0 -189
  273. package/src/lib/tree-sitter/types.ts +0 -132
  274. package/src/lib/tree-sitter/update-assets.ts +0 -10
  275. package/src/lib/tree-sitter-styled-text.test.ts +0 -1253
  276. package/src/lib/tree-sitter-styled-text.ts +0 -314
  277. package/src/lib/validate-dir-name.ts +0 -55
  278. package/src/lib/yoga.options.test.ts +0 -628
  279. package/src/lib/yoga.options.ts +0 -346
  280. package/src/native-event-worker-repro.test.ts +0 -48
  281. package/src/native-event-worker-repro.worker.ts +0 -9
  282. package/src/native-handle.test.ts +0 -221
  283. package/src/platform/ffi.test.ts +0 -516
  284. package/src/platform/ffi.ts +0 -653
  285. package/src/platform/runtime.test.ts +0 -52
  286. package/src/platform/runtime.ts +0 -121
  287. package/src/platform/test.ts +0 -45
  288. package/src/platform/worker-handler-cleanup.fixture.ts +0 -12
  289. package/src/platform/worker-onmessage-startup.fixture.ts +0 -10
  290. package/src/platform/worker-startup.fixture.ts +0 -9
  291. package/src/platform/worker.node-test.ts +0 -153
  292. package/src/platform/worker.ts +0 -425
  293. package/src/plugins/core-slot.ts +0 -579
  294. package/src/plugins/registry.ts +0 -402
  295. package/src/plugins/types.ts +0 -46
  296. package/src/post/effects.ts +0 -948
  297. package/src/post/filters.ts +0 -512
  298. package/src/post/matrices.ts +0 -288
  299. package/src/renderables/ASCIIFont.ts +0 -219
  300. package/src/renderables/Box.test.ts +0 -474
  301. package/src/renderables/Box.ts +0 -353
  302. package/src/renderables/Code.test.ts +0 -2388
  303. package/src/renderables/Code.ts +0 -555
  304. package/src/renderables/Diff.regression.test.ts +0 -381
  305. package/src/renderables/Diff.test.ts +0 -3212
  306. package/src/renderables/Diff.ts +0 -1278
  307. package/src/renderables/EditBufferRenderable.test.ts +0 -288
  308. package/src/renderables/EditBufferRenderable.ts +0 -1152
  309. package/src/renderables/FrameBuffer.ts +0 -47
  310. package/src/renderables/Input.test.ts +0 -1310
  311. package/src/renderables/Input.ts +0 -273
  312. package/src/renderables/LineNumberRenderable.ts +0 -725
  313. package/src/renderables/Markdown.ts +0 -2144
  314. package/src/renderables/ScrollBar.ts +0 -423
  315. package/src/renderables/ScrollBox.ts +0 -903
  316. package/src/renderables/Select.test.ts +0 -1134
  317. package/src/renderables/Select.ts +0 -535
  318. package/src/renderables/Slider.test.ts +0 -456
  319. package/src/renderables/Slider.ts +0 -342
  320. package/src/renderables/TabSelect.test.ts +0 -238
  321. package/src/renderables/TabSelect.ts +0 -447
  322. package/src/renderables/Text.selection-buffer.test.ts +0 -118
  323. package/src/renderables/Text.test.ts +0 -2662
  324. package/src/renderables/Text.ts +0 -147
  325. package/src/renderables/TextBufferRenderable.ts +0 -504
  326. package/src/renderables/TextNode.test.ts +0 -1137
  327. package/src/renderables/TextNode.ts +0 -379
  328. package/src/renderables/TextTable.test.ts +0 -1411
  329. package/src/renderables/TextTable.ts +0 -1434
  330. package/src/renderables/Textarea.ts +0 -425
  331. package/src/renderables/TimeToFirstDraw.ts +0 -89
  332. package/src/renderables/__snapshots__/Code.test.ts.snap +0 -13
  333. package/src/renderables/__snapshots__/Diff.test.ts.snap +0 -785
  334. package/src/renderables/__snapshots__/Text.test.ts.snap +0 -421
  335. package/src/renderables/__snapshots__/TextTable.test.ts.snap +0 -215
  336. package/src/renderables/__tests__/Code.test.ts +0 -55
  337. package/src/renderables/__tests__/LineNumberRenderable.scrollbox-simple.test.ts +0 -144
  338. package/src/renderables/__tests__/LineNumberRenderable.scrollbox.test.ts +0 -827
  339. package/src/renderables/__tests__/LineNumberRenderable.test.ts +0 -1906
  340. package/src/renderables/__tests__/LineNumberRenderable.wrapping.test.ts +0 -85
  341. package/src/renderables/__tests__/Markdown.code-colors.test.ts +0 -288
  342. package/src/renderables/__tests__/Markdown.test.ts +0 -4175
  343. package/src/renderables/__tests__/MultiRenderable.selection.test.ts +0 -87
  344. package/src/renderables/__tests__/Textarea.buffer.test.ts +0 -683
  345. package/src/renderables/__tests__/Textarea.destroyed-events.test.ts +0 -675
  346. package/src/renderables/__tests__/Textarea.editing.test.ts +0 -2120
  347. package/src/renderables/__tests__/Textarea.error-handling.test.ts +0 -35
  348. package/src/renderables/__tests__/Textarea.events.test.ts +0 -738
  349. package/src/renderables/__tests__/Textarea.highlights.test.ts +0 -590
  350. package/src/renderables/__tests__/Textarea.keybinding.test.ts +0 -3275
  351. package/src/renderables/__tests__/Textarea.paste.test.ts +0 -357
  352. package/src/renderables/__tests__/Textarea.rendering.test.ts +0 -1927
  353. package/src/renderables/__tests__/Textarea.scroll.test.ts +0 -733
  354. package/src/renderables/__tests__/Textarea.selection.test.ts +0 -1589
  355. package/src/renderables/__tests__/Textarea.stress.test.ts +0 -670
  356. package/src/renderables/__tests__/Textarea.undo-redo.test.ts +0 -383
  357. package/src/renderables/__tests__/Textarea.visual-lines.test.ts +0 -310
  358. package/src/renderables/__tests__/__snapshots__/LineNumberRenderable.code.test.ts.snap +0 -221
  359. package/src/renderables/__tests__/__snapshots__/LineNumberRenderable.scrollbox-simple.test.ts.snap +0 -89
  360. package/src/renderables/__tests__/__snapshots__/LineNumberRenderable.scrollbox.test.ts.snap +0 -457
  361. package/src/renderables/__tests__/__snapshots__/LineNumberRenderable.test.ts.snap +0 -158
  362. package/src/renderables/__tests__/__snapshots__/Textarea.rendering.test.ts.snap +0 -387
  363. package/src/renderables/__tests__/markdown-parser.test.ts +0 -241
  364. package/src/renderables/__tests__/renderable-test-utils.ts +0 -60
  365. package/src/renderables/composition/README.md +0 -8
  366. package/src/renderables/composition/VRenderable.ts +0 -32
  367. package/src/renderables/composition/constructs.ts +0 -127
  368. package/src/renderables/composition/vnode.ts +0 -277
  369. package/src/renderables/index.ts +0 -23
  370. package/src/renderables/markdown-parser.ts +0 -79
  371. package/src/renderer-theme-mode.ts +0 -199
  372. package/src/renderer.ts +0 -4975
  373. package/src/runtime-plugin-support-configure.ts +0 -63
  374. package/src/runtime-plugin-support.ts +0 -13
  375. package/src/runtime-plugin.ts +0 -626
  376. package/src/specs/terminal-startup.md +0 -64
  377. package/src/syntax-style.test.ts +0 -841
  378. package/src/syntax-style.ts +0 -274
  379. package/src/testing/README.md +0 -219
  380. package/src/testing/bun-test-node.ts +0 -880
  381. package/src/testing/capture-spans.test.ts +0 -216
  382. package/src/testing/integration.test.ts +0 -276
  383. package/src/testing/manual-clock.ts +0 -117
  384. package/src/testing/mock-keys.test.ts +0 -1378
  385. package/src/testing/mock-keys.ts +0 -457
  386. package/src/testing/mock-mouse.test.ts +0 -218
  387. package/src/testing/mock-mouse.ts +0 -247
  388. package/src/testing/mock-tree-sitter-client.ts +0 -81
  389. package/src/testing/spy.ts +0 -13
  390. package/src/testing/terminal-capabilities.ts +0 -47
  391. package/src/testing/test-recorder.test.ts +0 -410
  392. package/src/testing/test-recorder.ts +0 -133
  393. package/src/testing/test-renderer.ts +0 -375
  394. package/src/testing/test-renderer.wait.test.ts +0 -278
  395. package/src/testing/test-streams.ts +0 -31
  396. package/src/testing.ts +0 -9
  397. package/src/tests/__snapshots__/absolute-positioning.snapshot.test.ts.snap +0 -481
  398. package/src/tests/__snapshots__/renderable.snapshot.test.ts.snap +0 -19
  399. package/src/tests/__snapshots__/scrollbox.test.ts.snap +0 -29
  400. package/src/tests/absolute-positioning.snapshot.test.ts +0 -638
  401. package/src/tests/allocator-stats.test.ts +0 -53
  402. package/src/tests/audio.test.ts +0 -303
  403. package/src/tests/destroy-during-render.test.ts +0 -200
  404. package/src/tests/destroy-on-exit.fixture.ts +0 -36
  405. package/src/tests/destroy-on-exit.test.ts +0 -62
  406. package/src/tests/ffi-borrowed-pointer-callsites.test.ts +0 -153
  407. package/src/tests/hover-cursor.test.ts +0 -98
  408. package/src/tests/native-backed-measurement-lifecycle.test.ts +0 -133
  409. package/src/tests/native-backed-measurement-parity.test.ts +0 -322
  410. package/src/tests/native-span-feed-async.test.ts +0 -173
  411. package/src/tests/native-span-feed-close.test.ts +0 -120
  412. package/src/tests/native-span-feed-coverage.test.ts +0 -227
  413. package/src/tests/native-span-feed-edge-cases.test.ts +0 -384
  414. package/src/tests/native-span-feed-use-after-free.test.ts +0 -45
  415. package/src/tests/opacity.test.ts +0 -123
  416. package/src/tests/renderable.snapshot.test.ts +0 -524
  417. package/src/tests/renderable.test.ts +0 -1851
  418. package/src/tests/renderer.clock.test.ts +0 -270
  419. package/src/tests/renderer.console-startup.test.ts +0 -2151
  420. package/src/tests/renderer.control.test.ts +0 -458
  421. package/src/tests/renderer.core-slot-binding.test.ts +0 -962
  422. package/src/tests/renderer.cursor.test.ts +0 -26
  423. package/src/tests/renderer.custom-stdout.test.ts +0 -1112
  424. package/src/tests/renderer.destroy-during-render.test.ts +0 -147
  425. package/src/tests/renderer.focus-restore.test.ts +0 -257
  426. package/src/tests/renderer.focus.test.ts +0 -329
  427. package/src/tests/renderer.idle.test.ts +0 -219
  428. package/src/tests/renderer.input.test.ts +0 -2615
  429. package/src/tests/renderer.kitty-flags.test.ts +0 -195
  430. package/src/tests/renderer.lifecycle.test.ts +0 -34
  431. package/src/tests/renderer.mouse.test.ts +0 -1315
  432. package/src/tests/renderer.notifications.test.ts +0 -27
  433. package/src/tests/renderer.palette.test.ts +0 -1199
  434. package/src/tests/renderer.remote.test.ts +0 -247
  435. package/src/tests/renderer.render-stats.test.ts +0 -146
  436. package/src/tests/renderer.scrollback-surface.test.ts +0 -474
  437. package/src/tests/renderer.selection.test.ts +0 -138
  438. package/src/tests/renderer.slot-registry.test.ts +0 -684
  439. package/src/tests/renderer.tracker.test.ts +0 -202
  440. package/src/tests/renderer.useMouse.test.ts +0 -83
  441. package/src/tests/runtime-plugin-node-modules-cycle.fixture.ts +0 -76
  442. package/src/tests/runtime-plugin-node-modules-import-like-string.fixture.ts +0 -48
  443. package/src/tests/runtime-plugin-node-modules-mjs.fixture.ts +0 -43
  444. package/src/tests/runtime-plugin-node-modules-no-bare-rewrite.fixture.ts +0 -67
  445. package/src/tests/runtime-plugin-node-modules-package-type-cache.fixture.ts +0 -72
  446. package/src/tests/runtime-plugin-node-modules-runtime-specifier.fixture.ts +0 -44
  447. package/src/tests/runtime-plugin-node-modules-scoped-package-bare-rewrite.fixture.ts +0 -85
  448. package/src/tests/runtime-plugin-path-alias.fixture.ts +0 -43
  449. package/src/tests/runtime-plugin-resolve-roots.fixture.ts +0 -65
  450. package/src/tests/runtime-plugin-support-configure.fixture.ts +0 -31
  451. package/src/tests/runtime-plugin-support-late-addition.fixture.ts +0 -17
  452. package/src/tests/runtime-plugin-support.fixture.ts +0 -11
  453. package/src/tests/runtime-plugin-support.test.ts +0 -54
  454. package/src/tests/runtime-plugin-windows-file-url.fixture.ts +0 -30
  455. package/src/tests/runtime-plugin.fixture.ts +0 -40
  456. package/src/tests/runtime-plugin.test.ts +0 -369
  457. package/src/tests/scrollbox-culling-bug.test.ts +0 -114
  458. package/src/tests/scrollbox-hitgrid-resize.test.ts +0 -136
  459. package/src/tests/scrollbox-hitgrid.test.ts +0 -909
  460. package/src/tests/scrollbox.test.ts +0 -1895
  461. package/src/tests/wrap-resize-perf.test.ts +0 -276
  462. package/src/tests/yoga-api-coverage.test.ts +0 -409
  463. package/src/tests/yoga-callback-stress.test.ts +0 -122
  464. package/src/tests/yoga-ffi.test.ts +0 -117
  465. package/src/tests/yoga-setters.test.ts +0 -921
  466. package/src/tests/yoga-upstream/YGAlignBaselineTest.test.ts +0 -124
  467. package/src/tests/yoga-upstream/YGComputedBorderTest.test.ts +0 -27
  468. package/src/tests/yoga-upstream/YGComputedMarginTest.test.ts +0 -27
  469. package/src/tests/yoga-upstream/YGComputedPaddingTest.test.ts +0 -27
  470. package/src/tests/yoga-upstream/YGDirtiedTest.test.ts +0 -157
  471. package/src/tests/yoga-upstream/YGErrataTest.test.ts +0 -40
  472. package/src/tests/yoga-upstream/YGFlexBasisAuto.test.ts +0 -23
  473. package/src/tests/yoga-upstream/YGHasNewLayout.test.ts +0 -81
  474. package/src/tests/yoga-upstream/YGMeasureCacheTest.test.ts +0 -31
  475. package/src/tests/yoga-upstream/YGMeasureTest.test.ts +0 -70
  476. package/src/tests/yoga-upstream/generated/YGAbsolutePositionTest.test.ts +0 -1864
  477. package/src/tests/yoga-upstream/generated/YGAlignContentTest.test.ts +0 -5829
  478. package/src/tests/yoga-upstream/generated/YGAlignItemsTest.test.ts +0 -2444
  479. package/src/tests/yoga-upstream/generated/YGAlignSelfTest.test.ts +0 -293
  480. package/src/tests/yoga-upstream/generated/YGAndroidNewsFeed.test.ts +0 -315
  481. package/src/tests/yoga-upstream/generated/YGAspectRatioTest.test.ts +0 -231
  482. package/src/tests/yoga-upstream/generated/YGAutoTest.test.ts +0 -347
  483. package/src/tests/yoga-upstream/generated/YGBorderTest.test.ts +0 -256
  484. package/src/tests/yoga-upstream/generated/YGBoxSizingTest.test.ts +0 -2747
  485. package/src/tests/yoga-upstream/generated/YGDimensionTest.test.ts +0 -129
  486. package/src/tests/yoga-upstream/generated/YGDisplayContentsTest.test.ts +0 -109
  487. package/src/tests/yoga-upstream/generated/YGDisplayTest.test.ts +0 -1097
  488. package/src/tests/yoga-upstream/generated/YGFlexDirectionTest.test.ts +0 -4562
  489. package/src/tests/yoga-upstream/generated/YGFlexTest.test.ts +0 -677
  490. package/src/tests/yoga-upstream/generated/YGFlexWrapTest.test.ts +0 -2071
  491. package/src/tests/yoga-upstream/generated/YGGapTest.test.ts +0 -3303
  492. package/src/tests/yoga-upstream/generated/YGIntrinsicSizeTest.test.ts +0 -582
  493. package/src/tests/yoga-upstream/generated/YGJustifyContentTest.test.ts +0 -2150
  494. package/src/tests/yoga-upstream/generated/YGMarginTest.test.ts +0 -1963
  495. package/src/tests/yoga-upstream/generated/YGMinMaxDimensionTest.test.ts +0 -1446
  496. package/src/tests/yoga-upstream/generated/YGPaddingTest.test.ts +0 -354
  497. package/src/tests/yoga-upstream/generated/YGPercentageTest.test.ts +0 -1760
  498. package/src/tests/yoga-upstream/generated/YGRoundingTest.test.ts +0 -1161
  499. package/src/tests/yoga-upstream/generated/YGSizeOverflowTest.test.ts +0 -207
  500. package/src/tests/yoga-upstream/generated/YGStaticPositionTest.test.ts +0 -6338
  501. package/src/tests/yoga-upstream/tools/MeasureCounter.ts +0 -54
  502. package/src/tests/yoga-upstream/tools/utils.ts +0 -81
  503. package/src/text-buffer-view.test.ts +0 -722
  504. package/src/text-buffer-view.ts +0 -193
  505. package/src/text-buffer.test.ts +0 -512
  506. package/src/text-buffer.ts +0 -250
  507. package/src/types.ts +0 -199
  508. package/src/utils.ts +0 -88
  509. package/src/yoga.ts +0 -1146
  510. package/src/zig/ansi.zig +0 -502
  511. package/src/zig/audio.zig +0 -1206
  512. package/src/zig/bench/README.md +0 -50
  513. package/src/zig/bench/buffer-color-blending_bench.zig +0 -350
  514. package/src/zig/bench/buffer-draw-box_bench.zig +0 -786
  515. package/src/zig/bench/buffer-draw-text-buffer_bench.zig +0 -894
  516. package/src/zig/bench/edit-buffer_bench.zig +0 -476
  517. package/src/zig/bench/editor-view_bench.zig +0 -169
  518. package/src/zig/bench/native-span-feed_bench.zig +0 -107
  519. package/src/zig/bench/rope-markers_bench.zig +0 -713
  520. package/src/zig/bench/rope_bench.zig +0 -514
  521. package/src/zig/bench/styled-text_bench.zig +0 -476
  522. package/src/zig/bench/text-buffer-coords_bench.zig +0 -362
  523. package/src/zig/bench/text-buffer-view_bench.zig +0 -459
  524. package/src/zig/bench/text-chunk-graphemes_bench.zig +0 -272
  525. package/src/zig/bench/utf8_bench.zig +0 -799
  526. package/src/zig/bench-utils.zig +0 -431
  527. package/src/zig/bench.zig +0 -223
  528. package/src/zig/buffer-methods.zig +0 -215
  529. package/src/zig/buffer.zig +0 -2515
  530. package/src/zig/build.zig +0 -700
  531. package/src/zig/build.zig.zon +0 -19
  532. package/src/zig/edit-buffer.zig +0 -900
  533. package/src/zig/editor-view.zig +0 -812
  534. package/src/zig/event-bus.zig +0 -28
  535. package/src/zig/event-emitter.zig +0 -65
  536. package/src/zig/file-logger.zig +0 -92
  537. package/src/zig/grapheme.zig +0 -838
  538. package/src/zig/handles.zig +0 -267
  539. package/src/zig/lib.zig +0 -2813
  540. package/src/zig/link.zig +0 -349
  541. package/src/zig/logger.zig +0 -43
  542. package/src/zig/mem-registry.zig +0 -126
  543. package/src/zig/miniaudio_shim.c +0 -21
  544. package/src/zig/native-renderable.zig +0 -112
  545. package/src/zig/native-span-feed-bench-lib.zig +0 -7
  546. package/src/zig/native-span-feed.zig +0 -747
  547. package/src/zig/renderer-output.zig +0 -677
  548. package/src/zig/renderer.zig +0 -2106
  549. package/src/zig/rope.zig +0 -1220
  550. package/src/zig/split-scrollback.zig +0 -88
  551. package/src/zig/syntax-style.zig +0 -174
  552. package/src/zig/terminal.zig +0 -1652
  553. package/src/zig/test.zig +0 -82
  554. package/src/zig/tests/README.md +0 -18
  555. package/src/zig/tests/ansi_test.zig +0 -18
  556. package/src/zig/tests/audio_test.zig +0 -439
  557. package/src/zig/tests/buffer-methods_test.zig +0 -1111
  558. package/src/zig/tests/buffer_test.zig +0 -2926
  559. package/src/zig/tests/edit-buffer-history_test.zig +0 -299
  560. package/src/zig/tests/edit-buffer_test.zig +0 -1688
  561. package/src/zig/tests/editor-view_test.zig +0 -3454
  562. package/src/zig/tests/event-emitter_test.zig +0 -249
  563. package/src/zig/tests/grapheme_test.zig +0 -1329
  564. package/src/zig/tests/handles_test.zig +0 -123
  565. package/src/zig/tests/link_test.zig +0 -220
  566. package/src/zig/tests/mem-registry_test.zig +0 -473
  567. package/src/zig/tests/memory_leak_regression_test.zig +0 -234
  568. package/src/zig/tests/native-renderable_test.zig +0 -16
  569. package/src/zig/tests/native-span-feed_test.zig +0 -1266
  570. package/src/zig/tests/renderer_test.zig +0 -2604
  571. package/src/zig/tests/rope-nested_test.zig +0 -712
  572. package/src/zig/tests/rope_fuzz_test.zig +0 -238
  573. package/src/zig/tests/rope_test.zig +0 -2362
  574. package/src/zig/tests/segment-merge.test.zig +0 -148
  575. package/src/zig/tests/split-scrollback_test.zig +0 -70
  576. package/src/zig/tests/syntax-style_test.zig +0 -558
  577. package/src/zig/tests/terminal_test.zig +0 -1489
  578. package/src/zig/tests/test-renderer.zig +0 -126
  579. package/src/zig/tests/text-buffer-drawing_test.zig +0 -3291
  580. package/src/zig/tests/text-buffer-highlights_test.zig +0 -706
  581. package/src/zig/tests/text-buffer-iterators_test.zig +0 -776
  582. package/src/zig/tests/text-buffer-segment_test.zig +0 -320
  583. package/src/zig/tests/text-buffer-selection_test.zig +0 -1056
  584. package/src/zig/tests/text-buffer-selection_viewport_test.zig +0 -358
  585. package/src/zig/tests/text-buffer-view_test.zig +0 -3672
  586. package/src/zig/tests/text-buffer_test.zig +0 -2191
  587. package/src/zig/tests/unicode-width-map.zon +0 -3909
  588. package/src/zig/tests/utf8_no_zwj_test.zig +0 -260
  589. package/src/zig/tests/utf8_test.zig +0 -4060
  590. package/src/zig/tests/utf8_wcwidth_cursor_test.zig +0 -267
  591. package/src/zig/tests/utf8_wcwidth_test.zig +0 -357
  592. package/src/zig/tests/word-wrap-editing_test.zig +0 -498
  593. package/src/zig/tests/wrap-cache-perf_test.zig +0 -113
  594. package/src/zig/tests/yoga_test.zig +0 -65
  595. package/src/zig/text-buffer-iterators.zig +0 -496
  596. package/src/zig/text-buffer-segment.zig +0 -403
  597. package/src/zig/text-buffer-view.zig +0 -1428
  598. package/src/zig/text-buffer.zig +0 -1272
  599. package/src/zig/utf8.zig +0 -1954
  600. package/src/zig/utils.zig +0 -12
  601. package/src/zig/uucode-stub.zig +0 -76
  602. package/src/zig/vendor/miniaudio/miniaudio.h +0 -93468
  603. package/src/zig/yoga.zig +0 -658
  604. package/src/zig-structs.ts +0 -381
  605. package/src/zig.ts +0 -5260
  606. package/tsconfig.build.json +0 -17
  607. package/tsconfig.json +0 -27
  608. package/tsconfig.node-test.json +0 -138
  609. /package/{src/lib/tree-sitter/assets → assets}/javascript/highlights.scm +0 -0
  610. /package/{src/lib/tree-sitter/assets → assets}/javascript/tree-sitter-javascript.wasm +0 -0
  611. /package/{src/lib/tree-sitter/assets → assets}/markdown/highlights.scm +0 -0
  612. /package/{src/lib/tree-sitter/assets → assets}/markdown/injections.scm +0 -0
  613. /package/{src/lib/tree-sitter/assets → assets}/markdown/tree-sitter-markdown.wasm +0 -0
  614. /package/{src/lib/tree-sitter/assets → assets}/markdown_inline/highlights.scm +0 -0
  615. /package/{src/lib/tree-sitter/assets → assets}/markdown_inline/tree-sitter-markdown_inline.wasm +0 -0
  616. /package/{src/lib/tree-sitter/assets → assets}/typescript/highlights.scm +0 -0
  617. /package/{src/lib/tree-sitter/assets → assets}/typescript/tree-sitter-typescript.wasm +0 -0
  618. /package/{src/lib/tree-sitter/assets → assets}/zig/highlights.scm +0 -0
  619. /package/{src/lib/tree-sitter/assets → assets}/zig/tree-sitter-zig.wasm +0 -0
@@ -1,1446 +0,0 @@
1
- /**
2
- * Copyright (c) Meta Platforms, Inc. and affiliates.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- * @generated SignedSource<<1bd782301afbab34ed3c9a296c3ecaa6>>
8
- * generated by gentest/gentest-driver.ts from gentest/fixtures/YGMinMaxDimensionTest.html
9
- */
10
-
11
- import { instrinsicSizeMeasureFunc } from "../tools/utils.ts"
12
- import Yoga from "../../../yoga.js"
13
- import {
14
- Align,
15
- BoxSizing,
16
- Direction,
17
- Display,
18
- Edge,
19
- Errata,
20
- ExperimentalFeature,
21
- FlexDirection,
22
- Gutter,
23
- Justify,
24
- MeasureMode,
25
- Overflow,
26
- PositionType,
27
- Unit,
28
- Wrap,
29
- } from "../../../yoga.js"
30
-
31
- test("max_width", () => {
32
- const config = Yoga.Config.create()
33
- let root
34
-
35
- try {
36
- root = Yoga.Node.create(config)
37
- root.setPositionType(PositionType.Absolute)
38
- root.setWidth(100)
39
- root.setHeight(100)
40
-
41
- const root_child0 = Yoga.Node.create(config)
42
- root_child0.setMaxWidth(50)
43
- root_child0.setHeight(10)
44
- root.insertChild(root_child0, 0)
45
- root.calculateLayout(undefined, undefined, Direction.LTR)
46
-
47
- expect(root.getComputedLeft()).toBe(0)
48
- expect(root.getComputedTop()).toBe(0)
49
- expect(root.getComputedWidth()).toBe(100)
50
- expect(root.getComputedHeight()).toBe(100)
51
-
52
- expect(root_child0.getComputedLeft()).toBe(0)
53
- expect(root_child0.getComputedTop()).toBe(0)
54
- expect(root_child0.getComputedWidth()).toBe(50)
55
- expect(root_child0.getComputedHeight()).toBe(10)
56
-
57
- root.calculateLayout(undefined, undefined, Direction.RTL)
58
-
59
- expect(root.getComputedLeft()).toBe(0)
60
- expect(root.getComputedTop()).toBe(0)
61
- expect(root.getComputedWidth()).toBe(100)
62
- expect(root.getComputedHeight()).toBe(100)
63
-
64
- expect(root_child0.getComputedLeft()).toBe(50)
65
- expect(root_child0.getComputedTop()).toBe(0)
66
- expect(root_child0.getComputedWidth()).toBe(50)
67
- expect(root_child0.getComputedHeight()).toBe(10)
68
- } finally {
69
- if (typeof root !== "undefined") {
70
- root.freeRecursive()
71
- }
72
-
73
- config.free()
74
- }
75
- })
76
- test("max_height", () => {
77
- const config = Yoga.Config.create()
78
- let root
79
-
80
- try {
81
- root = Yoga.Node.create(config)
82
- root.setFlexDirection(FlexDirection.Row)
83
- root.setPositionType(PositionType.Absolute)
84
- root.setWidth(100)
85
- root.setHeight(100)
86
-
87
- const root_child0 = Yoga.Node.create(config)
88
- root_child0.setWidth(10)
89
- root_child0.setMaxHeight(50)
90
- root.insertChild(root_child0, 0)
91
- root.calculateLayout(undefined, undefined, Direction.LTR)
92
-
93
- expect(root.getComputedLeft()).toBe(0)
94
- expect(root.getComputedTop()).toBe(0)
95
- expect(root.getComputedWidth()).toBe(100)
96
- expect(root.getComputedHeight()).toBe(100)
97
-
98
- expect(root_child0.getComputedLeft()).toBe(0)
99
- expect(root_child0.getComputedTop()).toBe(0)
100
- expect(root_child0.getComputedWidth()).toBe(10)
101
- expect(root_child0.getComputedHeight()).toBe(50)
102
-
103
- root.calculateLayout(undefined, undefined, Direction.RTL)
104
-
105
- expect(root.getComputedLeft()).toBe(0)
106
- expect(root.getComputedTop()).toBe(0)
107
- expect(root.getComputedWidth()).toBe(100)
108
- expect(root.getComputedHeight()).toBe(100)
109
-
110
- expect(root_child0.getComputedLeft()).toBe(90)
111
- expect(root_child0.getComputedTop()).toBe(0)
112
- expect(root_child0.getComputedWidth()).toBe(10)
113
- expect(root_child0.getComputedHeight()).toBe(50)
114
- } finally {
115
- if (typeof root !== "undefined") {
116
- root.freeRecursive()
117
- }
118
-
119
- config.free()
120
- }
121
- })
122
- test.skip("min_height", () => {
123
- const config = Yoga.Config.create()
124
- let root
125
-
126
- try {
127
- root = Yoga.Node.create(config)
128
- root.setPositionType(PositionType.Absolute)
129
- root.setWidth(100)
130
- root.setHeight(100)
131
-
132
- const root_child0 = Yoga.Node.create(config)
133
- root_child0.setFlexGrow(1)
134
- root_child0.setMinHeight(60)
135
- root.insertChild(root_child0, 0)
136
-
137
- const root_child1 = Yoga.Node.create(config)
138
- root_child1.setFlexGrow(1)
139
- root.insertChild(root_child1, 1)
140
- root.calculateLayout(undefined, undefined, Direction.LTR)
141
-
142
- expect(root.getComputedLeft()).toBe(0)
143
- expect(root.getComputedTop()).toBe(0)
144
- expect(root.getComputedWidth()).toBe(100)
145
- expect(root.getComputedHeight()).toBe(100)
146
-
147
- expect(root_child0.getComputedLeft()).toBe(0)
148
- expect(root_child0.getComputedTop()).toBe(0)
149
- expect(root_child0.getComputedWidth()).toBe(100)
150
- expect(root_child0.getComputedHeight()).toBe(60)
151
-
152
- expect(root_child1.getComputedLeft()).toBe(0)
153
- expect(root_child1.getComputedTop()).toBe(60)
154
- expect(root_child1.getComputedWidth()).toBe(100)
155
- expect(root_child1.getComputedHeight()).toBe(40)
156
-
157
- root.calculateLayout(undefined, undefined, Direction.RTL)
158
-
159
- expect(root.getComputedLeft()).toBe(0)
160
- expect(root.getComputedTop()).toBe(0)
161
- expect(root.getComputedWidth()).toBe(100)
162
- expect(root.getComputedHeight()).toBe(100)
163
-
164
- expect(root_child0.getComputedLeft()).toBe(0)
165
- expect(root_child0.getComputedTop()).toBe(0)
166
- expect(root_child0.getComputedWidth()).toBe(100)
167
- expect(root_child0.getComputedHeight()).toBe(60)
168
-
169
- expect(root_child1.getComputedLeft()).toBe(0)
170
- expect(root_child1.getComputedTop()).toBe(60)
171
- expect(root_child1.getComputedWidth()).toBe(100)
172
- expect(root_child1.getComputedHeight()).toBe(40)
173
- } finally {
174
- if (typeof root !== "undefined") {
175
- root.freeRecursive()
176
- }
177
-
178
- config.free()
179
- }
180
- })
181
- test.skip("min_width", () => {
182
- const config = Yoga.Config.create()
183
- let root
184
-
185
- try {
186
- root = Yoga.Node.create(config)
187
- root.setFlexDirection(FlexDirection.Row)
188
- root.setPositionType(PositionType.Absolute)
189
- root.setWidth(100)
190
- root.setHeight(100)
191
-
192
- const root_child0 = Yoga.Node.create(config)
193
- root_child0.setFlexGrow(1)
194
- root_child0.setMinWidth(60)
195
- root.insertChild(root_child0, 0)
196
-
197
- const root_child1 = Yoga.Node.create(config)
198
- root_child1.setFlexGrow(1)
199
- root.insertChild(root_child1, 1)
200
- root.calculateLayout(undefined, undefined, Direction.LTR)
201
-
202
- expect(root.getComputedLeft()).toBe(0)
203
- expect(root.getComputedTop()).toBe(0)
204
- expect(root.getComputedWidth()).toBe(100)
205
- expect(root.getComputedHeight()).toBe(100)
206
-
207
- expect(root_child0.getComputedLeft()).toBe(0)
208
- expect(root_child0.getComputedTop()).toBe(0)
209
- expect(root_child0.getComputedWidth()).toBe(60)
210
- expect(root_child0.getComputedHeight()).toBe(100)
211
-
212
- expect(root_child1.getComputedLeft()).toBe(60)
213
- expect(root_child1.getComputedTop()).toBe(0)
214
- expect(root_child1.getComputedWidth()).toBe(40)
215
- expect(root_child1.getComputedHeight()).toBe(100)
216
-
217
- root.calculateLayout(undefined, undefined, Direction.RTL)
218
-
219
- expect(root.getComputedLeft()).toBe(0)
220
- expect(root.getComputedTop()).toBe(0)
221
- expect(root.getComputedWidth()).toBe(100)
222
- expect(root.getComputedHeight()).toBe(100)
223
-
224
- expect(root_child0.getComputedLeft()).toBe(40)
225
- expect(root_child0.getComputedTop()).toBe(0)
226
- expect(root_child0.getComputedWidth()).toBe(60)
227
- expect(root_child0.getComputedHeight()).toBe(100)
228
-
229
- expect(root_child1.getComputedLeft()).toBe(0)
230
- expect(root_child1.getComputedTop()).toBe(0)
231
- expect(root_child1.getComputedWidth()).toBe(40)
232
- expect(root_child1.getComputedHeight()).toBe(100)
233
- } finally {
234
- if (typeof root !== "undefined") {
235
- root.freeRecursive()
236
- }
237
-
238
- config.free()
239
- }
240
- })
241
- test("justify_content_min_max", () => {
242
- const config = Yoga.Config.create()
243
- let root
244
-
245
- try {
246
- root = Yoga.Node.create(config)
247
- root.setJustifyContent(Justify.Center)
248
- root.setPositionType(PositionType.Absolute)
249
- root.setWidth(100)
250
- root.setMinHeight(100)
251
- root.setMaxHeight(200)
252
-
253
- const root_child0 = Yoga.Node.create(config)
254
- root_child0.setWidth(60)
255
- root_child0.setHeight(60)
256
- root.insertChild(root_child0, 0)
257
- root.calculateLayout(undefined, undefined, Direction.LTR)
258
-
259
- expect(root.getComputedLeft()).toBe(0)
260
- expect(root.getComputedTop()).toBe(0)
261
- expect(root.getComputedWidth()).toBe(100)
262
- expect(root.getComputedHeight()).toBe(100)
263
-
264
- expect(root_child0.getComputedLeft()).toBe(0)
265
- expect(root_child0.getComputedTop()).toBe(20)
266
- expect(root_child0.getComputedWidth()).toBe(60)
267
- expect(root_child0.getComputedHeight()).toBe(60)
268
-
269
- root.calculateLayout(undefined, undefined, Direction.RTL)
270
-
271
- expect(root.getComputedLeft()).toBe(0)
272
- expect(root.getComputedTop()).toBe(0)
273
- expect(root.getComputedWidth()).toBe(100)
274
- expect(root.getComputedHeight()).toBe(100)
275
-
276
- expect(root_child0.getComputedLeft()).toBe(40)
277
- expect(root_child0.getComputedTop()).toBe(20)
278
- expect(root_child0.getComputedWidth()).toBe(60)
279
- expect(root_child0.getComputedHeight()).toBe(60)
280
- } finally {
281
- if (typeof root !== "undefined") {
282
- root.freeRecursive()
283
- }
284
-
285
- config.free()
286
- }
287
- })
288
- test("align_items_min_max", () => {
289
- const config = Yoga.Config.create()
290
- let root
291
-
292
- try {
293
- root = Yoga.Node.create(config)
294
- root.setAlignItems(Align.Center)
295
- root.setPositionType(PositionType.Absolute)
296
- root.setMinWidth(100)
297
- root.setMaxWidth(200)
298
- root.setHeight(100)
299
-
300
- const root_child0 = Yoga.Node.create(config)
301
- root_child0.setWidth(60)
302
- root_child0.setHeight(60)
303
- root.insertChild(root_child0, 0)
304
- root.calculateLayout(undefined, undefined, Direction.LTR)
305
-
306
- expect(root.getComputedLeft()).toBe(0)
307
- expect(root.getComputedTop()).toBe(0)
308
- expect(root.getComputedWidth()).toBe(100)
309
- expect(root.getComputedHeight()).toBe(100)
310
-
311
- expect(root_child0.getComputedLeft()).toBe(20)
312
- expect(root_child0.getComputedTop()).toBe(0)
313
- expect(root_child0.getComputedWidth()).toBe(60)
314
- expect(root_child0.getComputedHeight()).toBe(60)
315
-
316
- root.calculateLayout(undefined, undefined, Direction.RTL)
317
-
318
- expect(root.getComputedLeft()).toBe(0)
319
- expect(root.getComputedTop()).toBe(0)
320
- expect(root.getComputedWidth()).toBe(100)
321
- expect(root.getComputedHeight()).toBe(100)
322
-
323
- expect(root_child0.getComputedLeft()).toBe(20)
324
- expect(root_child0.getComputedTop()).toBe(0)
325
- expect(root_child0.getComputedWidth()).toBe(60)
326
- expect(root_child0.getComputedHeight()).toBe(60)
327
- } finally {
328
- if (typeof root !== "undefined") {
329
- root.freeRecursive()
330
- }
331
-
332
- config.free()
333
- }
334
- })
335
- test("justify_content_overflow_min_max", () => {
336
- const config = Yoga.Config.create()
337
- let root
338
-
339
- try {
340
- root = Yoga.Node.create(config)
341
- root.setJustifyContent(Justify.Center)
342
- root.setPositionType(PositionType.Absolute)
343
- root.setMinHeight(100)
344
- root.setMaxHeight(110)
345
-
346
- const root_child0 = Yoga.Node.create(config)
347
- root_child0.setWidth(50)
348
- root_child0.setHeight(50)
349
- root.insertChild(root_child0, 0)
350
-
351
- const root_child1 = Yoga.Node.create(config)
352
- root_child1.setWidth(50)
353
- root_child1.setHeight(50)
354
- root.insertChild(root_child1, 1)
355
-
356
- const root_child2 = Yoga.Node.create(config)
357
- root_child2.setWidth(50)
358
- root_child2.setHeight(50)
359
- root.insertChild(root_child2, 2)
360
- root.calculateLayout(undefined, undefined, Direction.LTR)
361
-
362
- expect(root.getComputedLeft()).toBe(0)
363
- expect(root.getComputedTop()).toBe(0)
364
- expect(root.getComputedWidth()).toBe(50)
365
- expect(root.getComputedHeight()).toBe(110)
366
-
367
- expect(root_child0.getComputedLeft()).toBe(0)
368
- expect(root_child0.getComputedTop()).toBe(-20)
369
- expect(root_child0.getComputedWidth()).toBe(50)
370
- expect(root_child0.getComputedHeight()).toBe(50)
371
-
372
- expect(root_child1.getComputedLeft()).toBe(0)
373
- expect(root_child1.getComputedTop()).toBe(30)
374
- expect(root_child1.getComputedWidth()).toBe(50)
375
- expect(root_child1.getComputedHeight()).toBe(50)
376
-
377
- expect(root_child2.getComputedLeft()).toBe(0)
378
- expect(root_child2.getComputedTop()).toBe(80)
379
- expect(root_child2.getComputedWidth()).toBe(50)
380
- expect(root_child2.getComputedHeight()).toBe(50)
381
-
382
- root.calculateLayout(undefined, undefined, Direction.RTL)
383
-
384
- expect(root.getComputedLeft()).toBe(0)
385
- expect(root.getComputedTop()).toBe(0)
386
- expect(root.getComputedWidth()).toBe(50)
387
- expect(root.getComputedHeight()).toBe(110)
388
-
389
- expect(root_child0.getComputedLeft()).toBe(0)
390
- expect(root_child0.getComputedTop()).toBe(-20)
391
- expect(root_child0.getComputedWidth()).toBe(50)
392
- expect(root_child0.getComputedHeight()).toBe(50)
393
-
394
- expect(root_child1.getComputedLeft()).toBe(0)
395
- expect(root_child1.getComputedTop()).toBe(30)
396
- expect(root_child1.getComputedWidth()).toBe(50)
397
- expect(root_child1.getComputedHeight()).toBe(50)
398
-
399
- expect(root_child2.getComputedLeft()).toBe(0)
400
- expect(root_child2.getComputedTop()).toBe(80)
401
- expect(root_child2.getComputedWidth()).toBe(50)
402
- expect(root_child2.getComputedHeight()).toBe(50)
403
- } finally {
404
- if (typeof root !== "undefined") {
405
- root.freeRecursive()
406
- }
407
-
408
- config.free()
409
- }
410
- })
411
- test("flex_grow_to_min", () => {
412
- const config = Yoga.Config.create()
413
- let root
414
-
415
- try {
416
- root = Yoga.Node.create(config)
417
- root.setPositionType(PositionType.Absolute)
418
- root.setWidth(100)
419
- root.setMinHeight(100)
420
- root.setMaxHeight(500)
421
-
422
- const root_child0 = Yoga.Node.create(config)
423
- root_child0.setFlexGrow(1)
424
- root_child0.setFlexShrink(1)
425
- root.insertChild(root_child0, 0)
426
-
427
- const root_child1 = Yoga.Node.create(config)
428
- root_child1.setHeight(50)
429
- root.insertChild(root_child1, 1)
430
- root.calculateLayout(undefined, undefined, Direction.LTR)
431
-
432
- expect(root.getComputedLeft()).toBe(0)
433
- expect(root.getComputedTop()).toBe(0)
434
- expect(root.getComputedWidth()).toBe(100)
435
- expect(root.getComputedHeight()).toBe(100)
436
-
437
- expect(root_child0.getComputedLeft()).toBe(0)
438
- expect(root_child0.getComputedTop()).toBe(0)
439
- expect(root_child0.getComputedWidth()).toBe(100)
440
- expect(root_child0.getComputedHeight()).toBe(50)
441
-
442
- expect(root_child1.getComputedLeft()).toBe(0)
443
- expect(root_child1.getComputedTop()).toBe(50)
444
- expect(root_child1.getComputedWidth()).toBe(100)
445
- expect(root_child1.getComputedHeight()).toBe(50)
446
-
447
- root.calculateLayout(undefined, undefined, Direction.RTL)
448
-
449
- expect(root.getComputedLeft()).toBe(0)
450
- expect(root.getComputedTop()).toBe(0)
451
- expect(root.getComputedWidth()).toBe(100)
452
- expect(root.getComputedHeight()).toBe(100)
453
-
454
- expect(root_child0.getComputedLeft()).toBe(0)
455
- expect(root_child0.getComputedTop()).toBe(0)
456
- expect(root_child0.getComputedWidth()).toBe(100)
457
- expect(root_child0.getComputedHeight()).toBe(50)
458
-
459
- expect(root_child1.getComputedLeft()).toBe(0)
460
- expect(root_child1.getComputedTop()).toBe(50)
461
- expect(root_child1.getComputedWidth()).toBe(100)
462
- expect(root_child1.getComputedHeight()).toBe(50)
463
- } finally {
464
- if (typeof root !== "undefined") {
465
- root.freeRecursive()
466
- }
467
-
468
- config.free()
469
- }
470
- })
471
- test("flex_grow_in_at_most_container", () => {
472
- const config = Yoga.Config.create()
473
- let root
474
-
475
- try {
476
- root = Yoga.Node.create(config)
477
- root.setFlexDirection(FlexDirection.Row)
478
- root.setAlignItems(Align.FlexStart)
479
- root.setPositionType(PositionType.Absolute)
480
- root.setWidth(100)
481
- root.setHeight(100)
482
-
483
- const root_child0 = Yoga.Node.create(config)
484
- root_child0.setFlexDirection(FlexDirection.Row)
485
- root.insertChild(root_child0, 0)
486
-
487
- const root_child0_child0 = Yoga.Node.create(config)
488
- root_child0_child0.setFlexGrow(1)
489
- root_child0_child0.setFlexBasis(0)
490
- root_child0.insertChild(root_child0_child0, 0)
491
- root.calculateLayout(undefined, undefined, Direction.LTR)
492
-
493
- expect(root.getComputedLeft()).toBe(0)
494
- expect(root.getComputedTop()).toBe(0)
495
- expect(root.getComputedWidth()).toBe(100)
496
- expect(root.getComputedHeight()).toBe(100)
497
-
498
- expect(root_child0.getComputedLeft()).toBe(0)
499
- expect(root_child0.getComputedTop()).toBe(0)
500
- expect(root_child0.getComputedWidth()).toBe(0)
501
- expect(root_child0.getComputedHeight()).toBe(0)
502
-
503
- expect(root_child0_child0.getComputedLeft()).toBe(0)
504
- expect(root_child0_child0.getComputedTop()).toBe(0)
505
- expect(root_child0_child0.getComputedWidth()).toBe(0)
506
- expect(root_child0_child0.getComputedHeight()).toBe(0)
507
-
508
- root.calculateLayout(undefined, undefined, Direction.RTL)
509
-
510
- expect(root.getComputedLeft()).toBe(0)
511
- expect(root.getComputedTop()).toBe(0)
512
- expect(root.getComputedWidth()).toBe(100)
513
- expect(root.getComputedHeight()).toBe(100)
514
-
515
- expect(root_child0.getComputedLeft()).toBe(100)
516
- expect(root_child0.getComputedTop()).toBe(0)
517
- expect(root_child0.getComputedWidth()).toBe(0)
518
- expect(root_child0.getComputedHeight()).toBe(0)
519
-
520
- expect(root_child0_child0.getComputedLeft()).toBe(0)
521
- expect(root_child0_child0.getComputedTop()).toBe(0)
522
- expect(root_child0_child0.getComputedWidth()).toBe(0)
523
- expect(root_child0_child0.getComputedHeight()).toBe(0)
524
- } finally {
525
- if (typeof root !== "undefined") {
526
- root.freeRecursive()
527
- }
528
-
529
- config.free()
530
- }
531
- })
532
- test("flex_grow_child", () => {
533
- const config = Yoga.Config.create()
534
- let root
535
-
536
- try {
537
- root = Yoga.Node.create(config)
538
- root.setFlexDirection(FlexDirection.Row)
539
- root.setPositionType(PositionType.Absolute)
540
-
541
- const root_child0 = Yoga.Node.create(config)
542
- root_child0.setFlexGrow(1)
543
- root_child0.setFlexBasis(0)
544
- root_child0.setHeight(100)
545
- root.insertChild(root_child0, 0)
546
- root.calculateLayout(undefined, undefined, Direction.LTR)
547
-
548
- expect(root.getComputedLeft()).toBe(0)
549
- expect(root.getComputedTop()).toBe(0)
550
- expect(root.getComputedWidth()).toBe(0)
551
- expect(root.getComputedHeight()).toBe(100)
552
-
553
- expect(root_child0.getComputedLeft()).toBe(0)
554
- expect(root_child0.getComputedTop()).toBe(0)
555
- expect(root_child0.getComputedWidth()).toBe(0)
556
- expect(root_child0.getComputedHeight()).toBe(100)
557
-
558
- root.calculateLayout(undefined, undefined, Direction.RTL)
559
-
560
- expect(root.getComputedLeft()).toBe(0)
561
- expect(root.getComputedTop()).toBe(0)
562
- expect(root.getComputedWidth()).toBe(0)
563
- expect(root.getComputedHeight()).toBe(100)
564
-
565
- expect(root_child0.getComputedLeft()).toBe(0)
566
- expect(root_child0.getComputedTop()).toBe(0)
567
- expect(root_child0.getComputedWidth()).toBe(0)
568
- expect(root_child0.getComputedHeight()).toBe(100)
569
- } finally {
570
- if (typeof root !== "undefined") {
571
- root.freeRecursive()
572
- }
573
-
574
- config.free()
575
- }
576
- })
577
- test("flex_grow_within_constrained_min_max_column", () => {
578
- const config = Yoga.Config.create()
579
- let root
580
-
581
- try {
582
- root = Yoga.Node.create(config)
583
- root.setPositionType(PositionType.Absolute)
584
- root.setMinHeight(100)
585
- root.setMaxHeight(200)
586
-
587
- const root_child0 = Yoga.Node.create(config)
588
- root_child0.setFlexGrow(1)
589
- root.insertChild(root_child0, 0)
590
-
591
- const root_child1 = Yoga.Node.create(config)
592
- root_child1.setHeight(50)
593
- root.insertChild(root_child1, 1)
594
- root.calculateLayout(undefined, undefined, Direction.LTR)
595
-
596
- expect(root.getComputedLeft()).toBe(0)
597
- expect(root.getComputedTop()).toBe(0)
598
- expect(root.getComputedWidth()).toBe(0)
599
- expect(root.getComputedHeight()).toBe(100)
600
-
601
- expect(root_child0.getComputedLeft()).toBe(0)
602
- expect(root_child0.getComputedTop()).toBe(0)
603
- expect(root_child0.getComputedWidth()).toBe(0)
604
- expect(root_child0.getComputedHeight()).toBe(50)
605
-
606
- expect(root_child1.getComputedLeft()).toBe(0)
607
- expect(root_child1.getComputedTop()).toBe(50)
608
- expect(root_child1.getComputedWidth()).toBe(0)
609
- expect(root_child1.getComputedHeight()).toBe(50)
610
-
611
- root.calculateLayout(undefined, undefined, Direction.RTL)
612
-
613
- expect(root.getComputedLeft()).toBe(0)
614
- expect(root.getComputedTop()).toBe(0)
615
- expect(root.getComputedWidth()).toBe(0)
616
- expect(root.getComputedHeight()).toBe(100)
617
-
618
- expect(root_child0.getComputedLeft()).toBe(0)
619
- expect(root_child0.getComputedTop()).toBe(0)
620
- expect(root_child0.getComputedWidth()).toBe(0)
621
- expect(root_child0.getComputedHeight()).toBe(50)
622
-
623
- expect(root_child1.getComputedLeft()).toBe(0)
624
- expect(root_child1.getComputedTop()).toBe(50)
625
- expect(root_child1.getComputedWidth()).toBe(0)
626
- expect(root_child1.getComputedHeight()).toBe(50)
627
- } finally {
628
- if (typeof root !== "undefined") {
629
- root.freeRecursive()
630
- }
631
-
632
- config.free()
633
- }
634
- })
635
- test("flex_grow_within_max_width", () => {
636
- const config = Yoga.Config.create()
637
- let root
638
-
639
- try {
640
- root = Yoga.Node.create(config)
641
- root.setPositionType(PositionType.Absolute)
642
- root.setWidth(200)
643
- root.setHeight(100)
644
-
645
- const root_child0 = Yoga.Node.create(config)
646
- root_child0.setFlexDirection(FlexDirection.Row)
647
- root_child0.setMaxWidth(100)
648
- root.insertChild(root_child0, 0)
649
-
650
- const root_child0_child0 = Yoga.Node.create(config)
651
- root_child0_child0.setFlexGrow(1)
652
- root_child0_child0.setHeight(20)
653
- root_child0.insertChild(root_child0_child0, 0)
654
- root.calculateLayout(undefined, undefined, Direction.LTR)
655
-
656
- expect(root.getComputedLeft()).toBe(0)
657
- expect(root.getComputedTop()).toBe(0)
658
- expect(root.getComputedWidth()).toBe(200)
659
- expect(root.getComputedHeight()).toBe(100)
660
-
661
- expect(root_child0.getComputedLeft()).toBe(0)
662
- expect(root_child0.getComputedTop()).toBe(0)
663
- expect(root_child0.getComputedWidth()).toBe(100)
664
- expect(root_child0.getComputedHeight()).toBe(20)
665
-
666
- expect(root_child0_child0.getComputedLeft()).toBe(0)
667
- expect(root_child0_child0.getComputedTop()).toBe(0)
668
- expect(root_child0_child0.getComputedWidth()).toBe(100)
669
- expect(root_child0_child0.getComputedHeight()).toBe(20)
670
-
671
- root.calculateLayout(undefined, undefined, Direction.RTL)
672
-
673
- expect(root.getComputedLeft()).toBe(0)
674
- expect(root.getComputedTop()).toBe(0)
675
- expect(root.getComputedWidth()).toBe(200)
676
- expect(root.getComputedHeight()).toBe(100)
677
-
678
- expect(root_child0.getComputedLeft()).toBe(100)
679
- expect(root_child0.getComputedTop()).toBe(0)
680
- expect(root_child0.getComputedWidth()).toBe(100)
681
- expect(root_child0.getComputedHeight()).toBe(20)
682
-
683
- expect(root_child0_child0.getComputedLeft()).toBe(0)
684
- expect(root_child0_child0.getComputedTop()).toBe(0)
685
- expect(root_child0_child0.getComputedWidth()).toBe(100)
686
- expect(root_child0_child0.getComputedHeight()).toBe(20)
687
- } finally {
688
- if (typeof root !== "undefined") {
689
- root.freeRecursive()
690
- }
691
-
692
- config.free()
693
- }
694
- })
695
- test("flex_grow_within_constrained_max_width", () => {
696
- const config = Yoga.Config.create()
697
- let root
698
-
699
- try {
700
- root = Yoga.Node.create(config)
701
- root.setPositionType(PositionType.Absolute)
702
- root.setWidth(200)
703
- root.setHeight(100)
704
-
705
- const root_child0 = Yoga.Node.create(config)
706
- root_child0.setFlexDirection(FlexDirection.Row)
707
- root_child0.setMaxWidth(300)
708
- root.insertChild(root_child0, 0)
709
-
710
- const root_child0_child0 = Yoga.Node.create(config)
711
- root_child0_child0.setFlexGrow(1)
712
- root_child0_child0.setHeight(20)
713
- root_child0.insertChild(root_child0_child0, 0)
714
- root.calculateLayout(undefined, undefined, Direction.LTR)
715
-
716
- expect(root.getComputedLeft()).toBe(0)
717
- expect(root.getComputedTop()).toBe(0)
718
- expect(root.getComputedWidth()).toBe(200)
719
- expect(root.getComputedHeight()).toBe(100)
720
-
721
- expect(root_child0.getComputedLeft()).toBe(0)
722
- expect(root_child0.getComputedTop()).toBe(0)
723
- expect(root_child0.getComputedWidth()).toBe(200)
724
- expect(root_child0.getComputedHeight()).toBe(20)
725
-
726
- expect(root_child0_child0.getComputedLeft()).toBe(0)
727
- expect(root_child0_child0.getComputedTop()).toBe(0)
728
- expect(root_child0_child0.getComputedWidth()).toBe(200)
729
- expect(root_child0_child0.getComputedHeight()).toBe(20)
730
-
731
- root.calculateLayout(undefined, undefined, Direction.RTL)
732
-
733
- expect(root.getComputedLeft()).toBe(0)
734
- expect(root.getComputedTop()).toBe(0)
735
- expect(root.getComputedWidth()).toBe(200)
736
- expect(root.getComputedHeight()).toBe(100)
737
-
738
- expect(root_child0.getComputedLeft()).toBe(0)
739
- expect(root_child0.getComputedTop()).toBe(0)
740
- expect(root_child0.getComputedWidth()).toBe(200)
741
- expect(root_child0.getComputedHeight()).toBe(20)
742
-
743
- expect(root_child0_child0.getComputedLeft()).toBe(0)
744
- expect(root_child0_child0.getComputedTop()).toBe(0)
745
- expect(root_child0_child0.getComputedWidth()).toBe(200)
746
- expect(root_child0_child0.getComputedHeight()).toBe(20)
747
- } finally {
748
- if (typeof root !== "undefined") {
749
- root.freeRecursive()
750
- }
751
-
752
- config.free()
753
- }
754
- })
755
- test("flex_root_ignored", () => {
756
- const config = Yoga.Config.create()
757
- let root
758
-
759
- try {
760
- root = Yoga.Node.create(config)
761
- root.setPositionType(PositionType.Absolute)
762
- root.setFlexGrow(1)
763
- root.setWidth(100)
764
- root.setMinHeight(100)
765
- root.setMaxHeight(500)
766
-
767
- const root_child0 = Yoga.Node.create(config)
768
- root_child0.setFlexGrow(1)
769
- root_child0.setFlexBasis(200)
770
- root.insertChild(root_child0, 0)
771
-
772
- const root_child1 = Yoga.Node.create(config)
773
- root_child1.setHeight(100)
774
- root.insertChild(root_child1, 1)
775
- root.calculateLayout(undefined, undefined, Direction.LTR)
776
-
777
- expect(root.getComputedLeft()).toBe(0)
778
- expect(root.getComputedTop()).toBe(0)
779
- expect(root.getComputedWidth()).toBe(100)
780
- expect(root.getComputedHeight()).toBe(300)
781
-
782
- expect(root_child0.getComputedLeft()).toBe(0)
783
- expect(root_child0.getComputedTop()).toBe(0)
784
- expect(root_child0.getComputedWidth()).toBe(100)
785
- expect(root_child0.getComputedHeight()).toBe(200)
786
-
787
- expect(root_child1.getComputedLeft()).toBe(0)
788
- expect(root_child1.getComputedTop()).toBe(200)
789
- expect(root_child1.getComputedWidth()).toBe(100)
790
- expect(root_child1.getComputedHeight()).toBe(100)
791
-
792
- root.calculateLayout(undefined, undefined, Direction.RTL)
793
-
794
- expect(root.getComputedLeft()).toBe(0)
795
- expect(root.getComputedTop()).toBe(0)
796
- expect(root.getComputedWidth()).toBe(100)
797
- expect(root.getComputedHeight()).toBe(300)
798
-
799
- expect(root_child0.getComputedLeft()).toBe(0)
800
- expect(root_child0.getComputedTop()).toBe(0)
801
- expect(root_child0.getComputedWidth()).toBe(100)
802
- expect(root_child0.getComputedHeight()).toBe(200)
803
-
804
- expect(root_child1.getComputedLeft()).toBe(0)
805
- expect(root_child1.getComputedTop()).toBe(200)
806
- expect(root_child1.getComputedWidth()).toBe(100)
807
- expect(root_child1.getComputedHeight()).toBe(100)
808
- } finally {
809
- if (typeof root !== "undefined") {
810
- root.freeRecursive()
811
- }
812
-
813
- config.free()
814
- }
815
- })
816
- test("flex_grow_root_minimized", () => {
817
- const config = Yoga.Config.create()
818
- let root
819
-
820
- try {
821
- root = Yoga.Node.create(config)
822
- root.setPositionType(PositionType.Absolute)
823
- root.setWidth(100)
824
- root.setMinHeight(100)
825
- root.setMaxHeight(500)
826
-
827
- const root_child0 = Yoga.Node.create(config)
828
- root_child0.setFlexGrow(1)
829
- root_child0.setMinHeight(100)
830
- root_child0.setMaxHeight(500)
831
- root.insertChild(root_child0, 0)
832
-
833
- const root_child0_child0 = Yoga.Node.create(config)
834
- root_child0_child0.setFlexGrow(1)
835
- root_child0_child0.setFlexBasis(200)
836
- root_child0.insertChild(root_child0_child0, 0)
837
-
838
- const root_child0_child1 = Yoga.Node.create(config)
839
- root_child0_child1.setHeight(100)
840
- root_child0.insertChild(root_child0_child1, 1)
841
- root.calculateLayout(undefined, undefined, Direction.LTR)
842
-
843
- expect(root.getComputedLeft()).toBe(0)
844
- expect(root.getComputedTop()).toBe(0)
845
- expect(root.getComputedWidth()).toBe(100)
846
- expect(root.getComputedHeight()).toBe(300)
847
-
848
- expect(root_child0.getComputedLeft()).toBe(0)
849
- expect(root_child0.getComputedTop()).toBe(0)
850
- expect(root_child0.getComputedWidth()).toBe(100)
851
- expect(root_child0.getComputedHeight()).toBe(300)
852
-
853
- expect(root_child0_child0.getComputedLeft()).toBe(0)
854
- expect(root_child0_child0.getComputedTop()).toBe(0)
855
- expect(root_child0_child0.getComputedWidth()).toBe(100)
856
- expect(root_child0_child0.getComputedHeight()).toBe(200)
857
-
858
- expect(root_child0_child1.getComputedLeft()).toBe(0)
859
- expect(root_child0_child1.getComputedTop()).toBe(200)
860
- expect(root_child0_child1.getComputedWidth()).toBe(100)
861
- expect(root_child0_child1.getComputedHeight()).toBe(100)
862
-
863
- root.calculateLayout(undefined, undefined, Direction.RTL)
864
-
865
- expect(root.getComputedLeft()).toBe(0)
866
- expect(root.getComputedTop()).toBe(0)
867
- expect(root.getComputedWidth()).toBe(100)
868
- expect(root.getComputedHeight()).toBe(300)
869
-
870
- expect(root_child0.getComputedLeft()).toBe(0)
871
- expect(root_child0.getComputedTop()).toBe(0)
872
- expect(root_child0.getComputedWidth()).toBe(100)
873
- expect(root_child0.getComputedHeight()).toBe(300)
874
-
875
- expect(root_child0_child0.getComputedLeft()).toBe(0)
876
- expect(root_child0_child0.getComputedTop()).toBe(0)
877
- expect(root_child0_child0.getComputedWidth()).toBe(100)
878
- expect(root_child0_child0.getComputedHeight()).toBe(200)
879
-
880
- expect(root_child0_child1.getComputedLeft()).toBe(0)
881
- expect(root_child0_child1.getComputedTop()).toBe(200)
882
- expect(root_child0_child1.getComputedWidth()).toBe(100)
883
- expect(root_child0_child1.getComputedHeight()).toBe(100)
884
- } finally {
885
- if (typeof root !== "undefined") {
886
- root.freeRecursive()
887
- }
888
-
889
- config.free()
890
- }
891
- })
892
- test("flex_grow_height_maximized", () => {
893
- const config = Yoga.Config.create()
894
- let root
895
-
896
- try {
897
- root = Yoga.Node.create(config)
898
- root.setPositionType(PositionType.Absolute)
899
- root.setWidth(100)
900
- root.setHeight(500)
901
-
902
- const root_child0 = Yoga.Node.create(config)
903
- root_child0.setFlexGrow(1)
904
- root_child0.setMinHeight(100)
905
- root_child0.setMaxHeight(500)
906
- root.insertChild(root_child0, 0)
907
-
908
- const root_child0_child0 = Yoga.Node.create(config)
909
- root_child0_child0.setFlexGrow(1)
910
- root_child0_child0.setFlexBasis(200)
911
- root_child0.insertChild(root_child0_child0, 0)
912
-
913
- const root_child0_child1 = Yoga.Node.create(config)
914
- root_child0_child1.setHeight(100)
915
- root_child0.insertChild(root_child0_child1, 1)
916
- root.calculateLayout(undefined, undefined, Direction.LTR)
917
-
918
- expect(root.getComputedLeft()).toBe(0)
919
- expect(root.getComputedTop()).toBe(0)
920
- expect(root.getComputedWidth()).toBe(100)
921
- expect(root.getComputedHeight()).toBe(500)
922
-
923
- expect(root_child0.getComputedLeft()).toBe(0)
924
- expect(root_child0.getComputedTop()).toBe(0)
925
- expect(root_child0.getComputedWidth()).toBe(100)
926
- expect(root_child0.getComputedHeight()).toBe(500)
927
-
928
- expect(root_child0_child0.getComputedLeft()).toBe(0)
929
- expect(root_child0_child0.getComputedTop()).toBe(0)
930
- expect(root_child0_child0.getComputedWidth()).toBe(100)
931
- expect(root_child0_child0.getComputedHeight()).toBe(400)
932
-
933
- expect(root_child0_child1.getComputedLeft()).toBe(0)
934
- expect(root_child0_child1.getComputedTop()).toBe(400)
935
- expect(root_child0_child1.getComputedWidth()).toBe(100)
936
- expect(root_child0_child1.getComputedHeight()).toBe(100)
937
-
938
- root.calculateLayout(undefined, undefined, Direction.RTL)
939
-
940
- expect(root.getComputedLeft()).toBe(0)
941
- expect(root.getComputedTop()).toBe(0)
942
- expect(root.getComputedWidth()).toBe(100)
943
- expect(root.getComputedHeight()).toBe(500)
944
-
945
- expect(root_child0.getComputedLeft()).toBe(0)
946
- expect(root_child0.getComputedTop()).toBe(0)
947
- expect(root_child0.getComputedWidth()).toBe(100)
948
- expect(root_child0.getComputedHeight()).toBe(500)
949
-
950
- expect(root_child0_child0.getComputedLeft()).toBe(0)
951
- expect(root_child0_child0.getComputedTop()).toBe(0)
952
- expect(root_child0_child0.getComputedWidth()).toBe(100)
953
- expect(root_child0_child0.getComputedHeight()).toBe(400)
954
-
955
- expect(root_child0_child1.getComputedLeft()).toBe(0)
956
- expect(root_child0_child1.getComputedTop()).toBe(400)
957
- expect(root_child0_child1.getComputedWidth()).toBe(100)
958
- expect(root_child0_child1.getComputedHeight()).toBe(100)
959
- } finally {
960
- if (typeof root !== "undefined") {
961
- root.freeRecursive()
962
- }
963
-
964
- config.free()
965
- }
966
- })
967
- test("flex_grow_within_constrained_min_row", () => {
968
- const config = Yoga.Config.create()
969
- let root
970
-
971
- try {
972
- root = Yoga.Node.create(config)
973
- root.setFlexDirection(FlexDirection.Row)
974
- root.setPositionType(PositionType.Absolute)
975
- root.setMinWidth(100)
976
- root.setHeight(100)
977
-
978
- const root_child0 = Yoga.Node.create(config)
979
- root_child0.setFlexGrow(1)
980
- root.insertChild(root_child0, 0)
981
-
982
- const root_child1 = Yoga.Node.create(config)
983
- root_child1.setWidth(50)
984
- root.insertChild(root_child1, 1)
985
- root.calculateLayout(undefined, undefined, Direction.LTR)
986
-
987
- expect(root.getComputedLeft()).toBe(0)
988
- expect(root.getComputedTop()).toBe(0)
989
- expect(root.getComputedWidth()).toBe(100)
990
- expect(root.getComputedHeight()).toBe(100)
991
-
992
- expect(root_child0.getComputedLeft()).toBe(0)
993
- expect(root_child0.getComputedTop()).toBe(0)
994
- expect(root_child0.getComputedWidth()).toBe(50)
995
- expect(root_child0.getComputedHeight()).toBe(100)
996
-
997
- expect(root_child1.getComputedLeft()).toBe(50)
998
- expect(root_child1.getComputedTop()).toBe(0)
999
- expect(root_child1.getComputedWidth()).toBe(50)
1000
- expect(root_child1.getComputedHeight()).toBe(100)
1001
-
1002
- root.calculateLayout(undefined, undefined, Direction.RTL)
1003
-
1004
- expect(root.getComputedLeft()).toBe(0)
1005
- expect(root.getComputedTop()).toBe(0)
1006
- expect(root.getComputedWidth()).toBe(100)
1007
- expect(root.getComputedHeight()).toBe(100)
1008
-
1009
- expect(root_child0.getComputedLeft()).toBe(50)
1010
- expect(root_child0.getComputedTop()).toBe(0)
1011
- expect(root_child0.getComputedWidth()).toBe(50)
1012
- expect(root_child0.getComputedHeight()).toBe(100)
1013
-
1014
- expect(root_child1.getComputedLeft()).toBe(0)
1015
- expect(root_child1.getComputedTop()).toBe(0)
1016
- expect(root_child1.getComputedWidth()).toBe(50)
1017
- expect(root_child1.getComputedHeight()).toBe(100)
1018
- } finally {
1019
- if (typeof root !== "undefined") {
1020
- root.freeRecursive()
1021
- }
1022
-
1023
- config.free()
1024
- }
1025
- })
1026
- test("flex_grow_within_constrained_min_column", () => {
1027
- const config = Yoga.Config.create()
1028
- let root
1029
-
1030
- try {
1031
- root = Yoga.Node.create(config)
1032
- root.setPositionType(PositionType.Absolute)
1033
- root.setMinHeight(100)
1034
-
1035
- const root_child0 = Yoga.Node.create(config)
1036
- root_child0.setFlexGrow(1)
1037
- root.insertChild(root_child0, 0)
1038
-
1039
- const root_child1 = Yoga.Node.create(config)
1040
- root_child1.setHeight(50)
1041
- root.insertChild(root_child1, 1)
1042
- root.calculateLayout(undefined, undefined, Direction.LTR)
1043
-
1044
- expect(root.getComputedLeft()).toBe(0)
1045
- expect(root.getComputedTop()).toBe(0)
1046
- expect(root.getComputedWidth()).toBe(0)
1047
- expect(root.getComputedHeight()).toBe(100)
1048
-
1049
- expect(root_child0.getComputedLeft()).toBe(0)
1050
- expect(root_child0.getComputedTop()).toBe(0)
1051
- expect(root_child0.getComputedWidth()).toBe(0)
1052
- expect(root_child0.getComputedHeight()).toBe(50)
1053
-
1054
- expect(root_child1.getComputedLeft()).toBe(0)
1055
- expect(root_child1.getComputedTop()).toBe(50)
1056
- expect(root_child1.getComputedWidth()).toBe(0)
1057
- expect(root_child1.getComputedHeight()).toBe(50)
1058
-
1059
- root.calculateLayout(undefined, undefined, Direction.RTL)
1060
-
1061
- expect(root.getComputedLeft()).toBe(0)
1062
- expect(root.getComputedTop()).toBe(0)
1063
- expect(root.getComputedWidth()).toBe(0)
1064
- expect(root.getComputedHeight()).toBe(100)
1065
-
1066
- expect(root_child0.getComputedLeft()).toBe(0)
1067
- expect(root_child0.getComputedTop()).toBe(0)
1068
- expect(root_child0.getComputedWidth()).toBe(0)
1069
- expect(root_child0.getComputedHeight()).toBe(50)
1070
-
1071
- expect(root_child1.getComputedLeft()).toBe(0)
1072
- expect(root_child1.getComputedTop()).toBe(50)
1073
- expect(root_child1.getComputedWidth()).toBe(0)
1074
- expect(root_child1.getComputedHeight()).toBe(50)
1075
- } finally {
1076
- if (typeof root !== "undefined") {
1077
- root.freeRecursive()
1078
- }
1079
-
1080
- config.free()
1081
- }
1082
- })
1083
- test("flex_grow_within_constrained_max_row", () => {
1084
- const config = Yoga.Config.create()
1085
- let root
1086
-
1087
- try {
1088
- root = Yoga.Node.create(config)
1089
- root.setPositionType(PositionType.Absolute)
1090
- root.setWidth(200)
1091
-
1092
- const root_child0 = Yoga.Node.create(config)
1093
- root_child0.setFlexDirection(FlexDirection.Row)
1094
- root_child0.setMaxWidth(100)
1095
- root_child0.setHeight(100)
1096
- root.insertChild(root_child0, 0)
1097
-
1098
- const root_child0_child0 = Yoga.Node.create(config)
1099
- root_child0_child0.setFlexShrink(1)
1100
- root_child0_child0.setFlexBasis(100)
1101
- root_child0.insertChild(root_child0_child0, 0)
1102
-
1103
- const root_child0_child1 = Yoga.Node.create(config)
1104
- root_child0_child1.setWidth(50)
1105
- root_child0.insertChild(root_child0_child1, 1)
1106
- root.calculateLayout(undefined, undefined, Direction.LTR)
1107
-
1108
- expect(root.getComputedLeft()).toBe(0)
1109
- expect(root.getComputedTop()).toBe(0)
1110
- expect(root.getComputedWidth()).toBe(200)
1111
- expect(root.getComputedHeight()).toBe(100)
1112
-
1113
- expect(root_child0.getComputedLeft()).toBe(0)
1114
- expect(root_child0.getComputedTop()).toBe(0)
1115
- expect(root_child0.getComputedWidth()).toBe(100)
1116
- expect(root_child0.getComputedHeight()).toBe(100)
1117
-
1118
- expect(root_child0_child0.getComputedLeft()).toBe(0)
1119
- expect(root_child0_child0.getComputedTop()).toBe(0)
1120
- expect(root_child0_child0.getComputedWidth()).toBe(50)
1121
- expect(root_child0_child0.getComputedHeight()).toBe(100)
1122
-
1123
- expect(root_child0_child1.getComputedLeft()).toBe(50)
1124
- expect(root_child0_child1.getComputedTop()).toBe(0)
1125
- expect(root_child0_child1.getComputedWidth()).toBe(50)
1126
- expect(root_child0_child1.getComputedHeight()).toBe(100)
1127
-
1128
- root.calculateLayout(undefined, undefined, Direction.RTL)
1129
-
1130
- expect(root.getComputedLeft()).toBe(0)
1131
- expect(root.getComputedTop()).toBe(0)
1132
- expect(root.getComputedWidth()).toBe(200)
1133
- expect(root.getComputedHeight()).toBe(100)
1134
-
1135
- expect(root_child0.getComputedLeft()).toBe(100)
1136
- expect(root_child0.getComputedTop()).toBe(0)
1137
- expect(root_child0.getComputedWidth()).toBe(100)
1138
- expect(root_child0.getComputedHeight()).toBe(100)
1139
-
1140
- expect(root_child0_child0.getComputedLeft()).toBe(50)
1141
- expect(root_child0_child0.getComputedTop()).toBe(0)
1142
- expect(root_child0_child0.getComputedWidth()).toBe(50)
1143
- expect(root_child0_child0.getComputedHeight()).toBe(100)
1144
-
1145
- expect(root_child0_child1.getComputedLeft()).toBe(0)
1146
- expect(root_child0_child1.getComputedTop()).toBe(0)
1147
- expect(root_child0_child1.getComputedWidth()).toBe(50)
1148
- expect(root_child0_child1.getComputedHeight()).toBe(100)
1149
- } finally {
1150
- if (typeof root !== "undefined") {
1151
- root.freeRecursive()
1152
- }
1153
-
1154
- config.free()
1155
- }
1156
- })
1157
- test("flex_grow_within_constrained_max_column", () => {
1158
- const config = Yoga.Config.create()
1159
- let root
1160
-
1161
- try {
1162
- root = Yoga.Node.create(config)
1163
- root.setPositionType(PositionType.Absolute)
1164
- root.setWidth(100)
1165
- root.setMaxHeight(100)
1166
-
1167
- const root_child0 = Yoga.Node.create(config)
1168
- root_child0.setFlexShrink(1)
1169
- root_child0.setFlexBasis(100)
1170
- root.insertChild(root_child0, 0)
1171
-
1172
- const root_child1 = Yoga.Node.create(config)
1173
- root_child1.setHeight(50)
1174
- root.insertChild(root_child1, 1)
1175
- root.calculateLayout(undefined, undefined, Direction.LTR)
1176
-
1177
- expect(root.getComputedLeft()).toBe(0)
1178
- expect(root.getComputedTop()).toBe(0)
1179
- expect(root.getComputedWidth()).toBe(100)
1180
- expect(root.getComputedHeight()).toBe(100)
1181
-
1182
- expect(root_child0.getComputedLeft()).toBe(0)
1183
- expect(root_child0.getComputedTop()).toBe(0)
1184
- expect(root_child0.getComputedWidth()).toBe(100)
1185
- expect(root_child0.getComputedHeight()).toBe(50)
1186
-
1187
- expect(root_child1.getComputedLeft()).toBe(0)
1188
- expect(root_child1.getComputedTop()).toBe(50)
1189
- expect(root_child1.getComputedWidth()).toBe(100)
1190
- expect(root_child1.getComputedHeight()).toBe(50)
1191
-
1192
- root.calculateLayout(undefined, undefined, Direction.RTL)
1193
-
1194
- expect(root.getComputedLeft()).toBe(0)
1195
- expect(root.getComputedTop()).toBe(0)
1196
- expect(root.getComputedWidth()).toBe(100)
1197
- expect(root.getComputedHeight()).toBe(100)
1198
-
1199
- expect(root_child0.getComputedLeft()).toBe(0)
1200
- expect(root_child0.getComputedTop()).toBe(0)
1201
- expect(root_child0.getComputedWidth()).toBe(100)
1202
- expect(root_child0.getComputedHeight()).toBe(50)
1203
-
1204
- expect(root_child1.getComputedLeft()).toBe(0)
1205
- expect(root_child1.getComputedTop()).toBe(50)
1206
- expect(root_child1.getComputedWidth()).toBe(100)
1207
- expect(root_child1.getComputedHeight()).toBe(50)
1208
- } finally {
1209
- if (typeof root !== "undefined") {
1210
- root.freeRecursive()
1211
- }
1212
-
1213
- config.free()
1214
- }
1215
- })
1216
- test("child_min_max_width_flexing", () => {
1217
- const config = Yoga.Config.create()
1218
- let root
1219
-
1220
- try {
1221
- root = Yoga.Node.create(config)
1222
- root.setFlexDirection(FlexDirection.Row)
1223
- root.setPositionType(PositionType.Absolute)
1224
- root.setWidth(120)
1225
- root.setHeight(50)
1226
-
1227
- const root_child0 = Yoga.Node.create(config)
1228
- root_child0.setFlexGrow(1)
1229
- root_child0.setFlexBasis(0)
1230
- root_child0.setMinWidth(60)
1231
- root.insertChild(root_child0, 0)
1232
-
1233
- const root_child1 = Yoga.Node.create(config)
1234
- root_child1.setFlexGrow(1)
1235
- root_child1.setFlexBasis("50%")
1236
- root_child1.setMaxWidth(20)
1237
- root.insertChild(root_child1, 1)
1238
- root.calculateLayout(undefined, undefined, Direction.LTR)
1239
-
1240
- expect(root.getComputedLeft()).toBe(0)
1241
- expect(root.getComputedTop()).toBe(0)
1242
- expect(root.getComputedWidth()).toBe(120)
1243
- expect(root.getComputedHeight()).toBe(50)
1244
-
1245
- expect(root_child0.getComputedLeft()).toBe(0)
1246
- expect(root_child0.getComputedTop()).toBe(0)
1247
- expect(root_child0.getComputedWidth()).toBe(100)
1248
- expect(root_child0.getComputedHeight()).toBe(50)
1249
-
1250
- expect(root_child1.getComputedLeft()).toBe(100)
1251
- expect(root_child1.getComputedTop()).toBe(0)
1252
- expect(root_child1.getComputedWidth()).toBe(20)
1253
- expect(root_child1.getComputedHeight()).toBe(50)
1254
-
1255
- root.calculateLayout(undefined, undefined, Direction.RTL)
1256
-
1257
- expect(root.getComputedLeft()).toBe(0)
1258
- expect(root.getComputedTop()).toBe(0)
1259
- expect(root.getComputedWidth()).toBe(120)
1260
- expect(root.getComputedHeight()).toBe(50)
1261
-
1262
- expect(root_child0.getComputedLeft()).toBe(20)
1263
- expect(root_child0.getComputedTop()).toBe(0)
1264
- expect(root_child0.getComputedWidth()).toBe(100)
1265
- expect(root_child0.getComputedHeight()).toBe(50)
1266
-
1267
- expect(root_child1.getComputedLeft()).toBe(0)
1268
- expect(root_child1.getComputedTop()).toBe(0)
1269
- expect(root_child1.getComputedWidth()).toBe(20)
1270
- expect(root_child1.getComputedHeight()).toBe(50)
1271
- } finally {
1272
- if (typeof root !== "undefined") {
1273
- root.freeRecursive()
1274
- }
1275
-
1276
- config.free()
1277
- }
1278
- })
1279
- test("min_width_overrides_width", () => {
1280
- const config = Yoga.Config.create()
1281
- let root
1282
-
1283
- try {
1284
- root = Yoga.Node.create(config)
1285
- root.setPositionType(PositionType.Absolute)
1286
- root.setWidth(50)
1287
- root.setMinWidth(100)
1288
- root.calculateLayout(undefined, undefined, Direction.LTR)
1289
-
1290
- expect(root.getComputedLeft()).toBe(0)
1291
- expect(root.getComputedTop()).toBe(0)
1292
- expect(root.getComputedWidth()).toBe(100)
1293
- expect(root.getComputedHeight()).toBe(0)
1294
-
1295
- root.calculateLayout(undefined, undefined, Direction.RTL)
1296
-
1297
- expect(root.getComputedLeft()).toBe(0)
1298
- expect(root.getComputedTop()).toBe(0)
1299
- expect(root.getComputedWidth()).toBe(100)
1300
- expect(root.getComputedHeight()).toBe(0)
1301
- } finally {
1302
- if (typeof root !== "undefined") {
1303
- root.freeRecursive()
1304
- }
1305
-
1306
- config.free()
1307
- }
1308
- })
1309
- test("max_width_overrides_width", () => {
1310
- const config = Yoga.Config.create()
1311
- let root
1312
-
1313
- try {
1314
- root = Yoga.Node.create(config)
1315
- root.setPositionType(PositionType.Absolute)
1316
- root.setWidth(200)
1317
- root.setMaxWidth(100)
1318
- root.calculateLayout(undefined, undefined, Direction.LTR)
1319
-
1320
- expect(root.getComputedLeft()).toBe(0)
1321
- expect(root.getComputedTop()).toBe(0)
1322
- expect(root.getComputedWidth()).toBe(100)
1323
- expect(root.getComputedHeight()).toBe(0)
1324
-
1325
- root.calculateLayout(undefined, undefined, Direction.RTL)
1326
-
1327
- expect(root.getComputedLeft()).toBe(0)
1328
- expect(root.getComputedTop()).toBe(0)
1329
- expect(root.getComputedWidth()).toBe(100)
1330
- expect(root.getComputedHeight()).toBe(0)
1331
- } finally {
1332
- if (typeof root !== "undefined") {
1333
- root.freeRecursive()
1334
- }
1335
-
1336
- config.free()
1337
- }
1338
- })
1339
- test("min_height_overrides_height", () => {
1340
- const config = Yoga.Config.create()
1341
- let root
1342
-
1343
- try {
1344
- root = Yoga.Node.create(config)
1345
- root.setPositionType(PositionType.Absolute)
1346
- root.setHeight(50)
1347
- root.setMinHeight(100)
1348
- root.calculateLayout(undefined, undefined, Direction.LTR)
1349
-
1350
- expect(root.getComputedLeft()).toBe(0)
1351
- expect(root.getComputedTop()).toBe(0)
1352
- expect(root.getComputedWidth()).toBe(0)
1353
- expect(root.getComputedHeight()).toBe(100)
1354
-
1355
- root.calculateLayout(undefined, undefined, Direction.RTL)
1356
-
1357
- expect(root.getComputedLeft()).toBe(0)
1358
- expect(root.getComputedTop()).toBe(0)
1359
- expect(root.getComputedWidth()).toBe(0)
1360
- expect(root.getComputedHeight()).toBe(100)
1361
- } finally {
1362
- if (typeof root !== "undefined") {
1363
- root.freeRecursive()
1364
- }
1365
-
1366
- config.free()
1367
- }
1368
- })
1369
- test("max_height_overrides_height", () => {
1370
- const config = Yoga.Config.create()
1371
- let root
1372
-
1373
- try {
1374
- root = Yoga.Node.create(config)
1375
- root.setPositionType(PositionType.Absolute)
1376
- root.setHeight(200)
1377
- root.setMaxHeight(100)
1378
- root.calculateLayout(undefined, undefined, Direction.LTR)
1379
-
1380
- expect(root.getComputedLeft()).toBe(0)
1381
- expect(root.getComputedTop()).toBe(0)
1382
- expect(root.getComputedWidth()).toBe(0)
1383
- expect(root.getComputedHeight()).toBe(100)
1384
-
1385
- root.calculateLayout(undefined, undefined, Direction.RTL)
1386
-
1387
- expect(root.getComputedLeft()).toBe(0)
1388
- expect(root.getComputedTop()).toBe(0)
1389
- expect(root.getComputedWidth()).toBe(0)
1390
- expect(root.getComputedHeight()).toBe(100)
1391
- } finally {
1392
- if (typeof root !== "undefined") {
1393
- root.freeRecursive()
1394
- }
1395
-
1396
- config.free()
1397
- }
1398
- })
1399
- test("min_max_percent_no_width_height", () => {
1400
- const config = Yoga.Config.create()
1401
- let root
1402
-
1403
- try {
1404
- root = Yoga.Node.create(config)
1405
- root.setAlignItems(Align.FlexStart)
1406
- root.setPositionType(PositionType.Absolute)
1407
- root.setWidth(100)
1408
- root.setHeight(100)
1409
-
1410
- const root_child0 = Yoga.Node.create(config)
1411
- root_child0.setMinWidth("10%")
1412
- root_child0.setMaxWidth("10%")
1413
- root_child0.setMinHeight("10%")
1414
- root_child0.setMaxHeight("10%")
1415
- root.insertChild(root_child0, 0)
1416
- root.calculateLayout(undefined, undefined, Direction.LTR)
1417
-
1418
- expect(root.getComputedLeft()).toBe(0)
1419
- expect(root.getComputedTop()).toBe(0)
1420
- expect(root.getComputedWidth()).toBe(100)
1421
- expect(root.getComputedHeight()).toBe(100)
1422
-
1423
- expect(root_child0.getComputedLeft()).toBe(0)
1424
- expect(root_child0.getComputedTop()).toBe(0)
1425
- expect(root_child0.getComputedWidth()).toBe(10)
1426
- expect(root_child0.getComputedHeight()).toBe(10)
1427
-
1428
- root.calculateLayout(undefined, undefined, Direction.RTL)
1429
-
1430
- expect(root.getComputedLeft()).toBe(0)
1431
- expect(root.getComputedTop()).toBe(0)
1432
- expect(root.getComputedWidth()).toBe(100)
1433
- expect(root.getComputedHeight()).toBe(100)
1434
-
1435
- expect(root_child0.getComputedLeft()).toBe(90)
1436
- expect(root_child0.getComputedTop()).toBe(0)
1437
- expect(root_child0.getComputedWidth()).toBe(10)
1438
- expect(root_child0.getComputedHeight()).toBe(10)
1439
- } finally {
1440
- if (typeof root !== "undefined") {
1441
- root.freeRecursive()
1442
- }
1443
-
1444
- config.free()
1445
- }
1446
- })