@fairyhunter13/opentui-core 0.1.112 → 0.1.114
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dev/keypress-debug-renderer.ts +148 -0
- package/dev/keypress-debug.ts +43 -0
- package/dev/print-env-vars.ts +32 -0
- package/dev/test-tmux-graphics-334.sh +68 -0
- package/dev/thai-debug-test.ts +68 -0
- package/docs/development.md +144 -0
- package/package.json +63 -51
- package/scripts/build.ts +400 -0
- package/scripts/publish.ts +60 -0
- package/src/3d/SpriteResourceManager.ts +286 -0
- package/src/3d/SpriteUtils.ts +70 -0
- package/src/3d/TextureUtils.ts +196 -0
- package/src/3d/ThreeRenderable.ts +197 -0
- package/src/3d/WGPURenderer.ts +294 -0
- package/src/3d/animation/ExplodingSpriteEffect.ts +513 -0
- package/src/3d/animation/PhysicsExplodingSpriteEffect.ts +429 -0
- package/src/3d/animation/SpriteAnimator.ts +633 -0
- package/src/3d/animation/SpriteParticleGenerator.ts +435 -0
- package/src/3d/canvas.ts +464 -0
- package/src/3d/index.ts +12 -0
- package/src/3d/physics/PlanckPhysicsAdapter.ts +72 -0
- package/src/3d/physics/RapierPhysicsAdapter.ts +66 -0
- package/src/3d/physics/physics-interface.ts +31 -0
- package/src/3d/shaders/supersampling.wgsl +201 -0
- package/src/3d.ts +3 -0
- package/src/NativeSpanFeed.ts +300 -0
- package/src/Renderable.ts +1704 -0
- package/src/__snapshots__/buffer.test.ts.snap +28 -0
- package/src/animation/Timeline.test.ts +2709 -0
- package/src/animation/Timeline.ts +598 -0
- package/src/ansi.ts +18 -0
- package/src/benchmark/attenuation-benchmark.ts +81 -0
- package/src/benchmark/colormatrix-benchmark.ts +128 -0
- package/src/benchmark/gain-benchmark.ts +80 -0
- package/src/benchmark/latest-all-bench-run.json +707 -0
- package/src/benchmark/latest-async-bench-run.json +336 -0
- package/src/benchmark/latest-default-bench-run.json +657 -0
- package/src/benchmark/latest-large-bench-run.json +707 -0
- package/src/benchmark/latest-quick-bench-run.json +207 -0
- package/src/benchmark/markdown-benchmark.ts +1796 -0
- package/src/benchmark/native-span-feed-async-benchmark.ts +355 -0
- package/src/benchmark/native-span-feed-benchmark.md +56 -0
- package/src/benchmark/native-span-feed-benchmark.ts +596 -0
- package/src/benchmark/native-span-feed-compare.ts +280 -0
- package/src/benchmark/renderer-benchmark.ts +754 -0
- package/src/benchmark/text-table-benchmark.ts +948 -0
- package/src/buffer.test.ts +291 -0
- package/src/buffer.ts +554 -0
- package/src/console.test.ts +612 -0
- package/src/console.ts +1254 -0
- package/src/edit-buffer.test.ts +1769 -0
- package/src/edit-buffer.ts +411 -0
- package/src/editor-view.test.ts +1032 -0
- package/src/editor-view.ts +284 -0
- package/src/examples/ascii-font-selection-demo.ts +245 -0
- package/src/examples/assets/Water_2_M_Normal.jpg +0 -0
- package/src/examples/assets/concrete.png +0 -0
- package/src/examples/assets/crate.png +0 -0
- package/src/examples/assets/crate_emissive.png +0 -0
- package/src/examples/assets/forrest_background.png +0 -0
- package/src/examples/assets/hast-example.json +1018 -0
- package/src/examples/assets/heart.png +0 -0
- package/src/examples/assets/main_char_heavy_attack.png +0 -0
- package/src/examples/assets/main_char_idle.png +0 -0
- package/src/examples/assets/main_char_jump_end.png +0 -0
- package/src/examples/assets/main_char_jump_landing.png +0 -0
- package/src/examples/assets/main_char_jump_start.png +0 -0
- package/src/examples/assets/main_char_run_loop.png +0 -0
- package/src/examples/assets/roughness_map.jpg +0 -0
- package/src/examples/build.ts +115 -0
- package/src/examples/code-demo.ts +924 -0
- package/src/examples/console-demo.ts +358 -0
- package/src/examples/core-plugin-slots-demo.ts +759 -0
- package/src/examples/diff-demo.ts +701 -0
- package/src/examples/draggable-three-demo.ts +259 -0
- package/src/examples/editor-demo.ts +322 -0
- package/src/examples/extmarks-demo.ts +196 -0
- package/src/examples/focus-restore-demo.ts +310 -0
- package/src/examples/fonts.ts +245 -0
- package/src/examples/fractal-shader-demo.ts +268 -0
- package/src/examples/framebuffer-demo.ts +674 -0
- package/src/examples/full-unicode-demo.ts +241 -0
- package/src/examples/golden-star-demo.ts +933 -0
- package/src/examples/grayscale-buffer-demo.ts +249 -0
- package/src/examples/hast-syntax-highlighting-demo.ts +129 -0
- package/src/examples/index.ts +926 -0
- package/src/examples/input-demo.ts +377 -0
- package/src/examples/input-select-layout-demo.ts +425 -0
- package/src/examples/install.sh +143 -0
- package/src/examples/keypress-debug-demo.ts +452 -0
- package/src/examples/lib/HexList.ts +122 -0
- package/src/examples/lib/PaletteGrid.ts +125 -0
- package/src/examples/lib/standalone-keys.ts +25 -0
- package/src/examples/lib/tab-controller.ts +243 -0
- package/src/examples/lights-phong-demo.ts +290 -0
- package/src/examples/link-demo.ts +220 -0
- package/src/examples/live-state-demo.ts +480 -0
- package/src/examples/markdown-demo.ts +725 -0
- package/src/examples/mouse-interaction-demo.ts +428 -0
- package/src/examples/nested-zindex-demo.ts +357 -0
- package/src/examples/opacity-example.ts +235 -0
- package/src/examples/opentui-demo.ts +1057 -0
- package/src/examples/physx-planck-2d-demo.ts +623 -0
- package/src/examples/physx-rapier-2d-demo.ts +655 -0
- package/src/examples/relative-positioning-demo.ts +323 -0
- package/src/examples/scroll-example.ts +214 -0
- package/src/examples/scrollbox-mouse-test.ts +112 -0
- package/src/examples/scrollbox-overlay-hit-test.ts +206 -0
- package/src/examples/select-demo.ts +237 -0
- package/src/examples/shader-cube-demo.ts +1015 -0
- package/src/examples/simple-layout-example.ts +591 -0
- package/src/examples/slider-demo.ts +617 -0
- package/src/examples/split-mode-demo.ts +453 -0
- package/src/examples/sprite-animation-demo.ts +443 -0
- package/src/examples/sprite-particle-generator-demo.ts +486 -0
- package/src/examples/static-sprite-demo.ts +193 -0
- package/src/examples/sticky-scroll-example.ts +308 -0
- package/src/examples/styled-text-demo.ts +282 -0
- package/src/examples/tab-select-demo.ts +219 -0
- package/src/examples/terminal-title.ts +29 -0
- package/src/examples/terminal.ts +305 -0
- package/src/examples/text-node-demo.ts +416 -0
- package/src/examples/text-selection-demo.ts +377 -0
- package/src/examples/text-table-demo.ts +503 -0
- package/src/examples/text-truncation-demo.ts +481 -0
- package/src/examples/text-wrap.ts +757 -0
- package/src/examples/texture-loading-demo.ts +259 -0
- package/src/examples/timeline-example.ts +670 -0
- package/src/examples/transparency-demo.ts +400 -0
- package/src/examples/vnode-composition-demo.ts +404 -0
- package/src/examples/wide-grapheme-overlay-demo.ts +280 -0
- package/src/index.ts +24 -0
- package/src/lib/KeyHandler.integration.test.ts +292 -0
- package/src/lib/KeyHandler.stopPropagation.test.ts +289 -0
- package/src/lib/KeyHandler.test.ts +662 -0
- package/src/lib/KeyHandler.ts +222 -0
- package/src/lib/RGBA.test.ts +984 -0
- package/src/lib/RGBA.ts +204 -0
- package/src/lib/ascii.font.ts +330 -0
- package/src/lib/border.test.ts +83 -0
- package/src/lib/border.ts +170 -0
- package/src/lib/bunfs.test.ts +27 -0
- package/src/lib/bunfs.ts +18 -0
- package/src/lib/clipboard.test.ts +41 -0
- package/src/lib/clipboard.ts +47 -0
- package/src/lib/clock.ts +35 -0
- package/src/lib/data-paths.test.ts +133 -0
- package/src/lib/data-paths.ts +109 -0
- package/src/lib/debounce.ts +106 -0
- package/src/lib/detect-links.test.ts +98 -0
- package/src/lib/detect-links.ts +56 -0
- package/src/lib/env.test.ts +228 -0
- package/src/lib/env.ts +209 -0
- package/src/lib/extmarks-history.ts +51 -0
- package/src/lib/extmarks-multiwidth.test.ts +322 -0
- package/src/lib/extmarks.test.ts +3457 -0
- package/src/lib/extmarks.ts +843 -0
- package/src/lib/fonts/block.json +405 -0
- package/src/lib/fonts/grid.json +265 -0
- package/src/lib/fonts/huge.json +741 -0
- package/src/lib/fonts/pallet.json +314 -0
- package/src/lib/fonts/shade.json +591 -0
- package/src/lib/fonts/slick.json +321 -0
- package/src/lib/fonts/tiny.json +69 -0
- package/src/lib/hast-styled-text.ts +59 -0
- package/src/lib/index.ts +21 -0
- package/src/lib/keymapping.test.ts +317 -0
- package/src/lib/keymapping.ts +115 -0
- package/src/lib/objects-in-viewport.test.ts +787 -0
- package/src/lib/objects-in-viewport.ts +153 -0
- package/src/lib/output.capture.ts +58 -0
- package/src/lib/parse.keypress-kitty.protocol.test.ts +340 -0
- package/src/lib/parse.keypress-kitty.test.ts +663 -0
- package/src/lib/parse.keypress-kitty.ts +439 -0
- package/src/lib/parse.keypress.test.ts +1849 -0
- package/src/lib/parse.keypress.ts +397 -0
- package/src/lib/parse.mouse.test.ts +552 -0
- package/src/lib/parse.mouse.ts +232 -0
- package/src/lib/paste.ts +16 -0
- package/src/lib/queue.ts +65 -0
- package/src/lib/renderable.validations.test.ts +87 -0
- package/src/lib/renderable.validations.ts +83 -0
- package/src/lib/scroll-acceleration.ts +98 -0
- package/src/lib/selection.ts +240 -0
- package/src/lib/singleton.ts +28 -0
- package/src/lib/stdin-parser.test.ts +2290 -0
- package/src/lib/stdin-parser.ts +1810 -0
- package/src/lib/styled-text.ts +178 -0
- package/src/lib/terminal-capability-detection.test.ts +202 -0
- package/src/lib/terminal-capability-detection.ts +79 -0
- package/src/lib/terminal-palette.test.ts +878 -0
- package/src/lib/terminal-palette.ts +383 -0
- package/src/lib/tree-sitter/assets/README.md +118 -0
- package/src/lib/tree-sitter/assets/update.ts +334 -0
- package/src/lib/tree-sitter/assets.d.ts +9 -0
- package/src/lib/tree-sitter/cache.test.ts +273 -0
- package/src/lib/tree-sitter/client.test.ts +1165 -0
- package/src/lib/tree-sitter/client.ts +607 -0
- package/src/lib/tree-sitter/default-parsers.ts +86 -0
- package/src/lib/tree-sitter/download-utils.ts +148 -0
- package/src/lib/tree-sitter/index.ts +28 -0
- package/src/lib/tree-sitter/parser.worker.ts +1042 -0
- package/src/lib/tree-sitter/parsers-config.ts +81 -0
- package/src/lib/tree-sitter/resolve-ft.test.ts +55 -0
- package/src/lib/tree-sitter/resolve-ft.ts +189 -0
- package/src/lib/tree-sitter/types.ts +82 -0
- package/src/lib/tree-sitter-styled-text.test.ts +1253 -0
- package/src/lib/tree-sitter-styled-text.ts +306 -0
- package/src/lib/validate-dir-name.ts +55 -0
- package/src/lib/yoga.options.test.ts +628 -0
- package/src/lib/yoga.options.ts +346 -0
- package/src/plugins/core-slot.ts +579 -0
- package/src/plugins/registry.ts +402 -0
- package/src/plugins/types.ts +46 -0
- package/src/post/effects.ts +930 -0
- package/src/post/filters.ts +489 -0
- package/src/post/matrices.ts +288 -0
- package/src/renderables/ASCIIFont.ts +219 -0
- package/src/renderables/Box.test.ts +205 -0
- package/src/renderables/Box.ts +326 -0
- package/src/renderables/Code.test.ts +2062 -0
- package/src/renderables/Code.ts +357 -0
- package/src/renderables/Diff.regression.test.ts +226 -0
- package/src/renderables/Diff.test.ts +3101 -0
- package/src/renderables/Diff.ts +1211 -0
- package/src/renderables/EditBufferRenderable.test.ts +288 -0
- package/src/renderables/EditBufferRenderable.ts +1166 -0
- package/src/renderables/FrameBuffer.ts +47 -0
- package/src/renderables/Input.test.ts +1228 -0
- package/src/renderables/Input.ts +247 -0
- package/src/renderables/LineNumberRenderable.ts +724 -0
- package/src/renderables/Markdown.ts +1393 -0
- package/src/renderables/ScrollBar.ts +422 -0
- package/src/renderables/ScrollBox.ts +883 -0
- package/src/renderables/Select.test.ts +1033 -0
- package/src/renderables/Select.ts +524 -0
- package/src/renderables/Slider.test.ts +456 -0
- package/src/renderables/Slider.ts +342 -0
- package/src/renderables/TabSelect.test.ts +197 -0
- package/src/renderables/TabSelect.ts +455 -0
- package/src/renderables/Text.selection-buffer.test.ts +123 -0
- package/src/renderables/Text.test.ts +2660 -0
- package/src/renderables/Text.ts +147 -0
- package/src/renderables/TextBufferRenderable.ts +518 -0
- package/src/renderables/TextNode.test.ts +1058 -0
- package/src/renderables/TextNode.ts +325 -0
- package/src/renderables/TextTable.test.ts +1421 -0
- package/src/renderables/TextTable.ts +1344 -0
- package/src/renderables/Textarea.ts +430 -0
- package/src/renderables/TimeToFirstDraw.ts +89 -0
- package/src/renderables/__snapshots__/Code.test.ts.snap +13 -0
- package/src/renderables/__snapshots__/Diff.test.ts.snap +785 -0
- package/src/renderables/__snapshots__/Text.test.ts.snap +421 -0
- package/src/renderables/__snapshots__/TextTable.test.ts.snap +215 -0
- package/src/renderables/__tests__/LineNumberRenderable.scrollbox-simple.test.ts +144 -0
- package/src/renderables/__tests__/LineNumberRenderable.scrollbox.test.ts +816 -0
- package/src/renderables/__tests__/LineNumberRenderable.test.ts +1865 -0
- package/src/renderables/__tests__/LineNumberRenderable.wrapping.test.ts +85 -0
- package/src/renderables/__tests__/Markdown.code-colors.test.ts +242 -0
- package/src/renderables/__tests__/Markdown.test.ts +2518 -0
- package/src/renderables/__tests__/MultiRenderable.selection.test.ts +87 -0
- package/src/renderables/__tests__/Textarea.buffer.test.ts +682 -0
- package/src/renderables/__tests__/Textarea.destroyed-events.test.ts +675 -0
- package/src/renderables/__tests__/Textarea.editing.test.ts +2041 -0
- package/src/renderables/__tests__/Textarea.error-handling.test.ts +35 -0
- package/src/renderables/__tests__/Textarea.events.test.ts +738 -0
- package/src/renderables/__tests__/Textarea.highlights.test.ts +590 -0
- package/src/renderables/__tests__/Textarea.keybinding.test.ts +3149 -0
- package/src/renderables/__tests__/Textarea.paste.test.ts +357 -0
- package/src/renderables/__tests__/Textarea.rendering.test.ts +1866 -0
- package/src/renderables/__tests__/Textarea.scroll.test.ts +733 -0
- package/src/renderables/__tests__/Textarea.selection.test.ts +1590 -0
- package/src/renderables/__tests__/Textarea.stress.test.ts +670 -0
- package/src/renderables/__tests__/Textarea.undo-redo.test.ts +383 -0
- package/src/renderables/__tests__/Textarea.visual-lines.test.ts +310 -0
- package/src/renderables/__tests__/__snapshots__/LineNumberRenderable.code.test.ts.snap +221 -0
- package/src/renderables/__tests__/__snapshots__/LineNumberRenderable.scrollbox-simple.test.ts.snap +89 -0
- package/src/renderables/__tests__/__snapshots__/LineNumberRenderable.scrollbox.test.ts.snap +457 -0
- package/src/renderables/__tests__/__snapshots__/LineNumberRenderable.test.ts.snap +158 -0
- package/src/renderables/__tests__/__snapshots__/Textarea.rendering.test.ts.snap +387 -0
- package/src/renderables/__tests__/markdown-parser.test.ts +217 -0
- package/src/renderables/__tests__/renderable-test-utils.ts +60 -0
- package/src/renderables/composition/README.md +8 -0
- package/src/renderables/composition/VRenderable.ts +32 -0
- package/src/renderables/composition/constructs.ts +127 -0
- package/src/renderables/composition/vnode.ts +289 -0
- package/src/renderables/index.ts +23 -0
- package/src/renderables/markdown-parser.ts +66 -0
- package/src/renderer.ts +2681 -0
- package/src/runtime-plugin-support.ts +39 -0
- package/src/runtime-plugin.ts +615 -0
- package/src/syntax-style.test.ts +841 -0
- package/src/syntax-style.ts +257 -0
- package/src/testing/README.md +210 -0
- package/src/testing/capture-spans.test.ts +194 -0
- package/src/testing/integration.test.ts +276 -0
- package/src/testing/manual-clock.ts +117 -0
- package/src/testing/mock-keys.test.ts +1378 -0
- package/src/testing/mock-keys.ts +457 -0
- package/src/testing/mock-mouse.test.ts +218 -0
- package/src/testing/mock-mouse.ts +247 -0
- package/src/testing/mock-tree-sitter-client.ts +73 -0
- package/src/testing/spy.ts +13 -0
- package/src/testing/test-recorder.test.ts +415 -0
- package/src/testing/test-recorder.ts +145 -0
- package/src/testing/test-renderer.ts +132 -0
- package/src/testing.ts +7 -0
- package/src/tests/__snapshots__/absolute-positioning.snapshot.test.ts.snap +481 -0
- package/src/tests/__snapshots__/renderable.snapshot.test.ts.snap +19 -0
- package/src/tests/__snapshots__/scrollbox.test.ts.snap +29 -0
- package/src/tests/absolute-positioning.snapshot.test.ts +638 -0
- package/src/tests/allocator-stats.test.ts +38 -0
- package/src/tests/destroy-during-render.test.ts +200 -0
- package/src/tests/destroy-on-exit.fixture.ts +36 -0
- package/src/tests/destroy-on-exit.test.ts +41 -0
- package/src/tests/hover-cursor.test.ts +98 -0
- package/src/tests/native-span-feed-async.test.ts +173 -0
- package/src/tests/native-span-feed-close.test.ts +120 -0
- package/src/tests/native-span-feed-coverage.test.ts +227 -0
- package/src/tests/native-span-feed-edge-cases.test.ts +352 -0
- package/src/tests/native-span-feed-use-after-free.test.ts +45 -0
- package/src/tests/opacity.test.ts +123 -0
- package/src/tests/renderable.snapshot.test.ts +524 -0
- package/src/tests/renderable.test.ts +1281 -0
- package/src/tests/renderer.clock.test.ts +158 -0
- package/src/tests/renderer.console-startup.test.ts +185 -0
- package/src/tests/renderer.control.test.ts +425 -0
- package/src/tests/renderer.core-slot-binding.test.ts +952 -0
- package/src/tests/renderer.cursor.test.ts +26 -0
- package/src/tests/renderer.destroy-during-render.test.ts +147 -0
- package/src/tests/renderer.focus-restore.test.ts +257 -0
- package/src/tests/renderer.focus.test.ts +294 -0
- package/src/tests/renderer.idle.test.ts +219 -0
- package/src/tests/renderer.input.test.ts +2237 -0
- package/src/tests/renderer.kitty-flags.test.ts +195 -0
- package/src/tests/renderer.mouse.test.ts +1274 -0
- package/src/tests/renderer.palette.test.ts +629 -0
- package/src/tests/renderer.selection.test.ts +49 -0
- package/src/tests/renderer.slot-registry.test.ts +684 -0
- package/src/tests/renderer.useMouse.test.ts +47 -0
- package/src/tests/runtime-plugin-node-modules-cycle.fixture.ts +76 -0
- package/src/tests/runtime-plugin-node-modules-mjs.fixture.ts +43 -0
- package/src/tests/runtime-plugin-node-modules-no-bare-rewrite.fixture.ts +67 -0
- package/src/tests/runtime-plugin-node-modules-package-type-cache.fixture.ts +72 -0
- package/src/tests/runtime-plugin-node-modules-runtime-specifier.fixture.ts +44 -0
- package/src/tests/runtime-plugin-node-modules-scoped-package-bare-rewrite.fixture.ts +85 -0
- package/src/tests/runtime-plugin-path-alias.fixture.ts +43 -0
- package/src/tests/runtime-plugin-resolve-roots.fixture.ts +65 -0
- package/src/tests/runtime-plugin-support.fixture.ts +11 -0
- package/src/tests/runtime-plugin-support.test.ts +19 -0
- package/src/tests/runtime-plugin-windows-file-url.fixture.ts +30 -0
- package/src/tests/runtime-plugin.fixture.ts +40 -0
- package/src/tests/runtime-plugin.test.ts +354 -0
- package/src/tests/scrollbox-culling-bug.test.ts +114 -0
- package/src/tests/scrollbox-hitgrid-resize.test.ts +136 -0
- package/src/tests/scrollbox-hitgrid.test.ts +909 -0
- package/src/tests/scrollbox.test.ts +1530 -0
- package/src/tests/wrap-resize-perf.test.ts +276 -0
- package/src/tests/yoga-setters.test.ts +921 -0
- package/src/text-buffer-view.test.ts +705 -0
- package/src/text-buffer-view.ts +189 -0
- package/src/text-buffer.test.ts +347 -0
- package/src/text-buffer.ts +250 -0
- package/src/types.ts +161 -0
- package/src/utils.ts +88 -0
- package/src/zig/ansi.zig +268 -0
- package/src/zig/bench/README.md +50 -0
- package/src/zig/bench/buffer-draw-text-buffer_bench.zig +887 -0
- package/src/zig/bench/edit-buffer_bench.zig +476 -0
- package/src/zig/bench/native-span-feed_bench.zig +100 -0
- package/src/zig/bench/rope-markers_bench.zig +713 -0
- package/src/zig/bench/rope_bench.zig +514 -0
- package/src/zig/bench/styled-text_bench.zig +470 -0
- package/src/zig/bench/text-buffer-coords_bench.zig +362 -0
- package/src/zig/bench/text-buffer-view_bench.zig +459 -0
- package/src/zig/bench/text-chunk-graphemes_bench.zig +273 -0
- package/src/zig/bench/utf8_bench.zig +799 -0
- package/src/zig/bench-utils.zig +431 -0
- package/src/zig/bench.zig +217 -0
- package/src/zig/buffer-methods.zig +211 -0
- package/src/zig/buffer.zig +2281 -0
- package/src/zig/build.zig +289 -0
- package/src/zig/build.zig.zon +16 -0
- package/src/zig/edit-buffer.zig +825 -0
- package/src/zig/editor-view.zig +802 -0
- package/src/zig/event-bus.zig +13 -0
- package/src/zig/event-emitter.zig +65 -0
- package/src/zig/file-logger.zig +92 -0
- package/src/zig/grapheme.zig +599 -0
- package/src/zig/lib.zig +1854 -0
- package/src/zig/link.zig +333 -0
- package/src/zig/logger.zig +43 -0
- package/src/zig/mem-registry.zig +125 -0
- package/src/zig/native-span-feed-bench-lib.zig +7 -0
- package/src/zig/native-span-feed.zig +708 -0
- package/src/zig/renderer.zig +1393 -0
- package/src/zig/rope.zig +1220 -0
- package/src/zig/syntax-style.zig +161 -0
- package/src/zig/terminal.zig +987 -0
- package/src/zig/test.zig +72 -0
- package/src/zig/tests/README.md +18 -0
- package/src/zig/tests/buffer-methods_test.zig +1109 -0
- package/src/zig/tests/buffer_test.zig +2557 -0
- package/src/zig/tests/edit-buffer-history_test.zig +271 -0
- package/src/zig/tests/edit-buffer_test.zig +1689 -0
- package/src/zig/tests/editor-view_test.zig +3299 -0
- package/src/zig/tests/event-emitter_test.zig +249 -0
- package/src/zig/tests/grapheme_test.zig +1304 -0
- package/src/zig/tests/link_test.zig +190 -0
- package/src/zig/tests/mem-registry_test.zig +473 -0
- package/src/zig/tests/memory_leak_regression_test.zig +159 -0
- package/src/zig/tests/native-span-feed_test.zig +1264 -0
- package/src/zig/tests/renderer_test.zig +1017 -0
- package/src/zig/tests/rope-nested_test.zig +712 -0
- package/src/zig/tests/rope_fuzz_test.zig +238 -0
- package/src/zig/tests/rope_test.zig +2362 -0
- package/src/zig/tests/segment-merge.test.zig +148 -0
- package/src/zig/tests/syntax-style_test.zig +557 -0
- package/src/zig/tests/terminal_test.zig +754 -0
- package/src/zig/tests/text-buffer-drawing_test.zig +3237 -0
- package/src/zig/tests/text-buffer-highlights_test.zig +666 -0
- package/src/zig/tests/text-buffer-iterators_test.zig +776 -0
- package/src/zig/tests/text-buffer-segment_test.zig +320 -0
- package/src/zig/tests/text-buffer-selection_test.zig +1035 -0
- package/src/zig/tests/text-buffer-selection_viewport_test.zig +358 -0
- package/src/zig/tests/text-buffer-view_test.zig +3649 -0
- package/src/zig/tests/text-buffer_test.zig +2191 -0
- package/src/zig/tests/unicode-width-map.zon +3909 -0
- package/src/zig/tests/utf8_no_zwj_test.zig +260 -0
- package/src/zig/tests/utf8_test.zig +4057 -0
- package/src/zig/tests/utf8_wcwidth_cursor_test.zig +267 -0
- package/src/zig/tests/utf8_wcwidth_test.zig +357 -0
- package/src/zig/tests/word-wrap-editing_test.zig +498 -0
- package/src/zig/tests/wrap-cache-perf_test.zig +113 -0
- package/src/zig/text-buffer-iterators.zig +499 -0
- package/src/zig/text-buffer-segment.zig +404 -0
- package/src/zig/text-buffer-view.zig +1371 -0
- package/src/zig/text-buffer.zig +1180 -0
- package/src/zig/utf8.zig +1948 -0
- package/src/zig/utils.zig +9 -0
- package/src/zig-structs.ts +261 -0
- package/src/zig.ts +3884 -0
- package/tsconfig.build.json +24 -0
- package/tsconfig.json +27 -0
- package/3d/SpriteResourceManager.d.ts +0 -74
- package/3d/SpriteUtils.d.ts +0 -13
- package/3d/TextureUtils.d.ts +0 -24
- package/3d/ThreeRenderable.d.ts +0 -40
- package/3d/WGPURenderer.d.ts +0 -61
- package/3d/animation/ExplodingSpriteEffect.d.ts +0 -71
- package/3d/animation/PhysicsExplodingSpriteEffect.d.ts +0 -76
- package/3d/animation/SpriteAnimator.d.ts +0 -124
- package/3d/animation/SpriteParticleGenerator.d.ts +0 -62
- package/3d/canvas.d.ts +0 -44
- package/3d/index.d.ts +0 -12
- package/3d/physics/PlanckPhysicsAdapter.d.ts +0 -19
- package/3d/physics/RapierPhysicsAdapter.d.ts +0 -19
- package/3d/physics/physics-interface.d.ts +0 -27
- package/3d.d.ts +0 -2
- package/3d.js +0 -34041
- package/3d.js.map +0 -155
- package/LICENSE +0 -21
- package/NativeSpanFeed.d.ts +0 -41
- package/Renderable.d.ts +0 -334
- package/animation/Timeline.d.ts +0 -126
- package/ansi.d.ts +0 -13
- package/buffer.d.ts +0 -111
- package/console.d.ts +0 -144
- package/edit-buffer.d.ts +0 -98
- package/editor-view.d.ts +0 -73
- package/index-8fks7yv1.js +0 -411
- package/index-8fks7yv1.js.map +0 -10
- package/index-egy5e2rs.js +0 -12267
- package/index-egy5e2rs.js.map +0 -42
- package/index-tse8gzh0.js +0 -20614
- package/index-tse8gzh0.js.map +0 -67
- package/index.d.ts +0 -23
- package/index.js +0 -478
- package/index.js.map +0 -9
- package/lib/KeyHandler.d.ts +0 -61
- package/lib/RGBA.d.ts +0 -25
- package/lib/ascii.font.d.ts +0 -508
- package/lib/border.d.ts +0 -51
- package/lib/bunfs.d.ts +0 -7
- package/lib/clipboard.d.ts +0 -17
- package/lib/clock.d.ts +0 -15
- package/lib/data-paths.d.ts +0 -26
- package/lib/debounce.d.ts +0 -42
- package/lib/detect-links.d.ts +0 -6
- package/lib/env.d.ts +0 -42
- package/lib/extmarks-history.d.ts +0 -17
- package/lib/extmarks.d.ts +0 -89
- package/lib/hast-styled-text.d.ts +0 -17
- package/lib/index.d.ts +0 -21
- package/lib/keymapping.d.ts +0 -25
- package/lib/objects-in-viewport.d.ts +0 -24
- package/lib/output.capture.d.ts +0 -24
- package/lib/parse.keypress-kitty.d.ts +0 -2
- package/lib/parse.keypress.d.ts +0 -26
- package/lib/parse.mouse.d.ts +0 -30
- package/lib/paste.d.ts +0 -7
- package/lib/queue.d.ts +0 -15
- package/lib/renderable.validations.d.ts +0 -12
- package/lib/scroll-acceleration.d.ts +0 -43
- package/lib/selection.d.ts +0 -63
- package/lib/singleton.d.ts +0 -7
- package/lib/stdin-parser.d.ts +0 -87
- package/lib/styled-text.d.ts +0 -63
- package/lib/terminal-capability-detection.d.ts +0 -30
- package/lib/terminal-palette.d.ts +0 -50
- package/lib/tree-sitter/assets/update.d.ts +0 -11
- package/lib/tree-sitter/client.d.ts +0 -47
- package/lib/tree-sitter/default-parsers.d.ts +0 -2
- package/lib/tree-sitter/download-utils.d.ts +0 -21
- package/lib/tree-sitter/index.d.ts +0 -8
- package/lib/tree-sitter/parser.worker.d.ts +0 -1
- package/lib/tree-sitter/parsers-config.d.ts +0 -53
- package/lib/tree-sitter/resolve-ft.d.ts +0 -5
- package/lib/tree-sitter/types.d.ts +0 -82
- package/lib/tree-sitter-styled-text.d.ts +0 -14
- package/lib/validate-dir-name.d.ts +0 -1
- package/lib/yoga.options.d.ts +0 -32
- package/parser.worker.js +0 -899
- package/parser.worker.js.map +0 -12
- package/plugins/core-slot.d.ts +0 -72
- package/plugins/registry.d.ts +0 -42
- package/plugins/types.d.ts +0 -34
- package/post/effects.d.ts +0 -147
- package/post/filters.d.ts +0 -65
- package/post/matrices.d.ts +0 -20
- package/renderables/ASCIIFont.d.ts +0 -52
- package/renderables/Box.d.ts +0 -81
- package/renderables/Code.d.ts +0 -78
- package/renderables/Diff.d.ts +0 -142
- package/renderables/EditBufferRenderable.d.ts +0 -237
- package/renderables/FrameBuffer.d.ts +0 -16
- package/renderables/Input.d.ts +0 -67
- package/renderables/LineNumberRenderable.d.ts +0 -78
- package/renderables/Markdown.d.ts +0 -185
- package/renderables/ScrollBar.d.ts +0 -77
- package/renderables/ScrollBox.d.ts +0 -124
- package/renderables/Select.d.ts +0 -115
- package/renderables/Slider.d.ts +0 -47
- package/renderables/TabSelect.d.ts +0 -96
- package/renderables/Text.d.ts +0 -36
- package/renderables/TextBufferRenderable.d.ts +0 -105
- package/renderables/TextNode.d.ts +0 -91
- package/renderables/TextTable.d.ts +0 -140
- package/renderables/Textarea.d.ts +0 -63
- package/renderables/TimeToFirstDraw.d.ts +0 -24
- package/renderables/__tests__/renderable-test-utils.d.ts +0 -12
- package/renderables/composition/VRenderable.d.ts +0 -16
- package/renderables/composition/constructs.d.ts +0 -35
- package/renderables/composition/vnode.d.ts +0 -46
- package/renderables/index.d.ts +0 -23
- package/renderables/markdown-parser.d.ts +0 -10
- package/renderer.d.ts +0 -419
- package/runtime-plugin-support.d.ts +0 -3
- package/runtime-plugin-support.js +0 -29
- package/runtime-plugin-support.js.map +0 -10
- package/runtime-plugin.d.ts +0 -16
- package/runtime-plugin.js +0 -16
- package/runtime-plugin.js.map +0 -9
- package/syntax-style.d.ts +0 -54
- package/testing/manual-clock.d.ts +0 -17
- package/testing/mock-keys.d.ts +0 -81
- package/testing/mock-mouse.d.ts +0 -38
- package/testing/mock-tree-sitter-client.d.ts +0 -23
- package/testing/spy.d.ts +0 -7
- package/testing/test-recorder.d.ts +0 -61
- package/testing/test-renderer.d.ts +0 -23
- package/testing.d.ts +0 -6
- package/testing.js +0 -697
- package/testing.js.map +0 -15
- package/text-buffer-view.d.ts +0 -42
- package/text-buffer.d.ts +0 -67
- package/types.d.ts +0 -139
- package/utils.d.ts +0 -14
- package/zig-structs.d.ts +0 -155
- package/zig.d.ts +0 -353
- /package/{assets → src/lib/tree-sitter/assets}/javascript/highlights.scm +0 -0
- /package/{assets → src/lib/tree-sitter/assets}/javascript/tree-sitter-javascript.wasm +0 -0
- /package/{assets → src/lib/tree-sitter/assets}/markdown/highlights.scm +0 -0
- /package/{assets → src/lib/tree-sitter/assets}/markdown/injections.scm +0 -0
- /package/{assets → src/lib/tree-sitter/assets}/markdown/tree-sitter-markdown.wasm +0 -0
- /package/{assets → src/lib/tree-sitter/assets}/markdown_inline/highlights.scm +0 -0
- /package/{assets → src/lib/tree-sitter/assets}/markdown_inline/tree-sitter-markdown_inline.wasm +0 -0
- /package/{assets → src/lib/tree-sitter/assets}/typescript/highlights.scm +0 -0
- /package/{assets → src/lib/tree-sitter/assets}/typescript/tree-sitter-typescript.wasm +0 -0
- /package/{assets → src/lib/tree-sitter/assets}/zig/highlights.scm +0 -0
- /package/{assets → src/lib/tree-sitter/assets}/zig/tree-sitter-zig.wasm +0 -0
|
@@ -0,0 +1,921 @@
|
|
|
1
|
+
import { test, expect, beforeEach, afterEach, describe } from "bun:test"
|
|
2
|
+
import { Renderable, type RenderableOptions } from "../Renderable.js"
|
|
3
|
+
import { createTestRenderer, type TestRenderer } from "../testing/test-renderer.js"
|
|
4
|
+
import type { RenderContext } from "../types.js"
|
|
5
|
+
|
|
6
|
+
class TestRenderable extends Renderable {
|
|
7
|
+
constructor(ctx: RenderContext, options: RenderableOptions) {
|
|
8
|
+
super(ctx, options)
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
let testRenderer: TestRenderer
|
|
13
|
+
|
|
14
|
+
beforeEach(async () => {
|
|
15
|
+
;({ renderer: testRenderer } = await createTestRenderer({}))
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
afterEach(() => {
|
|
19
|
+
testRenderer.destroy()
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
describe("Yoga Prop Setters - flexGrow", () => {
|
|
23
|
+
test("accepts valid number", () => {
|
|
24
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-flex-grow" })
|
|
25
|
+
expect(() => {
|
|
26
|
+
renderable.flexGrow = 1
|
|
27
|
+
}).not.toThrow()
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
test("accepts 0", () => {
|
|
31
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-flex-grow-zero" })
|
|
32
|
+
expect(() => {
|
|
33
|
+
renderable.flexGrow = 0
|
|
34
|
+
}).not.toThrow()
|
|
35
|
+
})
|
|
36
|
+
|
|
37
|
+
test("accepts null", () => {
|
|
38
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-flex-grow-null" })
|
|
39
|
+
expect(() => {
|
|
40
|
+
renderable.flexGrow = null
|
|
41
|
+
}).not.toThrow()
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
test("accepts undefined", () => {
|
|
45
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-flex-grow-undefined" })
|
|
46
|
+
expect(() => {
|
|
47
|
+
renderable.flexGrow = undefined
|
|
48
|
+
}).not.toThrow()
|
|
49
|
+
})
|
|
50
|
+
})
|
|
51
|
+
|
|
52
|
+
describe("Yoga Prop Setters - flexShrink", () => {
|
|
53
|
+
test("accepts valid number", () => {
|
|
54
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-flex-shrink" })
|
|
55
|
+
expect(() => {
|
|
56
|
+
renderable.flexShrink = 1
|
|
57
|
+
}).not.toThrow()
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
test("accepts 0", () => {
|
|
61
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-flex-shrink-zero" })
|
|
62
|
+
expect(() => {
|
|
63
|
+
renderable.flexShrink = 0
|
|
64
|
+
}).not.toThrow()
|
|
65
|
+
})
|
|
66
|
+
|
|
67
|
+
test("accepts null", () => {
|
|
68
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-flex-shrink-null" })
|
|
69
|
+
expect(() => {
|
|
70
|
+
renderable.flexShrink = null
|
|
71
|
+
}).not.toThrow()
|
|
72
|
+
})
|
|
73
|
+
|
|
74
|
+
test("accepts undefined", () => {
|
|
75
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-flex-shrink-undefined" })
|
|
76
|
+
expect(() => {
|
|
77
|
+
renderable.flexShrink = undefined
|
|
78
|
+
}).not.toThrow()
|
|
79
|
+
})
|
|
80
|
+
})
|
|
81
|
+
|
|
82
|
+
describe("Yoga Prop Setters - flexDirection", () => {
|
|
83
|
+
test("accepts valid string", () => {
|
|
84
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-flex-direction" })
|
|
85
|
+
expect(() => {
|
|
86
|
+
renderable.flexDirection = "row"
|
|
87
|
+
}).not.toThrow()
|
|
88
|
+
})
|
|
89
|
+
|
|
90
|
+
test("accepts all valid values", () => {
|
|
91
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-flex-direction-all" })
|
|
92
|
+
expect(() => {
|
|
93
|
+
renderable.flexDirection = "column"
|
|
94
|
+
renderable.flexDirection = "column-reverse"
|
|
95
|
+
renderable.flexDirection = "row"
|
|
96
|
+
renderable.flexDirection = "row-reverse"
|
|
97
|
+
}).not.toThrow()
|
|
98
|
+
})
|
|
99
|
+
|
|
100
|
+
test("accepts null", () => {
|
|
101
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-flex-direction-null" })
|
|
102
|
+
expect(() => {
|
|
103
|
+
renderable.flexDirection = null
|
|
104
|
+
}).not.toThrow()
|
|
105
|
+
})
|
|
106
|
+
|
|
107
|
+
test("accepts undefined", () => {
|
|
108
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-flex-direction-undefined" })
|
|
109
|
+
expect(() => {
|
|
110
|
+
renderable.flexDirection = undefined
|
|
111
|
+
}).not.toThrow()
|
|
112
|
+
})
|
|
113
|
+
})
|
|
114
|
+
|
|
115
|
+
describe("Yoga Prop Setters - flexWrap", () => {
|
|
116
|
+
test("accepts valid string", () => {
|
|
117
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-flex-wrap" })
|
|
118
|
+
expect(() => {
|
|
119
|
+
renderable.flexWrap = "wrap"
|
|
120
|
+
}).not.toThrow()
|
|
121
|
+
})
|
|
122
|
+
|
|
123
|
+
test("accepts all valid values", () => {
|
|
124
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-flex-wrap-all" })
|
|
125
|
+
expect(() => {
|
|
126
|
+
renderable.flexWrap = "no-wrap"
|
|
127
|
+
renderable.flexWrap = "wrap"
|
|
128
|
+
renderable.flexWrap = "wrap-reverse"
|
|
129
|
+
}).not.toThrow()
|
|
130
|
+
})
|
|
131
|
+
|
|
132
|
+
test("accepts null", () => {
|
|
133
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-flex-wrap-null" })
|
|
134
|
+
expect(() => {
|
|
135
|
+
renderable.flexWrap = null
|
|
136
|
+
}).not.toThrow()
|
|
137
|
+
})
|
|
138
|
+
|
|
139
|
+
test("accepts undefined", () => {
|
|
140
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-flex-wrap-undefined" })
|
|
141
|
+
expect(() => {
|
|
142
|
+
renderable.flexWrap = undefined
|
|
143
|
+
}).not.toThrow()
|
|
144
|
+
})
|
|
145
|
+
})
|
|
146
|
+
|
|
147
|
+
describe("Yoga Prop Setters - alignItems", () => {
|
|
148
|
+
test("accepts valid string", () => {
|
|
149
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-align-items" })
|
|
150
|
+
expect(() => {
|
|
151
|
+
renderable.alignItems = "center"
|
|
152
|
+
}).not.toThrow()
|
|
153
|
+
})
|
|
154
|
+
|
|
155
|
+
test("accepts all valid values", () => {
|
|
156
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-align-items-all" })
|
|
157
|
+
expect(() => {
|
|
158
|
+
renderable.alignItems = "auto"
|
|
159
|
+
renderable.alignItems = "flex-start"
|
|
160
|
+
renderable.alignItems = "center"
|
|
161
|
+
renderable.alignItems = "flex-end"
|
|
162
|
+
renderable.alignItems = "stretch"
|
|
163
|
+
renderable.alignItems = "baseline"
|
|
164
|
+
renderable.alignItems = "space-between"
|
|
165
|
+
renderable.alignItems = "space-around"
|
|
166
|
+
renderable.alignItems = "space-evenly"
|
|
167
|
+
}).not.toThrow()
|
|
168
|
+
})
|
|
169
|
+
|
|
170
|
+
test("accepts null", () => {
|
|
171
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-align-items-null" })
|
|
172
|
+
expect(() => {
|
|
173
|
+
renderable.alignItems = null
|
|
174
|
+
}).not.toThrow()
|
|
175
|
+
})
|
|
176
|
+
|
|
177
|
+
test("accepts undefined", () => {
|
|
178
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-align-items-undefined" })
|
|
179
|
+
expect(() => {
|
|
180
|
+
renderable.alignItems = undefined
|
|
181
|
+
}).not.toThrow()
|
|
182
|
+
})
|
|
183
|
+
})
|
|
184
|
+
|
|
185
|
+
describe("Yoga Prop Setters - justifyContent", () => {
|
|
186
|
+
test("accepts valid string", () => {
|
|
187
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-justify-content" })
|
|
188
|
+
expect(() => {
|
|
189
|
+
renderable.justifyContent = "center"
|
|
190
|
+
}).not.toThrow()
|
|
191
|
+
})
|
|
192
|
+
|
|
193
|
+
test("accepts all valid values", () => {
|
|
194
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-justify-content-all" })
|
|
195
|
+
expect(() => {
|
|
196
|
+
renderable.justifyContent = "flex-start"
|
|
197
|
+
renderable.justifyContent = "center"
|
|
198
|
+
renderable.justifyContent = "flex-end"
|
|
199
|
+
renderable.justifyContent = "space-between"
|
|
200
|
+
renderable.justifyContent = "space-around"
|
|
201
|
+
renderable.justifyContent = "space-evenly"
|
|
202
|
+
}).not.toThrow()
|
|
203
|
+
})
|
|
204
|
+
|
|
205
|
+
test("accepts null", () => {
|
|
206
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-justify-content-null" })
|
|
207
|
+
expect(() => {
|
|
208
|
+
renderable.justifyContent = null
|
|
209
|
+
}).not.toThrow()
|
|
210
|
+
})
|
|
211
|
+
|
|
212
|
+
test("accepts undefined", () => {
|
|
213
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-justify-content-undefined" })
|
|
214
|
+
expect(() => {
|
|
215
|
+
renderable.justifyContent = undefined
|
|
216
|
+
}).not.toThrow()
|
|
217
|
+
})
|
|
218
|
+
})
|
|
219
|
+
|
|
220
|
+
describe("Yoga Prop Setters - alignSelf", () => {
|
|
221
|
+
test("accepts valid string", () => {
|
|
222
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-align-self" })
|
|
223
|
+
expect(() => {
|
|
224
|
+
renderable.alignSelf = "center"
|
|
225
|
+
}).not.toThrow()
|
|
226
|
+
})
|
|
227
|
+
|
|
228
|
+
test("accepts all valid values", () => {
|
|
229
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-align-self-all" })
|
|
230
|
+
expect(() => {
|
|
231
|
+
renderable.alignSelf = "auto"
|
|
232
|
+
renderable.alignSelf = "flex-start"
|
|
233
|
+
renderable.alignSelf = "center"
|
|
234
|
+
renderable.alignSelf = "flex-end"
|
|
235
|
+
renderable.alignSelf = "stretch"
|
|
236
|
+
renderable.alignSelf = "baseline"
|
|
237
|
+
renderable.alignSelf = "space-between"
|
|
238
|
+
renderable.alignSelf = "space-around"
|
|
239
|
+
renderable.alignSelf = "space-evenly"
|
|
240
|
+
}).not.toThrow()
|
|
241
|
+
})
|
|
242
|
+
|
|
243
|
+
test("accepts null", () => {
|
|
244
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-align-self-null" })
|
|
245
|
+
expect(() => {
|
|
246
|
+
renderable.alignSelf = null
|
|
247
|
+
}).not.toThrow()
|
|
248
|
+
})
|
|
249
|
+
|
|
250
|
+
test("accepts undefined", () => {
|
|
251
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-align-self-undefined" })
|
|
252
|
+
expect(() => {
|
|
253
|
+
renderable.alignSelf = undefined
|
|
254
|
+
}).not.toThrow()
|
|
255
|
+
})
|
|
256
|
+
})
|
|
257
|
+
|
|
258
|
+
describe("Yoga Prop Setters - overflow", () => {
|
|
259
|
+
test("accepts valid string", () => {
|
|
260
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-overflow" })
|
|
261
|
+
expect(() => {
|
|
262
|
+
renderable.overflow = "hidden"
|
|
263
|
+
}).not.toThrow()
|
|
264
|
+
})
|
|
265
|
+
|
|
266
|
+
test("accepts all valid values", () => {
|
|
267
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-overflow-all" })
|
|
268
|
+
expect(() => {
|
|
269
|
+
renderable.overflow = "visible"
|
|
270
|
+
renderable.overflow = "hidden"
|
|
271
|
+
renderable.overflow = "scroll"
|
|
272
|
+
}).not.toThrow()
|
|
273
|
+
})
|
|
274
|
+
|
|
275
|
+
test("accepts null", () => {
|
|
276
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-overflow-null" })
|
|
277
|
+
expect(() => {
|
|
278
|
+
renderable.overflow = null
|
|
279
|
+
}).not.toThrow()
|
|
280
|
+
})
|
|
281
|
+
|
|
282
|
+
test("accepts undefined", () => {
|
|
283
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-overflow-undefined" })
|
|
284
|
+
expect(() => {
|
|
285
|
+
renderable.overflow = undefined
|
|
286
|
+
}).not.toThrow()
|
|
287
|
+
})
|
|
288
|
+
})
|
|
289
|
+
|
|
290
|
+
describe("Yoga Prop Setters - position", () => {
|
|
291
|
+
test("accepts valid string", () => {
|
|
292
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-position" })
|
|
293
|
+
expect(() => {
|
|
294
|
+
renderable.position = "absolute"
|
|
295
|
+
}).not.toThrow()
|
|
296
|
+
})
|
|
297
|
+
|
|
298
|
+
test("accepts all valid values", () => {
|
|
299
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-position-all" })
|
|
300
|
+
expect(() => {
|
|
301
|
+
renderable.position = "static"
|
|
302
|
+
renderable.position = "relative"
|
|
303
|
+
renderable.position = "absolute"
|
|
304
|
+
}).not.toThrow()
|
|
305
|
+
})
|
|
306
|
+
|
|
307
|
+
test("accepts null", () => {
|
|
308
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-position-null" })
|
|
309
|
+
expect(() => {
|
|
310
|
+
renderable.position = null
|
|
311
|
+
}).not.toThrow()
|
|
312
|
+
})
|
|
313
|
+
|
|
314
|
+
test("accepts undefined", () => {
|
|
315
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-position-undefined" })
|
|
316
|
+
expect(() => {
|
|
317
|
+
renderable.position = undefined
|
|
318
|
+
}).not.toThrow()
|
|
319
|
+
})
|
|
320
|
+
})
|
|
321
|
+
|
|
322
|
+
describe("Yoga Prop Setters - flexBasis", () => {
|
|
323
|
+
test("accepts valid number", () => {
|
|
324
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-flex-basis" })
|
|
325
|
+
expect(() => {
|
|
326
|
+
renderable.flexBasis = 100
|
|
327
|
+
}).not.toThrow()
|
|
328
|
+
})
|
|
329
|
+
|
|
330
|
+
test("accepts auto", () => {
|
|
331
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-flex-basis-auto" })
|
|
332
|
+
expect(() => {
|
|
333
|
+
renderable.flexBasis = "auto"
|
|
334
|
+
}).not.toThrow()
|
|
335
|
+
})
|
|
336
|
+
|
|
337
|
+
test("accepts null", () => {
|
|
338
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-flex-basis-null" })
|
|
339
|
+
expect(() => {
|
|
340
|
+
renderable.flexBasis = null
|
|
341
|
+
}).not.toThrow()
|
|
342
|
+
})
|
|
343
|
+
|
|
344
|
+
test("accepts undefined", () => {
|
|
345
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-flex-basis-undefined" })
|
|
346
|
+
expect(() => {
|
|
347
|
+
renderable.flexBasis = undefined
|
|
348
|
+
}).not.toThrow()
|
|
349
|
+
})
|
|
350
|
+
})
|
|
351
|
+
|
|
352
|
+
describe("Yoga Prop Setters - minWidth", () => {
|
|
353
|
+
test("accepts valid number", () => {
|
|
354
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-min-width" })
|
|
355
|
+
expect(() => {
|
|
356
|
+
renderable.minWidth = 100
|
|
357
|
+
}).not.toThrow()
|
|
358
|
+
})
|
|
359
|
+
|
|
360
|
+
test("accepts percentage", () => {
|
|
361
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-min-width-percent" })
|
|
362
|
+
expect(() => {
|
|
363
|
+
renderable.minWidth = "50%"
|
|
364
|
+
}).not.toThrow()
|
|
365
|
+
})
|
|
366
|
+
|
|
367
|
+
test("accepts null", () => {
|
|
368
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-min-width-null" })
|
|
369
|
+
expect(() => {
|
|
370
|
+
renderable.minWidth = null
|
|
371
|
+
}).not.toThrow()
|
|
372
|
+
})
|
|
373
|
+
|
|
374
|
+
test("accepts undefined", () => {
|
|
375
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-min-width-undefined" })
|
|
376
|
+
expect(() => {
|
|
377
|
+
renderable.minWidth = undefined
|
|
378
|
+
}).not.toThrow()
|
|
379
|
+
})
|
|
380
|
+
})
|
|
381
|
+
|
|
382
|
+
describe("Yoga Prop Setters - maxWidth", () => {
|
|
383
|
+
test("accepts valid number", () => {
|
|
384
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-max-width" })
|
|
385
|
+
expect(() => {
|
|
386
|
+
renderable.maxWidth = 100
|
|
387
|
+
}).not.toThrow()
|
|
388
|
+
})
|
|
389
|
+
|
|
390
|
+
test("accepts percentage", () => {
|
|
391
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-max-width-percent" })
|
|
392
|
+
expect(() => {
|
|
393
|
+
renderable.maxWidth = "50%"
|
|
394
|
+
}).not.toThrow()
|
|
395
|
+
})
|
|
396
|
+
|
|
397
|
+
test("accepts null", () => {
|
|
398
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-max-width-null" })
|
|
399
|
+
expect(() => {
|
|
400
|
+
renderable.maxWidth = null
|
|
401
|
+
}).not.toThrow()
|
|
402
|
+
})
|
|
403
|
+
|
|
404
|
+
test("accepts undefined", () => {
|
|
405
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-max-width-undefined" })
|
|
406
|
+
expect(() => {
|
|
407
|
+
renderable.maxWidth = undefined
|
|
408
|
+
}).not.toThrow()
|
|
409
|
+
})
|
|
410
|
+
})
|
|
411
|
+
|
|
412
|
+
describe("Yoga Prop Setters - minHeight", () => {
|
|
413
|
+
test("accepts valid number", () => {
|
|
414
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-min-height" })
|
|
415
|
+
expect(() => {
|
|
416
|
+
renderable.minHeight = 100
|
|
417
|
+
}).not.toThrow()
|
|
418
|
+
})
|
|
419
|
+
|
|
420
|
+
test("accepts percentage", () => {
|
|
421
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-min-height-percent" })
|
|
422
|
+
expect(() => {
|
|
423
|
+
renderable.minHeight = "50%"
|
|
424
|
+
}).not.toThrow()
|
|
425
|
+
})
|
|
426
|
+
|
|
427
|
+
test("accepts null", () => {
|
|
428
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-min-height-null" })
|
|
429
|
+
expect(() => {
|
|
430
|
+
renderable.minHeight = null
|
|
431
|
+
}).not.toThrow()
|
|
432
|
+
})
|
|
433
|
+
|
|
434
|
+
test("accepts undefined", () => {
|
|
435
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-min-height-undefined" })
|
|
436
|
+
expect(() => {
|
|
437
|
+
renderable.minHeight = undefined
|
|
438
|
+
}).not.toThrow()
|
|
439
|
+
})
|
|
440
|
+
})
|
|
441
|
+
|
|
442
|
+
describe("Yoga Prop Setters - maxHeight", () => {
|
|
443
|
+
test("accepts valid number", () => {
|
|
444
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-max-height" })
|
|
445
|
+
expect(() => {
|
|
446
|
+
renderable.maxHeight = 100
|
|
447
|
+
}).not.toThrow()
|
|
448
|
+
})
|
|
449
|
+
|
|
450
|
+
test("accepts percentage", () => {
|
|
451
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-max-height-percent" })
|
|
452
|
+
expect(() => {
|
|
453
|
+
renderable.maxHeight = "50%"
|
|
454
|
+
}).not.toThrow()
|
|
455
|
+
})
|
|
456
|
+
|
|
457
|
+
test("accepts null", () => {
|
|
458
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-max-height-null" })
|
|
459
|
+
expect(() => {
|
|
460
|
+
renderable.maxHeight = null
|
|
461
|
+
}).not.toThrow()
|
|
462
|
+
})
|
|
463
|
+
|
|
464
|
+
test("accepts undefined", () => {
|
|
465
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-max-height-undefined" })
|
|
466
|
+
expect(() => {
|
|
467
|
+
renderable.maxHeight = undefined
|
|
468
|
+
}).not.toThrow()
|
|
469
|
+
})
|
|
470
|
+
})
|
|
471
|
+
|
|
472
|
+
describe("Yoga Prop Setters - margin", () => {
|
|
473
|
+
test("accepts valid number", () => {
|
|
474
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin" })
|
|
475
|
+
expect(() => {
|
|
476
|
+
renderable.margin = 10
|
|
477
|
+
}).not.toThrow()
|
|
478
|
+
})
|
|
479
|
+
|
|
480
|
+
test("accepts auto", () => {
|
|
481
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-auto" })
|
|
482
|
+
expect(() => {
|
|
483
|
+
renderable.margin = "auto"
|
|
484
|
+
}).not.toThrow()
|
|
485
|
+
})
|
|
486
|
+
|
|
487
|
+
test("accepts percentage", () => {
|
|
488
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-percent" })
|
|
489
|
+
expect(() => {
|
|
490
|
+
renderable.margin = "10%"
|
|
491
|
+
}).not.toThrow()
|
|
492
|
+
})
|
|
493
|
+
|
|
494
|
+
test("accepts null", () => {
|
|
495
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-null" })
|
|
496
|
+
expect(() => {
|
|
497
|
+
renderable.margin = null
|
|
498
|
+
}).not.toThrow()
|
|
499
|
+
})
|
|
500
|
+
|
|
501
|
+
test("accepts undefined", () => {
|
|
502
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-undefined" })
|
|
503
|
+
expect(() => {
|
|
504
|
+
renderable.margin = undefined
|
|
505
|
+
}).not.toThrow()
|
|
506
|
+
})
|
|
507
|
+
})
|
|
508
|
+
|
|
509
|
+
describe("Yoga Prop Setters - marginX", () => {
|
|
510
|
+
test("accepts valid number", () => {
|
|
511
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-x" })
|
|
512
|
+
expect(() => {
|
|
513
|
+
renderable.marginX = 10
|
|
514
|
+
}).not.toThrow()
|
|
515
|
+
})
|
|
516
|
+
test("accepts auto", () => {
|
|
517
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-x-auto" })
|
|
518
|
+
expect(() => {
|
|
519
|
+
renderable.marginX = "auto"
|
|
520
|
+
}).not.toThrow()
|
|
521
|
+
})
|
|
522
|
+
test("accepts percentage", () => {
|
|
523
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-x-percent" })
|
|
524
|
+
expect(() => {
|
|
525
|
+
renderable.marginX = "10%"
|
|
526
|
+
}).not.toThrow()
|
|
527
|
+
})
|
|
528
|
+
test("accepts null", () => {
|
|
529
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-x-null" })
|
|
530
|
+
expect(() => {
|
|
531
|
+
renderable.marginX = null
|
|
532
|
+
}).not.toThrow()
|
|
533
|
+
})
|
|
534
|
+
test("accepts undefined", () => {
|
|
535
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-x-undefined" })
|
|
536
|
+
expect(() => {
|
|
537
|
+
renderable.marginX = undefined
|
|
538
|
+
}).not.toThrow()
|
|
539
|
+
})
|
|
540
|
+
})
|
|
541
|
+
|
|
542
|
+
describe("Yoga Prop Setters - marginY", () => {
|
|
543
|
+
test("accepts valid number", () => {
|
|
544
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-y" })
|
|
545
|
+
expect(() => {
|
|
546
|
+
renderable.marginY = 10
|
|
547
|
+
}).not.toThrow()
|
|
548
|
+
})
|
|
549
|
+
test("accepts auto", () => {
|
|
550
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-y-auto" })
|
|
551
|
+
expect(() => {
|
|
552
|
+
renderable.marginY = "auto"
|
|
553
|
+
}).not.toThrow()
|
|
554
|
+
})
|
|
555
|
+
test("accepts percentage", () => {
|
|
556
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-y-percent" })
|
|
557
|
+
expect(() => {
|
|
558
|
+
renderable.marginY = "10%"
|
|
559
|
+
}).not.toThrow()
|
|
560
|
+
})
|
|
561
|
+
test("accepts null", () => {
|
|
562
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-y-null" })
|
|
563
|
+
expect(() => {
|
|
564
|
+
renderable.marginY = null
|
|
565
|
+
}).not.toThrow()
|
|
566
|
+
})
|
|
567
|
+
test("accepts undefined", () => {
|
|
568
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-y-undefined" })
|
|
569
|
+
expect(() => {
|
|
570
|
+
renderable.marginY = undefined
|
|
571
|
+
}).not.toThrow()
|
|
572
|
+
})
|
|
573
|
+
})
|
|
574
|
+
|
|
575
|
+
describe("Yoga Prop Setters - marginTop", () => {
|
|
576
|
+
test("accepts valid number", () => {
|
|
577
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-top" })
|
|
578
|
+
expect(() => {
|
|
579
|
+
renderable.marginTop = 10
|
|
580
|
+
}).not.toThrow()
|
|
581
|
+
})
|
|
582
|
+
|
|
583
|
+
test("accepts null", () => {
|
|
584
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-top-null" })
|
|
585
|
+
expect(() => {
|
|
586
|
+
renderable.marginTop = null
|
|
587
|
+
}).not.toThrow()
|
|
588
|
+
})
|
|
589
|
+
|
|
590
|
+
test("accepts undefined", () => {
|
|
591
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-top-undefined" })
|
|
592
|
+
expect(() => {
|
|
593
|
+
renderable.marginTop = undefined
|
|
594
|
+
}).not.toThrow()
|
|
595
|
+
})
|
|
596
|
+
})
|
|
597
|
+
|
|
598
|
+
describe("Yoga Prop Setters - marginRight", () => {
|
|
599
|
+
test("accepts valid number", () => {
|
|
600
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-right" })
|
|
601
|
+
expect(() => {
|
|
602
|
+
renderable.marginRight = 10
|
|
603
|
+
}).not.toThrow()
|
|
604
|
+
})
|
|
605
|
+
|
|
606
|
+
test("accepts null", () => {
|
|
607
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-right-null" })
|
|
608
|
+
expect(() => {
|
|
609
|
+
renderable.marginRight = null
|
|
610
|
+
}).not.toThrow()
|
|
611
|
+
})
|
|
612
|
+
|
|
613
|
+
test("accepts undefined", () => {
|
|
614
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-right-undefined" })
|
|
615
|
+
expect(() => {
|
|
616
|
+
renderable.marginRight = undefined
|
|
617
|
+
}).not.toThrow()
|
|
618
|
+
})
|
|
619
|
+
})
|
|
620
|
+
|
|
621
|
+
describe("Yoga Prop Setters - marginBottom", () => {
|
|
622
|
+
test("accepts valid number", () => {
|
|
623
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-bottom" })
|
|
624
|
+
expect(() => {
|
|
625
|
+
renderable.marginBottom = 10
|
|
626
|
+
}).not.toThrow()
|
|
627
|
+
})
|
|
628
|
+
|
|
629
|
+
test("accepts null", () => {
|
|
630
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-bottom-null" })
|
|
631
|
+
expect(() => {
|
|
632
|
+
renderable.marginBottom = null
|
|
633
|
+
}).not.toThrow()
|
|
634
|
+
})
|
|
635
|
+
|
|
636
|
+
test("accepts undefined", () => {
|
|
637
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-bottom-undefined" })
|
|
638
|
+
expect(() => {
|
|
639
|
+
renderable.marginBottom = undefined
|
|
640
|
+
}).not.toThrow()
|
|
641
|
+
})
|
|
642
|
+
})
|
|
643
|
+
|
|
644
|
+
describe("Yoga Prop Setters - marginLeft", () => {
|
|
645
|
+
test("accepts valid number", () => {
|
|
646
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-left" })
|
|
647
|
+
expect(() => {
|
|
648
|
+
renderable.marginLeft = 10
|
|
649
|
+
}).not.toThrow()
|
|
650
|
+
})
|
|
651
|
+
|
|
652
|
+
test("accepts null", () => {
|
|
653
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-left-null" })
|
|
654
|
+
expect(() => {
|
|
655
|
+
renderable.marginLeft = null
|
|
656
|
+
}).not.toThrow()
|
|
657
|
+
})
|
|
658
|
+
|
|
659
|
+
test("accepts undefined", () => {
|
|
660
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-margin-left-undefined" })
|
|
661
|
+
expect(() => {
|
|
662
|
+
renderable.marginLeft = undefined
|
|
663
|
+
}).not.toThrow()
|
|
664
|
+
})
|
|
665
|
+
})
|
|
666
|
+
|
|
667
|
+
describe("Yoga Prop Setters - padding", () => {
|
|
668
|
+
test("accepts valid number", () => {
|
|
669
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding" })
|
|
670
|
+
expect(() => {
|
|
671
|
+
renderable.padding = 10
|
|
672
|
+
}).not.toThrow()
|
|
673
|
+
})
|
|
674
|
+
|
|
675
|
+
test("accepts percentage", () => {
|
|
676
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-percent" })
|
|
677
|
+
expect(() => {
|
|
678
|
+
renderable.padding = "10%"
|
|
679
|
+
}).not.toThrow()
|
|
680
|
+
})
|
|
681
|
+
|
|
682
|
+
test("accepts null", () => {
|
|
683
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-null" })
|
|
684
|
+
expect(() => {
|
|
685
|
+
renderable.padding = null
|
|
686
|
+
}).not.toThrow()
|
|
687
|
+
})
|
|
688
|
+
|
|
689
|
+
test("accepts undefined", () => {
|
|
690
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-undefined" })
|
|
691
|
+
expect(() => {
|
|
692
|
+
renderable.padding = undefined
|
|
693
|
+
}).not.toThrow()
|
|
694
|
+
})
|
|
695
|
+
})
|
|
696
|
+
|
|
697
|
+
describe("Yoga Prop Setters - paddingX", () => {
|
|
698
|
+
test("accepts valid number", () => {
|
|
699
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-x" })
|
|
700
|
+
expect(() => {
|
|
701
|
+
renderable.paddingX = 10
|
|
702
|
+
}).not.toThrow()
|
|
703
|
+
})
|
|
704
|
+
|
|
705
|
+
test("accepts percentage", () => {
|
|
706
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-x-percent" })
|
|
707
|
+
expect(() => {
|
|
708
|
+
renderable.paddingX = "10%"
|
|
709
|
+
}).not.toThrow()
|
|
710
|
+
})
|
|
711
|
+
|
|
712
|
+
test("accepts null", () => {
|
|
713
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-x-null" })
|
|
714
|
+
expect(() => {
|
|
715
|
+
renderable.paddingX = null
|
|
716
|
+
}).not.toThrow()
|
|
717
|
+
})
|
|
718
|
+
|
|
719
|
+
test("accepts undefined", () => {
|
|
720
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-x-undefined" })
|
|
721
|
+
expect(() => {
|
|
722
|
+
renderable.paddingX = undefined
|
|
723
|
+
}).not.toThrow()
|
|
724
|
+
})
|
|
725
|
+
})
|
|
726
|
+
|
|
727
|
+
describe("Yoga Prop Setters - paddingY", () => {
|
|
728
|
+
test("accepts valid number", () => {
|
|
729
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-y" })
|
|
730
|
+
expect(() => {
|
|
731
|
+
renderable.paddingY = 10
|
|
732
|
+
}).not.toThrow()
|
|
733
|
+
})
|
|
734
|
+
|
|
735
|
+
test("accepts percentage", () => {
|
|
736
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-y-percent" })
|
|
737
|
+
expect(() => {
|
|
738
|
+
renderable.paddingY = "10%"
|
|
739
|
+
}).not.toThrow()
|
|
740
|
+
})
|
|
741
|
+
|
|
742
|
+
test("accepts null", () => {
|
|
743
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-y-null" })
|
|
744
|
+
expect(() => {
|
|
745
|
+
renderable.paddingY = null
|
|
746
|
+
}).not.toThrow()
|
|
747
|
+
})
|
|
748
|
+
|
|
749
|
+
test("accepts undefined", () => {
|
|
750
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-y-undefined" })
|
|
751
|
+
expect(() => {
|
|
752
|
+
renderable.paddingY = undefined
|
|
753
|
+
}).not.toThrow()
|
|
754
|
+
})
|
|
755
|
+
})
|
|
756
|
+
|
|
757
|
+
describe("Yoga Prop Setters - paddingTop", () => {
|
|
758
|
+
test("accepts valid number", () => {
|
|
759
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-top" })
|
|
760
|
+
expect(() => {
|
|
761
|
+
renderable.paddingTop = 10
|
|
762
|
+
}).not.toThrow()
|
|
763
|
+
})
|
|
764
|
+
|
|
765
|
+
test("accepts null", () => {
|
|
766
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-top-null" })
|
|
767
|
+
expect(() => {
|
|
768
|
+
renderable.paddingTop = null
|
|
769
|
+
}).not.toThrow()
|
|
770
|
+
})
|
|
771
|
+
|
|
772
|
+
test("accepts undefined", () => {
|
|
773
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-top-undefined" })
|
|
774
|
+
expect(() => {
|
|
775
|
+
renderable.paddingTop = undefined
|
|
776
|
+
}).not.toThrow()
|
|
777
|
+
})
|
|
778
|
+
})
|
|
779
|
+
|
|
780
|
+
describe("Yoga Prop Setters - paddingRight", () => {
|
|
781
|
+
test("accepts valid number", () => {
|
|
782
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-right" })
|
|
783
|
+
expect(() => {
|
|
784
|
+
renderable.paddingRight = 10
|
|
785
|
+
}).not.toThrow()
|
|
786
|
+
})
|
|
787
|
+
|
|
788
|
+
test("accepts null", () => {
|
|
789
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-right-null" })
|
|
790
|
+
expect(() => {
|
|
791
|
+
renderable.paddingRight = null
|
|
792
|
+
}).not.toThrow()
|
|
793
|
+
})
|
|
794
|
+
|
|
795
|
+
test("accepts undefined", () => {
|
|
796
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-right-undefined" })
|
|
797
|
+
expect(() => {
|
|
798
|
+
renderable.paddingRight = undefined
|
|
799
|
+
}).not.toThrow()
|
|
800
|
+
})
|
|
801
|
+
})
|
|
802
|
+
|
|
803
|
+
describe("Yoga Prop Setters - paddingBottom", () => {
|
|
804
|
+
test("accepts valid number", () => {
|
|
805
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-bottom" })
|
|
806
|
+
expect(() => {
|
|
807
|
+
renderable.paddingBottom = 10
|
|
808
|
+
}).not.toThrow()
|
|
809
|
+
})
|
|
810
|
+
|
|
811
|
+
test("accepts null", () => {
|
|
812
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-bottom-null" })
|
|
813
|
+
expect(() => {
|
|
814
|
+
renderable.paddingBottom = null
|
|
815
|
+
}).not.toThrow()
|
|
816
|
+
})
|
|
817
|
+
|
|
818
|
+
test("accepts undefined", () => {
|
|
819
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-bottom-undefined" })
|
|
820
|
+
expect(() => {
|
|
821
|
+
renderable.paddingBottom = undefined
|
|
822
|
+
}).not.toThrow()
|
|
823
|
+
})
|
|
824
|
+
})
|
|
825
|
+
|
|
826
|
+
describe("Yoga Prop Setters - paddingLeft", () => {
|
|
827
|
+
test("accepts valid number", () => {
|
|
828
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-left" })
|
|
829
|
+
expect(() => {
|
|
830
|
+
renderable.paddingLeft = 10
|
|
831
|
+
}).not.toThrow()
|
|
832
|
+
})
|
|
833
|
+
|
|
834
|
+
test("accepts null", () => {
|
|
835
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-left-null" })
|
|
836
|
+
expect(() => {
|
|
837
|
+
renderable.paddingLeft = null
|
|
838
|
+
}).not.toThrow()
|
|
839
|
+
})
|
|
840
|
+
|
|
841
|
+
test("accepts undefined", () => {
|
|
842
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-padding-left-undefined" })
|
|
843
|
+
expect(() => {
|
|
844
|
+
renderable.paddingLeft = undefined
|
|
845
|
+
}).not.toThrow()
|
|
846
|
+
})
|
|
847
|
+
})
|
|
848
|
+
|
|
849
|
+
describe("Yoga Prop Setters - width", () => {
|
|
850
|
+
test("accepts valid number", () => {
|
|
851
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-width" })
|
|
852
|
+
expect(() => {
|
|
853
|
+
renderable.width = 100
|
|
854
|
+
}).not.toThrow()
|
|
855
|
+
})
|
|
856
|
+
|
|
857
|
+
test("accepts auto", () => {
|
|
858
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-width-auto" })
|
|
859
|
+
expect(() => {
|
|
860
|
+
renderable.width = "auto"
|
|
861
|
+
}).not.toThrow()
|
|
862
|
+
})
|
|
863
|
+
|
|
864
|
+
test("accepts percentage", () => {
|
|
865
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-width-percent" })
|
|
866
|
+
expect(() => {
|
|
867
|
+
renderable.width = "50%"
|
|
868
|
+
}).not.toThrow()
|
|
869
|
+
})
|
|
870
|
+
|
|
871
|
+
test("handles null", () => {
|
|
872
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-width-null" })
|
|
873
|
+
expect(() => {
|
|
874
|
+
renderable.width = null as any
|
|
875
|
+
}).not.toThrow()
|
|
876
|
+
})
|
|
877
|
+
|
|
878
|
+
test("handles undefined", () => {
|
|
879
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-width-undefined" })
|
|
880
|
+
expect(() => {
|
|
881
|
+
renderable.width = undefined as any
|
|
882
|
+
}).not.toThrow()
|
|
883
|
+
})
|
|
884
|
+
})
|
|
885
|
+
|
|
886
|
+
describe("Yoga Prop Setters - height", () => {
|
|
887
|
+
test("accepts valid number", () => {
|
|
888
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-height" })
|
|
889
|
+
expect(() => {
|
|
890
|
+
renderable.height = 100
|
|
891
|
+
}).not.toThrow()
|
|
892
|
+
})
|
|
893
|
+
|
|
894
|
+
test("accepts auto", () => {
|
|
895
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-height-auto" })
|
|
896
|
+
expect(() => {
|
|
897
|
+
renderable.height = "auto"
|
|
898
|
+
}).not.toThrow()
|
|
899
|
+
})
|
|
900
|
+
|
|
901
|
+
test("accepts percentage", () => {
|
|
902
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-height-percent" })
|
|
903
|
+
expect(() => {
|
|
904
|
+
renderable.height = "50%"
|
|
905
|
+
}).not.toThrow()
|
|
906
|
+
})
|
|
907
|
+
|
|
908
|
+
test("handles null", () => {
|
|
909
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-height-null" })
|
|
910
|
+
expect(() => {
|
|
911
|
+
renderable.height = null as any
|
|
912
|
+
}).not.toThrow()
|
|
913
|
+
})
|
|
914
|
+
|
|
915
|
+
test("handles undefined", () => {
|
|
916
|
+
const renderable = new TestRenderable(testRenderer, { id: "test-height-undefined" })
|
|
917
|
+
expect(() => {
|
|
918
|
+
renderable.height = undefined as any
|
|
919
|
+
}).not.toThrow()
|
|
920
|
+
})
|
|
921
|
+
})
|