docs/editor-test-harvester/portabletext/test-index.md
Source: ../portabletext
Generated: 2026-05-29
Indexed runnable portable/portable-mixed rows: 200
Line/name anchors: 1944
This index records every runnable portable and portable-mixed source file with extracted test names or feature/scenario names. It does not copy test bodies, fixtures, helpers, snapshots, or expected output blobs.
| # | Source | Category | Family | Anchor count | Extracted names |
|---|---|---|---|---|---|
| 1 | packages/editor/gherkin-tests/block-objects.test.ts | portable | PT-H03 | 13 | packages/editor/gherkin-spec/block-objects.feature:2 Feature: Block Objects |
| packages/editor/gherkin-spec/block-objects.feature:8 Scenario: Pressing ArrowUp on a lonely image | |||||
| packages/editor/gherkin-spec/block-objects.feature:18 Scenario: Pressing ArrowDown on a lonely image | |||||
| packages/editor/gherkin-spec/block-objects.feature:28 Scenario: Pressing ArrowDown on image at the bottom | |||||
| packages/editor/gherkin-spec/block-objects.feature:39 Scenario: ArrowRight before an image selects it | |||||
| packages/editor/gherkin-spec/block-objects.feature:50 Scenario: ArrowLeft after an image selects it | |||||
| packages/editor/gherkin-spec/block-objects.feature:61 Scenario: Pressing Delete before an image | |||||
| packages/editor/gherkin-spec/block-objects.feature:77 Scenario: Pressing Delete in an empty paragraph before an image | |||||
| packages/editor/gherkin-spec/block-objects.feature:95 Scenario: Pressing Backspace after an image | |||||
| packages/editor/gherkin-spec/block-objects.feature:111 Scenario: Pressing Backspace in an empty paragraph after an image | |||||
| packages/editor/gherkin-spec/block-objects.feature:123 Scenario Outline: Deleting a lonely image | |||||
| packages/editor/gherkin-spec/block-objects.feature:135 Scenario Outline: Deleting an image with text above | |||||
| packages/editor/gherkin-spec/block-objects.feature:154 Scenario Outline: Deleting an image with text below | |||||
| 2 | packages/editor/gherkin-tests/delete.test.ts | portable | PT-H05 | 15 | packages/editor/gherkin-spec/delete.feature:1 Feature: Delete |
| packages/editor/gherkin-spec/delete.feature:6 Scenario Outline: Deleting expanded selection | |||||
| packages/editor/gherkin-spec/delete.feature:19 Scenario Outline: Deleting word | |||||
| packages/editor/gherkin-spec/delete.feature:35 Scenario Outline: Deleting code points in complex scripts | |||||
| packages/editor/gherkin-spec/delete.feature:51 Scenario Outline: Deleting line backward | |||||
| packages/editor/gherkin-spec/delete.feature:66 Scenario: Deleting line backward at start of block merges blocks | |||||
| packages/editor/gherkin-spec/delete.feature:83 Scenario: Cutting selected text | |||||
| packages/editor/gherkin-spec/delete.feature:92 Scenario: Cutting across blocks | |||||
| packages/editor/gherkin-spec/delete.feature:109 Scenario: Deleting word backward at block boundary merges blocks | |||||
| packages/editor/gherkin-spec/delete.feature:126 Scenario: Deleting word forward at block boundary merges blocks | |||||
| packages/editor/gherkin-spec/delete.feature:143 Scenario: Cutting with collapsed selection is a no-op | |||||
| packages/editor/gherkin-spec/delete.feature:150 Scenario: Deleting line backward in empty block | |||||
| packages/editor/gherkin-spec/delete.feature:156 Scenario: Deleting line backward only affects current block | |||||
| packages/editor/gherkin-spec/delete.feature:177 Scenario Outline: Merging blocks preserves marks | |||||
| packages/editor/gherkin-spec/delete.feature:194 Scenario Outline: Merging blocks triggers span normalization | |||||
| 3 | packages/editor/gherkin-tests/inline-objects.test.ts | portable | PT-H03 | 7 | packages/editor/gherkin-spec/inline-objects.feature:2 Feature: Inline Objects |
| packages/editor/gherkin-spec/inline-objects.feature:8 Scenario: Writing after inserting an inline object | |||||
| packages/editor/gherkin-spec/inline-objects.feature:17 Scenario: Pressing Delete before an inline object | |||||
| packages/editor/gherkin-spec/inline-objects.feature:24 Scenario: Pressing Backspace after an inline object | |||||
| packages/editor/gherkin-spec/inline-objects.feature:30 Scenario: Adding a decorator across an inline object | |||||
| packages/editor/gherkin-spec/inline-objects.feature:36 Scenario: Adding an annotation across an inline object | |||||
| packages/editor/gherkin-spec/inline-objects.feature:45 Scenario: Removing an annotation across an inline block | |||||
| 4 | packages/editor/gherkin-tests/insert.block.test.ts | portable | PT-H04 | 25 | packages/editor/gherkin-spec/insert.block.feature:1 Feature: Insert Block |
| packages/editor/gherkin-spec/insert.block.feature:6 Scenario Outline: Inserting block object on an empty editor without selecting it | |||||
| packages/editor/gherkin-spec/insert.block.feature:17 Scenario Outline: Inserting block object on an empty editor and selecting it | |||||
| packages/editor/gherkin-spec/insert.block.feature:32 Scenario Outline: Inserting block object on an empty text block | |||||
| packages/editor/gherkin-spec/insert.block.feature:52 Scenario Outline: Inserting block object on empty heading | |||||
| packages/editor/gherkin-spec/insert.block.feature:63 Scenario Outline: Inserting block object on empty list item | |||||
| packages/editor/gherkin-spec/insert.block.feature:74 Scenario Outline: Inserting and selecting block object on text selection | |||||
| packages/editor/gherkin-spec/insert.block.feature:102 Scenario Outline: Inserting block object on text selection without selecting it | |||||
| packages/editor/gherkin-spec/insert.block.feature:122 Scenario Outline: Inserting and selecting block object on cross-block selection | |||||
| packages/editor/gherkin-spec/insert.block.feature:146 Scenario Outline: Inserting a block object on a cross-block selection without selecting it | |||||
| packages/editor/gherkin-spec/insert.block.feature:162 Scenario Outline: Inserting text block on an empty editor | |||||
| packages/editor/gherkin-spec/insert.block.feature:173 Scenario Outline: Inserting and selecting text block on an empty editor | |||||
| packages/editor/gherkin-spec/insert.block.feature:191 Scenario Outline: Inserting and selecting text block on an empty selected editor | |||||
| packages/editor/gherkin-spec/insert.block.feature:209 Scenario Outline: Inserting block object on block object | |||||
| packages/editor/gherkin-spec/insert.block.feature:233 Scenario Outline: Inserting and selecting block object on block object | |||||
| packages/editor/gherkin-spec/insert.block.feature:250 Scenario Outline: Inserting block object on block objects | |||||
| packages/editor/gherkin-spec/insert.block.feature:272 Scenario Outline: Inserting block object on text block | |||||
| packages/editor/gherkin-spec/insert.block.feature:294 Scenario Outline: Inserting text block on block object | |||||
| packages/editor/gherkin-spec/insert.block.feature:306 Scenario Outline: Inserting text block on text block | |||||
| packages/editor/gherkin-spec/insert.block.feature:325 Scenario Outline: Inserting and selecting text block on text block | |||||
| packages/editor/gherkin-spec/insert.block.feature:363 Scenario Outline: Inserting text block on text selection | |||||
| packages/editor/gherkin-spec/insert.block.feature:392 Scenario Outline: Inserting text block on cross-block text selection | |||||
| packages/editor/gherkin-spec/insert.block.feature:424 Scenario Outline: Inserting inline object on block object | |||||
| packages/editor/gherkin-spec/insert.block.feature:435 Scenario Outline: Inserting block object on inline object | |||||
| packages/editor/gherkin-spec/insert.block.feature:446 Scenario Outline: Inserting text block on inline object | |||||
| 5 | packages/editor/gherkin-tests/insert.blocks.test.ts | portable | PT-H04 | 8 | packages/editor/gherkin-spec/insert.blocks.feature:1 Feature: Insert Blocks |
| packages/editor/gherkin-spec/insert.blocks.feature:6 Scenario Outline: Inserting blocks on an empty editor | |||||
| packages/editor/gherkin-spec/insert.blocks.feature:23 Scenario Outline: Inserting block objects an empty editor | |||||
| packages/editor/gherkin-spec/insert.blocks.feature:33 Scenario Outline: Inserting blocks on a block object | |||||
| packages/editor/gherkin-spec/insert.blocks.feature:42 Scenario: Inserting text blocks on a block object | |||||
| packages/editor/gherkin-spec/insert.blocks.feature:52 Scenario Outline: Inserting blocks on a text block | |||||
| packages/editor/gherkin-spec/insert.blocks.feature:81 Scenario: Pasting text blocks between two text blocks | |||||
| packages/editor/gherkin-spec/insert.blocks.feature:96 Scenario Outline: Inserting text block with annotation | |||||
| 6 | packages/editor/gherkin-tests/insert.break.test.ts | portable | PT-H04 | 6 | packages/editor/gherkin-spec/insert.break.feature:1 Feature: Insert Break |
| packages/editor/gherkin-spec/insert.break.feature:6 Scenario Outline: Breaking text block | |||||
| packages/editor/gherkin-spec/insert.break.feature:21 Scenario Outline: Breaking second text block | |||||
| packages/editor/gherkin-spec/insert.break.feature:43 Scenario: Breaking before inline object | |||||
| packages/editor/gherkin-spec/insert.break.feature:55 Scenario: Pressing Enter when selecting the entire content | |||||
| packages/editor/gherkin-spec/insert.break.feature:74 Scenario: Pressing Enter on a block object | |||||
| 7 | packages/editor/gherkin-tests/insert.child.test.ts | portable | PT-H04 | 6 | packages/editor/gherkin-spec/insert.child.feature:1 Feature: Insert Child |
| packages/editor/gherkin-spec/insert.child.feature:6 Scenario Outline: Inserting span on span | |||||
| packages/editor/gherkin-spec/insert.child.feature:23 Scenario: Inserting inline object in span | |||||
| packages/editor/gherkin-spec/insert.child.feature:35 Scenario: Inserting span on block object | |||||
| packages/editor/gherkin-spec/insert.child.feature:51 Scenario: Inserting span on block object without selection | |||||
| packages/editor/gherkin-spec/insert.child.feature:67 Scenario: Inserting span on text block without selection | |||||
| 8 | packages/editor/gherkin-tests/insert.text.test.ts | portable | PT-H04 | 2 | packages/editor/gherkin-spec/insert.text.feature:1 Feature: Insert text |
| packages/editor/gherkin-spec/insert.text.feature:6 Scenario Outline: Inserting text on expanded selection | |||||
| 9 | packages/editor/gherkin-tests/paste.test.ts | portable-mixed | PT-H06 | 4 | packages/editor/gherkin-spec/paste.feature:1 Feature: Paste |
| packages/editor/gherkin-spec/paste.feature:6 Scenario Outline: Pasting text block into a text block | |||||
| packages/editor/gherkin-spec/paste.feature:32 Scenario: Pasting text/plain into a text block | |||||
| packages/editor/gherkin-spec/paste.feature:40 Scenario: Pasting text/html into a text block | |||||
| 10 | packages/editor/gherkin-tests/removing-blocks.test.ts | portable | PT-H05 | 3 | packages/editor/gherkin-spec/removing-blocks.feature:1 Feature: Removing Blocks |
| packages/editor/gherkin-spec/removing-blocks.feature:7 Scenario: Pressing Delete in empty block with text below | |||||
| packages/editor/gherkin-spec/removing-blocks.feature:28 Scenario: Pressing Backspace in empty block with text below | |||||
| 11 | packages/editor/gherkin-tests/selection-adjustment.test.ts | portable | PT-H01 | 4 | packages/editor/gherkin-spec/selection-adjustment.feature:1 Feature: Selection Adjustment |
| packages/editor/gherkin-spec/selection-adjustment.feature:7 Scenario: Selection is kept if another editor inserts a line above | |||||
| packages/editor/gherkin-spec/selection-adjustment.feature:16 Scenario: Selection is kept if another editor deletes the line above | |||||
| packages/editor/gherkin-spec/selection-adjustment.feature:25 Scenario: Selection is kept if another editor backspace-deletes empty lines above | |||||
| 12 | packages/editor/gherkin-tests/selection.test.ts | portable | PT-H01 | 5 | packages/editor/gherkin-spec/selection.feature:1 Feature: Selection |
| packages/editor/gherkin-spec/selection.feature:6 Scenario: Expanding collapsed selection backwards from empty line | |||||
| packages/editor/gherkin-spec/selection.feature:14 Scenario: Expanding selection backwards, then forwards | |||||
| packages/editor/gherkin-spec/selection.feature:30 Scenario: Reducing hanging selection | |||||
| packages/editor/gherkin-spec/selection.feature:46 Scenario: Reducing selection hanging onto empty line | |||||
| 13 | packages/editor/gherkin-tests/splitting-blocks.test.ts | portable | PT-H04 | 19 | packages/editor/gherkin-spec/splitting-blocks.feature:1 Feature: Splitting Blocks |
| packages/editor/gherkin-spec/splitting-blocks.feature:7 Scenario: Splitting block at the beginning | |||||
| packages/editor/gherkin-spec/splitting-blocks.feature:17 Scenario: Splitting block in the middle | |||||
| packages/editor/gherkin-spec/splitting-blocks.feature:31 Scenario: Splitting block at the end | |||||
| packages/editor/gherkin-spec/splitting-blocks.feature:45 Scenario: Splitting empty block creates a new block below | |||||
| packages/editor/gherkin-spec/splitting-blocks.feature:57 Scenario: Soft-splitting block at the beginning | |||||
| packages/editor/gherkin-spec/splitting-blocks.feature:67 Scenario: Soft-splitting block in the middle | |||||
| packages/editor/gherkin-spec/splitting-blocks.feature:77 Scenario: Soft-splitting block at the end | |||||
| packages/editor/gherkin-spec/splitting-blocks.feature:87 Scenario: Splitting styled block at the beginning | |||||
| packages/editor/gherkin-spec/splitting-blocks.feature:97 Scenario: Splitting styled block in the middle | |||||
| packages/editor/gherkin-spec/splitting-blocks.feature:111 Scenario: Splitting styled block at the end | |||||
| packages/editor/gherkin-spec/splitting-blocks.feature:125 Scenario: Soft-splitting styled block at the beginning | |||||
| packages/editor/gherkin-spec/splitting-blocks.feature:135 Scenario: Soft-splitting styled block in the middle | |||||
| packages/editor/gherkin-spec/splitting-blocks.feature:145 Scenario: Soft-splitting styled block at the end | |||||
| packages/editor/gherkin-spec/splitting-blocks.feature:155 Scenario: Splitting decorated styled block at the beginning | |||||
| packages/editor/gherkin-spec/splitting-blocks.feature:170 Scenario Outline: Splitting decorated styled block in the middle | |||||
| packages/editor/gherkin-spec/splitting-blocks.feature:188 Scenario: Splitting decorated styled block at the end | |||||
| packages/editor/gherkin-spec/splitting-blocks.feature:203 Scenario Outline: Splitting block with an expanded selection | |||||
| packages/editor/gherkin-spec/splitting-blocks.feature:219 Scenario: Pressing Enter when selecting multiple block objects | |||||
| 14 | packages/editor/gherkin-tests/undo-redo.test.tsx | portable | PT-H08 | 17 | packages/editor/gherkin-spec/undo-redo.feature:1 Feature: Undo/Redo |
| packages/editor/gherkin-spec/undo-redo.feature:6 Scenario: Undoing writing two words | |||||
| packages/editor/gherkin-spec/undo-redo.feature:14 Scenario: Selection change does not affect the undo stack | |||||
| packages/editor/gherkin-spec/undo-redo.feature:24 Scenario: Undoing annotation | |||||
| packages/editor/gherkin-spec/undo-redo.feature:31 Scenario: Undoing the deletion of the last char of annotated text | |||||
| packages/editor/gherkin-spec/undo-redo.feature:43 Scenario: Redoing the deletion of the last char of annotated text | |||||
| packages/editor/gherkin-spec/undo-redo.feature:56 Scenario: Undoing inserting text after annotated text | |||||
| packages/editor/gherkin-spec/undo-redo.feature:72 Scenario: Undoing and redoing inserting text after annotated text | |||||
| packages/editor/gherkin-spec/undo-redo.feature:89 Scenario: Undoing the deletion of block with annotation at the end | |||||
| packages/editor/gherkin-spec/undo-redo.feature:101 Scenario: Undoing deletion of annotated block | |||||
| packages/editor/gherkin-spec/undo-redo.feature:112 Scenario: Undoing annotation across text blocks | |||||
| packages/editor/gherkin-spec/undo-redo.feature:126 Scenario: Undoing action step | |||||
| packages/editor/gherkin-spec/undo-redo.feature:136 Scenario: Consecutive undo after selection change | |||||
| packages/editor/gherkin-spec/undo-redo.feature:145 Scenario: Undo after transform on expanded selection | |||||
| packages/editor/gherkin-spec/undo-redo.feature:155 Scenario: Undoing break in the middle of text | |||||
| packages/editor/gherkin-spec/undo-redo.feature:171 Scenario: Undoing delete backward across blocks | |||||
| packages/editor/gherkin-spec/undo-redo.feature:191 Scenario: Undoing and redoing break | |||||
| 15 | packages/editor/src/behaviors/fit-blocks-to-destination.test.ts | portable | PT-H04 | 8 | packages/editor/src/behaviors/fit-blocks-to-destination.test.ts:135 describe: fitBlocksToDestination.name |
| packages/editor/src/behaviors/fit-blocks-to-destination.test.ts:136 test: returns empty when input is empty | |||||
| packages/editor/src/behaviors/fit-blocks-to-destination.test.ts:144 test: returns input unchanged when no selection | |||||
| packages/editor/src/behaviors/fit-blocks-to-destination.test.ts:157 test: keeps a block whose type is accepted at the destination | |||||
| packages/editor/src/behaviors/fit-blocks-to-destination.test.ts:165 test: keeps a block-object whose type is accepted at the destination | |||||
| packages/editor/src/behaviors/fit-blocks-to-destination.test.ts:173 test: descends a table into a cell whose content accepts only blocks | |||||
| packages/editor/src/behaviors/fit-blocks-to-destination.test.ts:209 test: drops a block-object that is not accepted and has no accepted descendants | |||||
| packages/editor/src/behaviors/fit-blocks-to-destination.test.ts:241 test: filters a mixed payload to only blocks accepted at the destination | |||||
| 16 | packages/editor/src/editor/get-selection-state.test.ts | portable | PT-H01 | 37 | packages/editor/src/editor/get-selection-state.test.ts:6 describe: getSelectionState.name |
| packages/editor/src/editor/get-selection-state.test.ts:7 test: returns defaults when selection is null | |||||
| packages/editor/src/editor/get-selection-state.test.ts:18 describe: collapsed selection on a root text block span | |||||
| packages/editor/src/editor/get-selection-state.test.ts:33 test: focused leaf is the span | |||||
| packages/editor/src/editor/get-selection-state.test.ts:37 test: focused container is the text block | |||||
| packages/editor/src/editor/get-selection-state.test.ts:43 test: selected leaves contain only the span | |||||
| packages/editor/src/editor/get-selection-state.test.ts:49 test: selected containers contain only the text block | |||||
| packages/editor/src/editor/get-selection-state.test.ts:56 describe: collapsed selection on a root void block object | |||||
| packages/editor/src/editor/get-selection-state.test.ts:67 test: focused leaf is the image | |||||
| packages/editor/src/editor/get-selection-state.test.ts:71 test: no focused container (image is root-level leaf) | |||||
| packages/editor/src/editor/get-selection-state.test.ts:75 test: selected leaves contain the image | |||||
| packages/editor/src/editor/get-selection-state.test.ts:81 test: no selected containers | |||||
| packages/editor/src/editor/get-selection-state.test.ts:86 describe: collapsed selection on an inline object in a text block | |||||
| packages/editor/src/editor/get-selection-state.test.ts:101 test: focused leaf is the inline object | |||||
| packages/editor/src/editor/get-selection-state.test.ts:105 test: focused container is the text block | |||||
| packages/editor/src/editor/get-selection-state.test.ts:112 describe: collapsed selection inside a table cell | |||||
| packages/editor/src/editor/get-selection-state.test.ts:133 test: focused leaf is the span | |||||
| packages/editor/src/editor/get-selection-state.test.ts:137 test: focused container is the nearest ancestor (text block) | |||||
| packages/editor/src/editor/get-selection-state.test.ts:151 test: all container ancestors are in selectedContainerPaths | |||||
| packages/editor/src/editor/get-selection-state.test.ts:180 test: the span is in selectedLeafPaths | |||||
| packages/editor/src/editor/get-selection-state.test.ts:187 describe: collapsed selection on an inline object inside a table cell | |||||
| packages/editor/src/editor/get-selection-state.test.ts:208 test: focused leaf is the inline object | |||||
| packages/editor/src/editor/get-selection-state.test.ts:212 test: focused container is the nearest text block | |||||
| packages/editor/src/editor/get-selection-state.test.ts:227 describe: expanded selection within a text block | |||||
| packages/editor/src/editor/get-selection-state.test.ts:247 test: no focused leaf (selection is expanded) | |||||
| packages/editor/src/editor/get-selection-state.test.ts:251 test: no focused container (selection is expanded) | |||||
| packages/editor/src/editor/get-selection-state.test.ts:255 test: selected leaves include all three children of the text block | |||||
| packages/editor/src/editor/get-selection-state.test.ts:269 test: selected containers include the text block | |||||
| packages/editor/src/editor/get-selection-state.test.ts:276 describe: expanded selection across two root text blocks | |||||
| packages/editor/src/editor/get-selection-state.test.ts:296 test: selected containers include both text blocks | |||||
| packages/editor/src/editor/get-selection-state.test.ts:305 test: selected leaves include all children of both text blocks plus the image between them | |||||
| packages/editor/src/editor/get-selection-state.test.ts:326 describe: expanded selection across table cells | |||||
| packages/editor/src/editor/get-selection-state.test.ts:358 test: selected containers include the table, row, both cells, and text blocks in range | |||||
| packages/editor/src/editor/get-selection-state.test.ts:412 test: selected leaves include spans and inline objects across both cells | |||||
| packages/editor/src/editor/get-selection-state.test.ts:444 describe: backward selection across an inline object (shift+left from after inline) | |||||
| packages/editor/src/editor/get-selection-state.test.ts:468 test: inline object between anchor and focus is in selectedLeafPaths | |||||
| packages/editor/src/editor/get-selection-state.test.ts:482 test: text block is in selectedContainerPaths | |||||
| 17 | packages/editor/src/editor/resolve-element-drop-position.test.ts | portable-mixed | PT-H07 | 6 | packages/editor/src/editor/resolve-element-drop-position.test.ts:4 describe: resolveElementDropPosition.name |
| packages/editor/src/editor/resolve-element-drop-position.test.ts:5 test: returns undefined when no drop position is active | |||||
| packages/editor/src/editor/resolve-element-drop-position.test.ts:11 test: matches the drop target by full path | |||||
| packages/editor/src/editor/resolve-element-drop-position.test.ts:25 test: returns undefined when the element is not the drop target | |||||
| packages/editor/src/editor/resolve-element-drop-position.test.ts:33 test: does not match a deep block that shares a key with the drop target at root | |||||
| packages/editor/src/editor/resolve-element-drop-position.test.ts:48 test: matches a deep block targeted by its full path | |||||
| 18 | packages/editor/src/editor/validate-selection-machine.test.ts | portable | PT-H01 | 2 | packages/editor/src/editor/validate-selection-machine.test.ts:7 describe: validateSelectionMachine.id |
| packages/editor/src/editor/validate-selection-machine.test.ts:8 test: Scenario: Does not validate selection while the engine has pending operations | |||||
| 19 | packages/editor/src/engine/editor/unhang-range.test.ts | portable | PT-H01 | 15 | packages/editor/src/engine/editor/unhang-range.test.ts:91 describe: unhangRange.name |
| packages/editor/src/engine/editor/unhang-range.test.ts:92 test: Returns the input range when collapsed | |||||
| packages/editor/src/engine/editor/unhang-range.test.ts:99 test: Returns the input range when end is mid-text | |||||
| packages/editor/src/engine/editor/unhang-range.test.ts:109 test: Returns the input range when end has a previous sibling | |||||
| packages/editor/src/engine/editor/unhang-range.test.ts:145 test: Pulls a hanging focus back to the end of the previous block | |||||
| packages/editor/src/engine/editor/unhang-range.test.ts:157 test: Pulls a hanging focus back across multiple text blocks | |||||
| packages/editor/src/engine/editor/unhang-range.test.ts:168 test: Lands on an empty span when it is the last span before the end block | |||||
| packages/editor/src/engine/editor/unhang-range.test.ts:181 test: Preserves the range when a void block sits between the endpoints | |||||
| packages/editor/src/engine/editor/unhang-range.test.ts:191 test: Preserves the range when end is at offset 0 of a void block | |||||
| packages/editor/src/engine/editor/unhang-range.test.ts:360 describe: ${expr} (container-aware) | |||||
| packages/editor/src/engine/editor/unhang-range.test.ts:361 test: Preserves the range when an editable container sits between the endpoints | |||||
| packages/editor/src/engine/editor/unhang-range.test.ts:368 test: Pulls a hanging focus back inside a container when both endpoints are inside it | |||||
| packages/editor/src/engine/editor/unhang-range.test.ts:381 test: Pulls a hanging focus when end is inside a container and start is outside | |||||
| packages/editor/src/engine/editor/unhang-range.test.ts:391 test: Pulls a hanging focus when start is inside a container and end is outside | |||||
| packages/editor/src/engine/editor/unhang-range.test.ts:401 test: Preserves the range when multiple editable containers sit between endpoints | |||||
| 20 | packages/editor/src/engine/node/is-void-node.test.ts | portable | PT-H03 | 26 | packages/editor/src/engine/node/is-void-node.test.ts:17 describe: isVoidNode.name |
| packages/editor/src/engine/node/is-void-node.test.ts:20 describe: root-level nodes | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:21 test: text block is not void | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:27 test: block object without container registration is void | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:33 test: block object with container registration is not void | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:39 test: code block with container registration is not void | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:46 describe: inline objects | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:47 test: inline object at root level is void | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:57 test: inline object inside container is void | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:74 describe: nested container nodes | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:75 test: row inside table is not void | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:85 test: cell inside table row is not void | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:98 describe: text nodes inside containers | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:99 test: text block inside container is not void | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:113 test: span inside container is not void | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:129 test: text block inside code block is not void | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:140 describe: block objects inside containers | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:226 test: image inside cell is void | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:240 test: text block inside cell is not void | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:255 describe: gallery with void-only children | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:298 test: gallery is not void | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:302 test: image inside gallery is void | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:308 test: root image and gallery image are both void | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:329 describe: empty containers | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:330 test: all object nodes are void when no containers are registered | |||||
| packages/editor/src/engine/node/is-void-node.test.ts:347 test: text blocks are never void regardless of container registration | |||||
| 21 | packages/editor/src/engine/operation/inverse-operation.test.ts | portable | PT-H11 | 9 | packages/editor/src/engine/operation/inverse-operation.test.ts:5 describe: inverseOperation.name |
| packages/editor/src/engine/operation/inverse-operation.test.ts:6 test: insert -> unset | |||||
| packages/editor/src/engine/operation/inverse-operation.test.ts:20 test: unset (node removal) -> insert | |||||
| packages/editor/src/engine/operation/inverse-operation.test.ts:39 test: unset (node removal) first child -> insert before | |||||
| packages/editor/src/engine/operation/inverse-operation.test.ts:58 test: insert_text -> remove_text | |||||
| packages/editor/src/engine/operation/inverse-operation.test.ts:73 test: remove_text -> insert_text | |||||
| packages/editor/src/engine/operation/inverse-operation.test.ts:88 test: set with existing property inverts to set with old value | |||||
| packages/editor/src/engine/operation/inverse-operation.test.ts:103 test: set with new property inverts to unset | |||||
| packages/editor/src/engine/operation/inverse-operation.test.ts:121 test: unset (property removal) inverts to set with old value | |||||
| 22 | packages/editor/src/engine/path/compare-paths.test.ts | portable | PT-H11 | 9 | packages/editor/src/engine/path/compare-paths.test.ts:7 describe: comparePaths.name |
| packages/editor/src/engine/path/compare-paths.test.ts:8 test: equal keyed paths return 0 | |||||
| packages/editor/src/engine/path/compare-paths.test.ts:18 test: equal numeric paths return 0 | |||||
| packages/editor/src/engine/path/compare-paths.test.ts:22 test: prefix paths return 0 | |||||
| packages/editor/src/engine/path/compare-paths.test.ts:39 test: numeric ordering | |||||
| packages/editor/src/engine/path/compare-paths.test.ts:44 test: string ordering | |||||
| packages/editor/src/engine/path/compare-paths.test.ts:54 test: keyed ordering with root | |||||
| packages/editor/src/engine/path/compare-paths.test.ts:62 test: keyed ordering falls back to string comparison when keys are not in root | |||||
| packages/editor/src/engine/path/compare-paths.test.ts:66 test: keyed ordering with root resolves out-of-order keys | |||||
| 23 | packages/editor/src/engine/path/parent-path.test.ts | portable | PT-H11 | 6 | packages/editor/src/engine/path/parent-path.test.ts:4 describe: parentPath.name |
| packages/editor/src/engine/path/parent-path.test.ts:5 test: block path | |||||
| packages/editor/src/engine/path/parent-path.test.ts:9 test: span path | |||||
| packages/editor/src/engine/path/parent-path.test.ts:15 test: numeric child | |||||
| packages/editor/src/engine/path/parent-path.test.ts:19 test: deep container path | |||||
| packages/editor/src/engine/path/parent-path.test.ts:25 test: throws on empty path | |||||
| 24 | packages/editor/src/engine/path/path-levels.test.ts | portable | PT-H11 | 7 | packages/editor/src/engine/path/path-levels.test.ts:4 describe: pathLevels.name |
| packages/editor/src/engine/path/path-levels.test.ts:5 test: empty path | |||||
| packages/editor/src/engine/path/path-levels.test.ts:9 test: keyed block path | |||||
| packages/editor/src/engine/path/path-levels.test.ts:13 test: keyed block and span | |||||
| packages/editor/src/engine/path/path-levels.test.ts:21 test: numeric path | |||||
| packages/editor/src/engine/path/path-levels.test.ts:25 test: mixed numeric and keyed | |||||
| packages/editor/src/engine/path/path-levels.test.ts:33 test: string-only segments are skipped | |||||
| 25 | packages/editor/src/engine/path/sibling-path.test.ts | portable | PT-H11 | 8 | packages/editor/src/engine/path/sibling-path.test.ts:4 describe: siblingPath.name |
| packages/editor/src/engine/path/sibling-path.test.ts:5 test: root-level sibling | |||||
| packages/editor/src/engine/path/sibling-path.test.ts:9 test: span-level sibling inside text block | |||||
| packages/editor/src/engine/path/sibling-path.test.ts:15 test: line sibling inside code-block | |||||
| packages/editor/src/engine/path/sibling-path.test.ts:23 test: cell sibling inside nested table | |||||
| packages/editor/src/engine/path/sibling-path.test.ts:32 test: throws on root path | |||||
| packages/editor/src/engine/path/sibling-path.test.ts:38 test: throws when last segment is not keyed | |||||
| packages/editor/src/engine/path/sibling-path.test.ts:44 test: throws when last segment is numeric | |||||
| 26 | packages/editor/src/engine/point/transform-point.test.ts | portable | PT-H01 | 14 | packages/editor/src/engine/point/transform-point.test.ts:5 describe: transformPoint.name |
| packages/editor/src/engine/point/transform-point.test.ts:6 test: null point returns null | |||||
| packages/editor/src/engine/point/transform-point.test.ts:16 test: insert_text adjusts offset forward | |||||
| packages/editor/src/engine/point/transform-point.test.ts:33 test: insert_text before offset is no-op | |||||
| packages/editor/src/engine/point/transform-point.test.ts:50 test: insert_text different path is no-op | |||||
| packages/editor/src/engine/point/transform-point.test.ts:67 test: remove_text adjusts offset backward | |||||
| packages/editor/src/engine/point/transform-point.test.ts:84 test: unset (node removal) at point returns null | |||||
| packages/editor/src/engine/point/transform-point.test.ts:96 test: unset (node removal) ancestor of point returns null | |||||
| packages/editor/src/engine/point/transform-point.test.ts:108 test: unset (node removal) different path is no-op | |||||
| packages/editor/src/engine/point/transform-point.test.ts:123 test: insert is no-op | |||||
| packages/editor/src/engine/point/transform-point.test.ts:140 test: set_selection is no-op | |||||
| packages/editor/src/engine/point/transform-point.test.ts:159 test: set _key substitutes old key with new key | |||||
| packages/editor/src/engine/point/transform-point.test.ts:180 test: set non-key property is no-op on path | |||||
| packages/editor/src/engine/point/transform-point.test.ts:201 test: unset text collapses offset | |||||
| 27 | packages/editor/src/engine/range/ranges-overlap.test.ts | portable | PT-H01 | 11 | packages/editor/src/engine/range/ranges-overlap.test.ts:23 describe: rangesOverlap.name |
| packages/editor/src/engine/range/ranges-overlap.test.ts:24 test: disjoint ranges in same span | |||||
| packages/editor/src/engine/range/ranges-overlap.test.ts:40 test: disjoint ranges across blocks | |||||
| packages/editor/src/engine/range/ranges-overlap.test.ts:56 test: touching at one endpoint | |||||
| packages/editor/src/engine/range/ranges-overlap.test.ts:72 test: partial overlap | |||||
| packages/editor/src/engine/range/ranges-overlap.test.ts:88 test: full containment | |||||
| packages/editor/src/engine/range/ranges-overlap.test.ts:104 test: identical ranges | |||||
| packages/editor/src/engine/range/ranges-overlap.test.ts:112 test: two collapsed ranges at the same point | |||||
| packages/editor/src/engine/range/ranges-overlap.test.ts:126 test: two collapsed ranges at different points | |||||
| packages/editor/src/engine/range/ranges-overlap.test.ts:142 test: collapsed range inside expanded range | |||||
| packages/editor/src/engine/range/ranges-overlap.test.ts:158 test: backward range overlapping forward range | |||||
| 28 | packages/editor/src/internal-utils/__tests__/ranges.test.ts | portable | PT-H01 | 2 | packages/editor/src/internal-utils/tests/ranges.test.ts:6 describe: moveRangeByOperation |
| packages/editor/src/internal-utils/tests/ranges.test.ts:7 it: should move range when inserting text in front of it | |||||
| 29 | packages/editor/src/internal-utils/__tests__/values.test.ts | portable | PT-H11 | 4 | packages/editor/src/internal-utils/tests/values.test.ts:7 describe: toEngineBlock.name |
| packages/editor/src/internal-utils/tests/values.test.ts:8 it: given type is custom with no custom properties, should be a leaf node | |||||
| packages/editor/src/internal-utils/tests/values.test.ts:23 it: given type is block | |||||
| packages/editor/src/internal-utils/tests/values.test.ts:51 it: given type is block and has custom in children | |||||
| 30 | packages/editor/src/internal-utils/apply-selection.test.ts | portable | PT-H01 | 9 | packages/editor/src/internal-utils/apply-selection.test.ts:7 describe: resolveSelection.name |
| packages/editor/src/internal-utils/apply-selection.test.ts:17 test: Scenario: Ambiguous offset inside text block | |||||
| packages/editor/src/internal-utils/apply-selection.test.ts:69 test: Scenario: Offset right before inline object | |||||
| packages/editor/src/internal-utils/apply-selection.test.ts:119 test: Scenario: Block object offset that doesn't exist | |||||
| packages/editor/src/internal-utils/apply-selection.test.ts:153 test: Scenario: Child that doesn't exist | |||||
| packages/editor/src/internal-utils/apply-selection.test.ts:196 test: Scenario: Span offset that doesn't exist | |||||
| packages/editor/src/internal-utils/apply-selection.test.ts:238 test: Scenario: Inline object offset that doesn't exist | |||||
| packages/editor/src/internal-utils/apply-selection.test.ts:286 test: Scenario: Block-level offset inside an editable container | |||||
| packages/editor/src/internal-utils/apply-selection.test.ts:333 test: Scenario: Collapsed block-level offset inside an editable container | |||||
| 31 | packages/editor/src/internal-utils/build-index-maps.test.ts | portable | PT-H11 | 15 | packages/editor/src/internal-utils/build-index-maps.test.ts:49 describe: buildIndexMaps.name |
| packages/editor/src/internal-utils/build-index-maps.test.ts:53 test: empty | |||||
| packages/editor/src/internal-utils/build-index-maps.test.ts:62 test: single list item | |||||
| packages/editor/src/internal-utils/build-index-maps.test.ts:74 test: single indented list item | |||||
| packages/editor/src/internal-utils/build-index-maps.test.ts:90 test: two lists broken up by a paragraph | |||||
| packages/editor/src/internal-utils/build-index-maps.test.ts:130 test: two lists broken up by an image | |||||
| packages/editor/src/internal-utils/build-index-maps.test.ts:168 test: numbered lists broken up by a bulleted list | |||||
| packages/editor/src/internal-utils/build-index-maps.test.ts:201 test: numbered list broken up by an indented bulleted list | |||||
| packages/editor/src/internal-utils/build-index-maps.test.ts:229 test: numbered list broken up by a nested bulleted list | |||||
| packages/editor/src/internal-utils/build-index-maps.test.ts:262 test: numbered list broken up by an inverse-indented bulleted list | |||||
| packages/editor/src/internal-utils/build-index-maps.test.ts:295 test: simple indented list | |||||
| packages/editor/src/internal-utils/build-index-maps.test.ts:331 test: reverse indented list | |||||
| packages/editor/src/internal-utils/build-index-maps.test.ts:370 test: complex list | |||||
| packages/editor/src/internal-utils/build-index-maps.test.ts:421 test: bulleted list with indented numbered list | |||||
| packages/editor/src/internal-utils/build-index-maps.test.ts:447 test: indented numbered list broken up by outdented bulleted list | |||||
| 32 | packages/editor/src/internal-utils/get-unwrap-target.test.ts | portable | PT-H11 | 11 | packages/editor/src/internal-utils/get-unwrap-target.test.ts:9 describe: getUnwrapTarget.name |
| packages/editor/src/internal-utils/get-unwrap-target.test.ts:10 test: stops at the origin when its parent accepts the payload | |||||
| packages/editor/src/internal-utils/get-unwrap-target.test.ts:90 test: walks up through structural ancestors until root accepts the payload | |||||
| packages/editor/src/internal-utils/get-unwrap-target.test.ts:228 test: no-ops when a non-lonely ancestor blocks the cascade | |||||
| packages/editor/src/internal-utils/get-unwrap-target.test.ts:354 test: returns origin when it sits at the root | |||||
| packages/editor/src/internal-utils/get-unwrap-target.test.ts:404 test: returns origin when its parent accepts a mixed payload directly | |||||
| packages/editor/src/internal-utils/get-unwrap-target.test.ts:487 test: walks up to root when a mixed payload needs to escape a rejecting parent | |||||
| packages/editor/src/internal-utils/get-unwrap-target.test.ts:568 test: no-ops when root does not accept every payload type | |||||
| packages/editor/src/internal-utils/get-unwrap-target.test.ts:648 test: no-ops when the origin has a sibling at the same level | |||||
| packages/editor/src/internal-utils/get-unwrap-target.test.ts:740 test: stops at an intermediate ancestor when its parent accepts the payload | |||||
| packages/editor/src/internal-utils/get-unwrap-target.test.ts:846 test: no-ops when origin sits at the root and root rejects part of the payload | |||||
| 33 | packages/editor/src/internal-utils/is-hotkey.test.ts | portable | PT-H11 | 1 | packages/editor/src/internal-utils/is-hotkey.test.ts:106 test: isHotkey.name |
| 34 | packages/editor/src/internal-utils/operation-to-patches.test.ts | portable | PT-H11 | 13 | packages/editor/src/internal-utils/operation-to-patches.test.ts:65 describe: insertNodePatch.name |
| packages/editor/src/internal-utils/operation-to-patches.test.ts:66 test: Scenario: Inserting block object on empty editor | |||||
| packages/editor/src/internal-utils/operation-to-patches.test.ts:93 describe: operationToPatches | |||||
| packages/editor/src/internal-utils/operation-to-patches.test.ts:99 it: produce correct insert block patch | |||||
| packages/editor/src/internal-utils/operation-to-patches.test.ts:133 it: produce correct insert block patch with an empty editor | |||||
| packages/editor/src/internal-utils/operation-to-patches.test.ts:167 test: produce correct insert child patch | |||||
| packages/editor/src/internal-utils/operation-to-patches.test.ts:208 it: produce correct insert text patch | |||||
| packages/editor/src/internal-utils/operation-to-patches.test.ts:244 it: returns empty patches when block is not a text block | |||||
| packages/editor/src/internal-utils/operation-to-patches.test.ts:281 it: produces correct remove text patch | |||||
| packages/editor/src/internal-utils/operation-to-patches.test.ts:318 describe: defensive setIfMissing patches | |||||
| packages/editor/src/internal-utils/operation-to-patches.test.ts:324 describe: insertNodePatch.name | |||||
| packages/editor/src/internal-utils/operation-to-patches.test.ts:325 test: includes setIfMissing before inserting a span into children | |||||
| packages/editor/src/internal-utils/operation-to-patches.test.ts:353 test: includes setIfMissing before inserting an inline object into children | |||||
| 35 | packages/editor/src/internal-utils/transform-operation.test.ts | portable | PT-H11 | 7 | packages/editor/src/internal-utils/transform-operation.test.ts:30 describe: transformOperation |
| packages/editor/src/internal-utils/transform-operation.test.ts:31 describe: insert patch at block level (path.length === 1) | |||||
| packages/editor/src/internal-utils/transform-operation.test.ts:32 test: returns the operation unchanged (keyed paths are stable) | |||||
| packages/editor/src/internal-utils/transform-operation.test.ts:69 describe: unset patch at block level (path.length === 1) | |||||
| packages/editor/src/internal-utils/transform-operation.test.ts:70 test: drops operation targeting the same block that was removed | |||||
| packages/editor/src/internal-utils/transform-operation.test.ts:90 test: preserves operation targeting a different block | |||||
| packages/editor/src/internal-utils/transform-operation.test.ts:117 test: preserves set_selection operation (no path property) | |||||
| 36 | packages/editor/src/internal-utils/values.test.ts | portable | PT-H11 | 12 | packages/editor/src/internal-utils/values.test.ts:6 describe: toEngineBlock.name |
| packages/editor/src/internal-utils/values.test.ts:7 describe: text block | |||||
| packages/editor/src/internal-utils/values.test.ts:8 describe: with span | |||||
| packages/editor/src/internal-utils/values.test.ts:9 test: with _type | |||||
| packages/editor/src/internal-utils/values.test.ts:38 test: without _type | |||||
| packages/editor/src/internal-utils/values.test.ts:67 test: wrong _type | |||||
| packages/editor/src/internal-utils/values.test.ts:97 describe: with inline object | |||||
| packages/editor/src/internal-utils/values.test.ts:98 test: known inline object _type | |||||
| packages/editor/src/internal-utils/values.test.ts:131 test: unknown inline object _type | |||||
| packages/editor/src/internal-utils/values.test.ts:163 describe: with inline object with text prop | |||||
| packages/editor/src/internal-utils/values.test.ts:164 test: known inline object _type | |||||
| packages/editor/src/internal-utils/values.test.ts:197 test: unknown inline object _type | |||||
| 37 | packages/editor/src/node-traversal/get-ancestor.test.ts | portable | PT-H11 | 13 | packages/editor/src/node-traversal/get-ancestor.test.ts:8 describe: getAncestor.name |
| packages/editor/src/node-traversal/get-ancestor.test.ts:11 test: empty path returns undefined | |||||
| packages/editor/src/node-traversal/get-ancestor.test.ts:15 test: top-level block returns undefined | |||||
| packages/editor/src/node-traversal/get-ancestor.test.ts:21 test: find text block ancestor of span | |||||
| packages/editor/src/node-traversal/get-ancestor.test.ts:31 test: find text block ancestor of span in cell | |||||
| packages/editor/src/node-traversal/get-ancestor.test.ts:59 test: find cell ancestor of span in cell | |||||
| packages/editor/src/node-traversal/get-ancestor.test.ts:85 test: find row ancestor of span in cell | |||||
| packages/editor/src/node-traversal/get-ancestor.test.ts:105 test: find table ancestor of span in cell | |||||
| packages/editor/src/node-traversal/get-ancestor.test.ts:125 test: no matching ancestor returns undefined | |||||
| packages/editor/src/node-traversal/get-ancestor.test.ts:135 test: match receives path | |||||
| packages/editor/src/node-traversal/get-ancestor.test.ts:159 test: does not check the node itself | |||||
| packages/editor/src/node-traversal/get-ancestor.test.ts:179 test: find code block ancestor of code span | |||||
| packages/editor/src/node-traversal/get-ancestor.test.ts:189 test: returns nearest matching ancestor | |||||
| 38 | packages/editor/src/node-traversal/get-ancestors-positional-same-type.test.ts | portable | PT-H11 | 3 | packages/editor/src/node-traversal/get-ancestors-positional-same-type.test.ts:26 describe: getAncestors with same _type under different parents |
| packages/editor/src/node-traversal/get-ancestors-positional-same-type.test.ts:147 test: span path inside table.cell.content resolves all three ancestors | |||||
| packages/editor/src/node-traversal/get-ancestors-positional-same-type.test.ts:164 test: span path inside diagram.cell.markers resolves all three ancestors | |||||
| 39 | packages/editor/src/node-traversal/get-ancestors.test.ts | portable | PT-H11 | 11 | packages/editor/src/node-traversal/get-ancestors.test.ts:5 describe: getAncestors.name |
| packages/editor/src/node-traversal/get-ancestors.test.ts:8 test: empty path returns empty array | |||||
| packages/editor/src/node-traversal/get-ancestors.test.ts:12 test: top-level block has no ancestors | |||||
| packages/editor/src/node-traversal/get-ancestors.test.ts:16 test: span in text block has one ancestor | |||||
| packages/editor/src/node-traversal/get-ancestors.test.ts:27 test: span in cell block has four ancestors | |||||
| packages/editor/src/node-traversal/get-ancestors.test.ts:68 test: block in cell has three ancestors | |||||
| packages/editor/src/node-traversal/get-ancestors.test.ts:97 test: cell has two ancestors | |||||
| packages/editor/src/node-traversal/get-ancestors.test.ts:116 test: row has one ancestor | |||||
| packages/editor/src/node-traversal/get-ancestors.test.ts:127 test: code span has two ancestors | |||||
| packages/editor/src/node-traversal/get-ancestors.test.ts:142 test: code line has one ancestor | |||||
| packages/editor/src/node-traversal/get-ancestors.test.ts:153 test: ancestors are ordered from nearest to furthest | |||||
| 40 | packages/editor/src/node-traversal/get-children-positional-same-type.test.ts | portable | PT-H11 | 3 | packages/editor/src/node-traversal/get-children-positional-same-type.test.ts:28 describe: getChildren with same _type registered under different parents |
| packages/editor/src/node-traversal/get-children-positional-same-type.test.ts:164 test: getChildren of cell inside table resolves content array | |||||
| packages/editor/src/node-traversal/get-children-positional-same-type.test.ts:177 test: getChildren of cell inside diagram resolves markers array | |||||
| 41 | packages/editor/src/node-traversal/get-children.test.ts | portable | PT-H11 | 14 | packages/editor/src/node-traversal/get-children.test.ts:10 describe: getChildren.name |
| packages/editor/src/node-traversal/get-children.test.ts:13 test: root children | |||||
| packages/editor/src/node-traversal/get-children.test.ts:23 test: text block children | |||||
| packages/editor/src/node-traversal/get-children.test.ts:34 test: code block children (code lines) | |||||
| packages/editor/src/node-traversal/get-children.test.ts:41 test: code line children | |||||
| packages/editor/src/node-traversal/get-children.test.ts:52 test: table children (rows) | |||||
| packages/editor/src/node-traversal/get-children.test.ts:59 test: row children (cells) | |||||
| packages/editor/src/node-traversal/get-children.test.ts:74 test: cell with multiple blocks | |||||
| packages/editor/src/node-traversal/get-children.test.ts:111 test: block inside cell children | |||||
| packages/editor/src/node-traversal/get-children.test.ts:154 test: leaf node returns empty array | |||||
| packages/editor/src/node-traversal/get-children.test.ts:160 test: block object without children returns empty array | |||||
| packages/editor/src/node-traversal/get-children.test.ts:164 test: invalid path returns empty array | |||||
| packages/editor/src/node-traversal/get-children.test.ts:168 test: non-editable code block returns empty array | |||||
| packages/editor/src/node-traversal/get-children.test.ts:184 test: non-editable table returns empty array | |||||
| 42 | packages/editor/src/node-traversal/get-first-child.test.ts | portable | PT-H11 | 9 | packages/editor/src/node-traversal/get-first-child.test.ts:9 describe: getFirstChild.name |
| packages/editor/src/node-traversal/get-first-child.test.ts:12 test: first descendant from root | |||||
| packages/editor/src/node-traversal/get-first-child.test.ts:19 test: first descendant of text block | |||||
| packages/editor/src/node-traversal/get-first-child.test.ts:26 test: first descendant of code block | |||||
| packages/editor/src/node-traversal/get-first-child.test.ts:33 test: first descendant of table | |||||
| packages/editor/src/node-traversal/get-first-child.test.ts:40 test: leaf node returns undefined | |||||
| packages/editor/src/node-traversal/get-first-child.test.ts:46 test: void block object returns undefined | |||||
| packages/editor/src/node-traversal/get-first-child.test.ts:50 test: invalid path returns undefined | |||||
| packages/editor/src/node-traversal/get-first-child.test.ts:56 test: first of non-editable container returns undefined | |||||
| 43 | packages/editor/src/node-traversal/get-highest-object-node.test.ts | portable | PT-H03 | 14 | packages/editor/src/node-traversal/get-highest-object-node.test.ts:5 describe: getHighestObjectNode.name |
| packages/editor/src/node-traversal/get-highest-object-node.test.ts:8 test: empty path returns undefined | |||||
| packages/editor/src/node-traversal/get-highest-object-node.test.ts:12 test: text block returns undefined | |||||
| packages/editor/src/node-traversal/get-highest-object-node.test.ts:18 test: span returns undefined | |||||
| packages/editor/src/node-traversal/get-highest-object-node.test.ts:28 test: block object at path returns itself | |||||
| packages/editor/src/node-traversal/get-highest-object-node.test.ts:34 test: inline object at path returns itself | |||||
| packages/editor/src/node-traversal/get-highest-object-node.test.ts:44 test: editable container at path returns undefined | |||||
| packages/editor/src/node-traversal/get-highest-object-node.test.ts:50 test: span inside cell returns undefined | |||||
| packages/editor/src/node-traversal/get-highest-object-node.test.ts:66 test: cell block returns undefined | |||||
| packages/editor/src/node-traversal/get-highest-object-node.test.ts:80 test: cell returns undefined | |||||
| packages/editor/src/node-traversal/get-highest-object-node.test.ts:92 test: row returns undefined | |||||
| packages/editor/src/node-traversal/get-highest-object-node.test.ts:102 test: code span returns undefined | |||||
| packages/editor/src/node-traversal/get-highest-object-node.test.ts:114 test: inline object in cell returns itself | |||||
| packages/editor/src/node-traversal/get-highest-object-node.test.ts:140 test: invalid path returns undefined | |||||
| 44 | packages/editor/src/node-traversal/get-last-child.test.ts | portable | PT-H11 | 9 | packages/editor/src/node-traversal/get-last-child.test.ts:9 describe: getLastChild.name |
| packages/editor/src/node-traversal/get-last-child.test.ts:12 test: last descendant from root | |||||
| packages/editor/src/node-traversal/get-last-child.test.ts:19 test: last descendant of text block | |||||
| packages/editor/src/node-traversal/get-last-child.test.ts:26 test: last descendant of code block | |||||
| packages/editor/src/node-traversal/get-last-child.test.ts:33 test: last descendant of table | |||||
| packages/editor/src/node-traversal/get-last-child.test.ts:40 test: leaf node returns undefined | |||||
| packages/editor/src/node-traversal/get-last-child.test.ts:46 test: void block object returns undefined | |||||
| packages/editor/src/node-traversal/get-last-child.test.ts:50 test: invalid path returns undefined | |||||
| packages/editor/src/node-traversal/get-last-child.test.ts:56 test: last of non-editable container returns undefined | |||||
| 45 | packages/editor/src/node-traversal/get-leaf.test.ts | portable | PT-H11 | 14 | packages/editor/src/node-traversal/get-leaf.test.ts:5 describe: getLeaf.name |
| packages/editor/src/node-traversal/get-leaf.test.ts:8 test: first leaf from root (start edge) | |||||
| packages/editor/src/node-traversal/get-leaf.test.ts:14 test: last leaf from root (end edge) | |||||
| packages/editor/src/node-traversal/get-leaf.test.ts:30 test: first leaf from text block | |||||
| packages/editor/src/node-traversal/get-leaf.test.ts:36 test: last leaf from text block | |||||
| packages/editor/src/node-traversal/get-leaf.test.ts:42 test: span is already a leaf | |||||
| packages/editor/src/node-traversal/get-leaf.test.ts:52 test: void block object is a leaf | |||||
| packages/editor/src/node-traversal/get-leaf.test.ts:58 test: inline object is a leaf | |||||
| packages/editor/src/node-traversal/get-leaf.test.ts:68 test: empty document returns undefined | |||||
| packages/editor/src/node-traversal/get-leaf.test.ts:77 test: invalid path returns undefined | |||||
| packages/editor/src/node-traversal/get-leaf.test.ts:90 test: first leaf from code block | |||||
| packages/editor/src/node-traversal/get-leaf.test.ts:102 test: last leaf from code block | |||||
| packages/editor/src/node-traversal/get-leaf.test.ts:114 test: first leaf from table | |||||
| packages/editor/src/node-traversal/get-leaf.test.ts:130 test: last leaf from table | |||||
| 46 | packages/editor/src/node-traversal/get-node.test.ts | portable | PT-H11 | 21 | packages/editor/src/node-traversal/get-node.test.ts:9 describe: getNode.name |
| packages/editor/src/node-traversal/get-node.test.ts:12 test: empty path | |||||
| packages/editor/src/node-traversal/get-node.test.ts:16 test: text block | |||||
| packages/editor/src/node-traversal/get-node.test.ts:22 test: span | |||||
| packages/editor/src/node-traversal/get-node.test.ts:32 test: inline object | |||||
| packages/editor/src/node-traversal/get-node.test.ts:42 test: block object | |||||
| packages/editor/src/node-traversal/get-node.test.ts:48 test: second text block | |||||
| packages/editor/src/node-traversal/get-node.test.ts:54 test: out of bounds | |||||
| packages/editor/src/node-traversal/get-node.test.ts:58 test: code block | |||||
| packages/editor/src/node-traversal/get-node.test.ts:64 test: code block -> first line | |||||
| packages/editor/src/node-traversal/get-node.test.ts:74 test: code block -> second line | |||||
| packages/editor/src/node-traversal/get-node.test.ts:84 test: code block -> line -> span | |||||
| packages/editor/src/node-traversal/get-node.test.ts:102 test: table -> row | |||||
| packages/editor/src/node-traversal/get-node.test.ts:112 test: table -> row -> first cell | |||||
| packages/editor/src/node-traversal/get-node.test.ts:130 test: table -> row -> second cell | |||||
| packages/editor/src/node-traversal/get-node.test.ts:148 test: cell -> first block | |||||
| packages/editor/src/node-traversal/get-node.test.ts:170 test: cell -> second block | |||||
| packages/editor/src/node-traversal/get-node.test.ts:192 test: span inside cell block | |||||
| packages/editor/src/node-traversal/get-node.test.ts:218 test: inline object inside cell block | |||||
| packages/editor/src/node-traversal/get-node.test.ts:244 test: second row | |||||
| packages/editor/src/node-traversal/get-node.test.ts:254 test: node inside non-editable container returns undefined | |||||
| 47 | packages/editor/src/node-traversal/get-nodes.test.ts | portable | PT-H11 | 38 | packages/editor/src/node-traversal/get-nodes.test.ts:17 describe: getNodes.name |
| packages/editor/src/node-traversal/get-nodes.test.ts:20 test: all nodes from root | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:55 test: paths are correct | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:172 test: from a subtree | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:184 test: from a leaf returns empty | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:194 test: reverse order | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:208 test: skips non-editable container internals | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:233 describe: match predicate | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:234 test: filters by isSpan | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:255 test: filters by isTextBlock | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:275 test: filters with custom predicate on subtree | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:292 test: match with reverse | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:306 describe: from/to range | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:307 test: range within flat blocks | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:325 test: range within a single block | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:341 test: range spanning into container | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:358 test: range within container | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:394 test: range spanning across cells | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:435 test: range spanning across rows | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:475 test: from at document start | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:491 test: to at document end | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:519 test: from equals to (single node) | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:531 test: from equals to (single leaf node) | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:543 test: from only (no to) | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:560 test: to only (no from) | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:578 describe: from/to with match | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:579 test: range with span filter | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:592 test: range with text block filter | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:611 test: range within container with match | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:640 describe: reverse with from/to | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:641 test: reverse range within flat blocks | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:660 test: reverse range within a single block | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:677 test: reverse range spanning container | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:695 test: reverse from equals to (single node) | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:708 test: reverse with match | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:728 test: reverse range within container | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:766 describe: getNodeDescendants | |||||
| packages/editor/src/node-traversal/get-nodes.test.ts:767 test: container with value field includes field name in paths | |||||
| 48 | packages/editor/src/node-traversal/get-parent.test.ts | portable | PT-H11 | 9 | packages/editor/src/node-traversal/get-parent.test.ts:5 describe: getParent.name |
| packages/editor/src/node-traversal/get-parent.test.ts:8 test: parent of top-level block | |||||
| packages/editor/src/node-traversal/get-parent.test.ts:12 test: parent of span | |||||
| packages/editor/src/node-traversal/get-parent.test.ts:22 test: parent of row | |||||
| packages/editor/src/node-traversal/get-parent.test.ts:32 test: parent of cell | |||||
| packages/editor/src/node-traversal/get-parent.test.ts:44 test: parent of block inside cell | |||||
| packages/editor/src/node-traversal/get-parent.test.ts:64 test: parent of span inside cell block | |||||
| packages/editor/src/node-traversal/get-parent.test.ts:88 test: parent of code line | |||||
| packages/editor/src/node-traversal/get-parent.test.ts:98 test: empty path returns undefined | |||||
| 49 | packages/editor/src/node-traversal/get-sibling.test.ts | portable | PT-H11 | 22 | packages/editor/src/node-traversal/get-sibling.test.ts:5 describe: getSibling.name |
| packages/editor/src/node-traversal/get-sibling.test.ts:8 test: empty path returns undefined | |||||
| packages/editor/src/node-traversal/get-sibling.test.ts:13 test: next sibling of first top-level block | |||||
| packages/editor/src/node-traversal/get-sibling.test.ts:19 test: previous sibling of second top-level block | |||||
| packages/editor/src/node-traversal/get-sibling.test.ts:25 test: next sibling of last top-level block returns undefined | |||||
| packages/editor/src/node-traversal/get-sibling.test.ts:31 test: previous sibling of first top-level block returns undefined | |||||
| packages/editor/src/node-traversal/get-sibling.test.ts:37 test: next sibling of span in text block | |||||
| packages/editor/src/node-traversal/get-sibling.test.ts:47 test: previous sibling of last span in text block | |||||
| packages/editor/src/node-traversal/get-sibling.test.ts:57 test: next sibling of last span in text block returns undefined | |||||
| packages/editor/src/node-traversal/get-sibling.test.ts:67 test: previous sibling of first span in text block returns undefined | |||||
| packages/editor/src/node-traversal/get-sibling.test.ts:77 test: next sibling of first block in cell | |||||
| packages/editor/src/node-traversal/get-sibling.test.ts:103 test: previous sibling of second block in cell | |||||
| packages/editor/src/node-traversal/get-sibling.test.ts:129 test: next sibling of last block in cell returns undefined | |||||
| packages/editor/src/node-traversal/get-sibling.test.ts:147 test: next sibling of first cell in row | |||||
| packages/editor/src/node-traversal/get-sibling.test.ts:163 test: previous sibling of second cell in row | |||||
| packages/editor/src/node-traversal/get-sibling.test.ts:179 test: next sibling of first row in table | |||||
| packages/editor/src/node-traversal/get-sibling.test.ts:189 test: previous sibling of second row in table | |||||
| packages/editor/src/node-traversal/get-sibling.test.ts:199 test: next sibling of span inside cell block | |||||
| packages/editor/src/node-traversal/get-sibling.test.ts:229 test: previous sibling of inline object inside cell block | |||||
| packages/editor/src/node-traversal/get-sibling.test.ts:259 test: out of bounds path returns undefined | |||||
| packages/editor/src/node-traversal/get-sibling.test.ts:268 test: next sibling of code line | |||||
| packages/editor/src/node-traversal/get-sibling.test.ts:278 test: previous sibling of second code line | |||||
| 50 | packages/editor/src/node-traversal/get-text.test.ts | portable | PT-H11 | 21 | packages/editor/src/node-traversal/get-text.test.ts:5 describe: getText.name |
| packages/editor/src/node-traversal/get-text.test.ts:8 test: text of a text block | |||||
| packages/editor/src/node-traversal/get-text.test.ts:12 test: text of a span | |||||
| packages/editor/src/node-traversal/get-text.test.ts:18 test: text of second span | |||||
| packages/editor/src/node-traversal/get-text.test.ts:24 test: text of an inline object | |||||
| packages/editor/src/node-traversal/get-text.test.ts:30 test: text of a block object with no children | |||||
| packages/editor/src/node-traversal/get-text.test.ts:34 test: text of second text block | |||||
| packages/editor/src/node-traversal/get-text.test.ts:38 test: text of code block | |||||
| packages/editor/src/node-traversal/get-text.test.ts:44 test: text of code line | |||||
| packages/editor/src/node-traversal/get-text.test.ts:50 test: text of code span | |||||
| packages/editor/src/node-traversal/get-text.test.ts:62 test: text of cell block with inline object | |||||
| packages/editor/src/node-traversal/get-text.test.ts:76 test: text of cell span | |||||
| packages/editor/src/node-traversal/get-text.test.ts:92 test: text of second cell block | |||||
| packages/editor/src/node-traversal/get-text.test.ts:106 test: text of cell block in second cell | |||||
| packages/editor/src/node-traversal/get-text.test.ts:120 test: text of empty block | |||||
| packages/editor/src/node-traversal/get-text.test.ts:134 test: text of empty span | |||||
| packages/editor/src/node-traversal/get-text.test.ts:150 test: out of bounds returns undefined | |||||
| packages/editor/src/node-traversal/get-text.test.ts:154 test: empty path returns undefined | |||||
| packages/editor/src/node-traversal/get-text.test.ts:158 test: text of table includes all cell text | |||||
| packages/editor/src/node-traversal/get-text.test.ts:162 test: text of row includes all cell text | |||||
| packages/editor/src/node-traversal/get-text.test.ts:168 test: text of cell includes all block text | |||||
| 51 | packages/editor/src/node-traversal/get-value.test.ts | portable | PT-H11 | 19 | packages/editor/src/node-traversal/get-value.test.ts:4 describe: getValue.name |
| packages/editor/src/node-traversal/get-value.test.ts:5 test: resolves root-level node by key | |||||
| packages/editor/src/node-traversal/get-value.test.ts:12 test: resolves string property on a node | |||||
| packages/editor/src/node-traversal/get-value.test.ts:21 test: resolves deep nested property | |||||
| packages/editor/src/node-traversal/get-value.test.ts:30 test: resolves child in nested array by key | |||||
| packages/editor/src/node-traversal/get-value.test.ts:39 test: resolves property on nested child | |||||
| packages/editor/src/node-traversal/get-value.test.ts:48 test: resolves by numeric index | |||||
| packages/editor/src/node-traversal/get-value.test.ts:54 test: returns undefined for missing key | |||||
| packages/editor/src/node-traversal/get-value.test.ts:58 test: returns undefined for missing property | |||||
| packages/editor/src/node-traversal/get-value.test.ts:64 test: returns undefined for property on missing intermediate | |||||
| packages/editor/src/node-traversal/get-value.test.ts:70 test: returns null for property that is null | |||||
| packages/editor/src/node-traversal/get-value.test.ts:76 test: returns null when walking through null intermediate | |||||
| packages/editor/src/node-traversal/get-value.test.ts:82 test: returns undefined when walking through undefined intermediate | |||||
| packages/editor/src/node-traversal/get-value.test.ts:88 test: resolves container depth path | |||||
| packages/editor/src/node-traversal/get-value.test.ts:119 test: resolves deep property on a deeply nested node | |||||
| packages/editor/src/node-traversal/get-value.test.ts:155 test: returns undefined for out-of-bounds numeric index | |||||
| packages/editor/src/node-traversal/get-value.test.ts:159 test: returns undefined for keyed segment on non-array | |||||
| packages/editor/src/node-traversal/get-value.test.ts:168 test: returns undefined for numeric segment on non-array | |||||
| packages/editor/src/node-traversal/get-value.test.ts:174 test: returns undefined for empty path | |||||
| 52 | packages/editor/src/node-traversal/has-node.test.ts | portable | PT-H11 | 5 | packages/editor/src/node-traversal/has-node.test.ts:5 describe: hasNode.name |
| packages/editor/src/node-traversal/has-node.test.ts:8 test: root level | |||||
| packages/editor/src/node-traversal/has-node.test.ts:12 test: deep path | |||||
| packages/editor/src/node-traversal/has-node.test.ts:28 test: out of bounds | |||||
| packages/editor/src/node-traversal/has-node.test.ts:32 test: empty path | |||||
| 53 | packages/editor/src/paths/get-dirty-paths.test.ts | portable | PT-H11 | 33 | packages/editor/src/paths/get-dirty-paths.test.ts:80 describe: getDirtyPaths.name |
| packages/editor/src/paths/get-dirty-paths.test.ts:81 describe: insert_text / remove_text | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:82 test: insert_text returns path levels of the operation path | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:100 test: remove_text returns path levels of the operation path | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:118 test: insert_text inside callout text block returns path levels at each node boundary | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:147 test: remove_text inside callout text block returns path levels at each node boundary | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:177 describe: set | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:178 test: root-level value replacement dirties root and all children | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:218 test: single property set dirties node path levels | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:235 test: _key change uses new key in dirty path | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:252 test: full node replacement dirties node and descendants | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:285 test: child array field replacement dirties new children | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:321 test: root-level value replacement with container children dirties descendants | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:357 test: property set inside callout dirties node path levels | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:374 test: _key change inside callout uses new key in dirty path | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:395 test: full node replacement inside callout dirties node and descendants | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:435 test: child array replacement inside callout dirties new children | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:475 test: property set inside table cell dirties node path levels | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:516 describe: unset | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:517 test: node removal with keyed last segment returns ancestor paths only | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:533 test: property removal returns node path levels | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:549 test: _key unset uses numeric index for keyless node | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:582 test: numeric last segment returns ancestor paths | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:598 test: node removal inside callout returns ancestor paths | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:614 test: property removal inside callout returns node path levels | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:630 test: _key unset inside callout uses numeric index for keyless node | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:670 describe: insert | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:671 test: insert span dirties ancestors and inserted node path | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:694 test: insert block dirties ancestors, node path, and children | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:729 test: insert container block dirties ancestors, node path, and nested descendants | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:767 test: insert span inside callout text block dirties ancestors and inserted node path | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:797 test: insert block inside callout content dirties ancestors, node path, and children | |||||
| packages/editor/src/paths/get-dirty-paths.test.ts:833 test: insert block inside table cell content dirties ancestors, node path, and children | |||||
| 54 | packages/editor/src/paths/serialize-path.test.ts | portable | PT-H11 | 16 | packages/editor/src/paths/serialize-path.test.ts:5 describe: serializePath.name |
| packages/editor/src/paths/serialize-path.test.ts:6 test: single key segment | |||||
| packages/editor/src/paths/serialize-path.test.ts:10 test: block and span | |||||
| packages/editor/src/paths/serialize-path.test.ts:16 test: container path | |||||
| packages/editor/src/paths/serialize-path.test.ts:34 test: key with dot | |||||
| packages/editor/src/paths/serialize-path.test.ts:41 describe: deserializePath.name | |||||
| packages/editor/src/paths/serialize-path.test.ts:42 test: single key segment | |||||
| packages/editor/src/paths/serialize-path.test.ts:46 test: block and span | |||||
| packages/editor/src/paths/serialize-path.test.ts:54 test: container path | |||||
| packages/editor/src/paths/serialize-path.test.ts:72 test: key with dot | |||||
| packages/editor/src/paths/serialize-path.test.ts:81 describe: roundtrip | |||||
| packages/editor/src/paths/serialize-path.test.ts:82 test: single key segment | |||||
| packages/editor/src/paths/serialize-path.test.ts:87 test: block and span | |||||
| packages/editor/src/paths/serialize-path.test.ts:92 test: container path | |||||
| packages/editor/src/paths/serialize-path.test.ts:107 test: key with dot | |||||
| packages/editor/src/paths/serialize-path.test.ts:112 test: key with special characters | |||||
| 55 | packages/editor/src/plugins/plugin.internal.auto-close-brackets.test.tsx | portable-mixed | PT-H12 | 3 | packages/editor/src/plugins/plugin.internal.auto-close-brackets.test.tsx:7 describe: AutoCloseBracketsPlugin.name |
| packages/editor/src/plugins/plugin.internal.auto-close-brackets.test.tsx:8 test: One-character text insertion | |||||
| packages/editor/src/plugins/plugin.internal.auto-close-brackets.test.tsx:40 test: Two-character text insertion | |||||
| 56 | packages/editor/src/priority/priority.sort.test.ts | portable-mixed | PT-H12 | 16 | packages/editor/src/priority/priority.sort.test.ts:5 describe: sortByPriority.name |
| packages/editor/src/priority/priority.sort.test.ts:6 test: empty array | |||||
| packages/editor/src/priority/priority.sort.test.ts:11 test: single item | |||||
| packages/editor/src/priority/priority.sort.test.ts:17 test: two sets of priorities | |||||
| packages/editor/src/priority/priority.sort.test.ts:65 test: sub-priorities | |||||
| packages/editor/src/priority/priority.sort.test.ts:89 test: direct higher reference | |||||
| packages/editor/src/priority/priority.sort.test.ts:106 test: direct lower reference | |||||
| packages/editor/src/priority/priority.sort.test.ts:121 test: transitive references | |||||
| packages/editor/src/priority/priority.sort.test.ts:141 test: transitive references #2 | |||||
| packages/editor/src/priority/priority.sort.test.ts:161 test: references to missing priorities | |||||
| packages/editor/src/priority/priority.sort.test.ts:179 test: references to missing priorities #2 | |||||
| packages/editor/src/priority/priority.sort.test.ts:197 test: complex reference chains | |||||
| packages/editor/src/priority/priority.sort.test.ts:225 test: complex reference chains #2 | |||||
| packages/editor/src/priority/priority.sort.test.ts:253 test: multiple independent chains | |||||
| packages/editor/src/priority/priority.sort.test.ts:281 test: cyclic references | |||||
| packages/editor/src/priority/priority.sort.test.ts:298 test: missing priorities | |||||
| 57 | packages/editor/src/renderers/renderer.types.test.tsx | portable-mixed | PT-H12 | 18 | packages/editor/src/renderers/renderer.types.test.tsx:11 describe: defineContainer.name |
| packages/editor/src/renderers/renderer.types.test.tsx:12 test: returns the config with injected kind: "container" | |||||
| packages/editor/src/renderers/renderer.types.test.tsx:28 test: rejects type: 'span' at compile time | |||||
| packages/editor/src/renderers/renderer.types.test.tsx:38 test: rejects type: 'block' at compile time | |||||
| packages/editor/src/renderers/renderer.types.test.tsx:49 describe: defineSpan.name | |||||
| packages/editor/src/renderers/renderer.types.test.tsx:50 test: returns the config with injected kind: "span" | |||||
| packages/editor/src/renderers/renderer.types.test.tsx:64 test: rejects type: 'block' at compile time | |||||
| packages/editor/src/renderers/renderer.types.test.tsx:74 describe: defineBlockObject.name | |||||
| packages/editor/src/renderers/renderer.types.test.tsx:75 test: returns the config with injected kind: "blockObject" | |||||
| packages/editor/src/renderers/renderer.types.test.tsx:89 test: rejects type: 'block' at compile time | |||||
| packages/editor/src/renderers/renderer.types.test.tsx:98 test: rejects type: 'span' at compile time | |||||
| packages/editor/src/renderers/renderer.types.test.tsx:108 describe: defineInlineObject.name | |||||
| packages/editor/src/renderers/renderer.types.test.tsx:109 test: returns the config with injected kind: "inlineObject" | |||||
| packages/editor/src/renderers/renderer.types.test.tsx:123 test: rejects type: 'block' at compile time | |||||
| packages/editor/src/renderers/renderer.types.test.tsx:132 test: rejects type: 'span' at compile time | |||||
| packages/editor/src/renderers/renderer.types.test.tsx:142 describe: defineTextBlock.name | |||||
| packages/editor/src/renderers/renderer.types.test.tsx:143 test: returns the config with injected kind: "textBlock" | |||||
| packages/editor/src/renderers/renderer.types.test.tsx:157 test: rejects type: 'span' at compile time | |||||
| 58 | packages/editor/src/schema/get-block-object-schema.test.ts | portable-mixed | PT-H02 | 4 | packages/editor/src/schema/get-block-object-schema.test.ts:9 describe: getBlockObjectSchema.name |
| packages/editor/src/schema/get-block-object-schema.test.ts:10 test: returns a root-level block-object definition when block is at the document root | |||||
| packages/editor/src/schema/get-block-object-schema.test.ts:33 test: returns an inline-declared type definition when block is inside a container | |||||
| packages/editor/src/schema/get-block-object-schema.test.ts:77 test: returns undefined when the type is unknown at the effective scope | |||||
| 59 | packages/editor/src/schema/resolve-containers.test.ts | portable-mixed | PT-H02 | 14 | packages/editor/src/schema/resolve-containers.test.ts:70 describe: resolveNestedContainer.name |
packages/editor/src/schema/resolve-containers.test.ts:82 test: pre-resolves a top-level container with no of overrides | |||||
| packages/editor/src/schema/resolve-containers.test.ts:96 test: pre-resolves nested containers, attaching resolved fields at each level | |||||
| packages/editor/src/schema/resolve-containers.test.ts:177 test: warns with chain context when a nested registration is unresolvable | |||||
| packages/editor/src/schema/resolve-containers.test.ts:260 describe: resolveContainerByPath.name | |||||
| packages/editor/src/schema/resolve-containers.test.ts:272 test: 6. immediate-parent: finds and matches | |||||
packages/editor/src/schema/resolve-containers.test.ts:310 test: 7. parent has no of match: falls back to top-level | |||||
| packages/editor/src/schema/resolve-containers.test.ts:357 test: 8. nested-only chain: descent threads parent through ancestors | |||||
| packages/editor/src/schema/resolve-containers.test.ts:454 test: 9. position-specific descent: same _type in two positions returns position-specific config | |||||
| packages/editor/src/schema/resolve-containers.test.ts:570 test: 10. leaf-ancestor short-circuit: descendants of a leaf-resolved ancestor return undefined | |||||
| packages/editor/src/schema/resolve-containers.test.ts:636 test: 11. path-driven top-level fallthrough: no container ancestor returns containers.get(_type) | |||||
| packages/editor/src/schema/resolve-containers.test.ts:674 describe: descendToParent.name | |||||
| packages/editor/src/schema/resolve-containers.test.ts:675 test: returns undefined when path has no container ancestor | |||||
| packages/editor/src/schema/resolve-containers.test.ts:702 test: returns parent ContainerConfig and parentPath for nested node | |||||
| 60 | packages/editor/src/selectors/drag-selection.test.ts | portable-mixed | PT-H07 | 16 | packages/editor/src/selectors/drag-selection.test.ts:8 describe: getDragSelection.name |
| packages/editor/src/selectors/drag-selection.test.ts:66 test: dragging one text block | |||||
| packages/editor/src/selectors/drag-selection.test.ts:93 test: dragging one text block with an existing selection | |||||
| packages/editor/src/selectors/drag-selection.test.ts:120 test: dragging one text block with a selection elsewhere | |||||
| packages/editor/src/selectors/drag-selection.test.ts:156 test: dragging one block object with a selection elsewhere | |||||
| packages/editor/src/selectors/drag-selection.test.ts:192 test: dragging one block object with an expanded selection elsewhere | |||||
| packages/editor/src/selectors/drag-selection.test.ts:228 test: dragging a text block with an expanded selected | |||||
| packages/editor/src/selectors/drag-selection.test.ts:264 test: dragging two text blocks with the top drag handle | |||||
| packages/editor/src/selectors/drag-selection.test.ts:300 test: dragging two text blocks with the bottom drag handle | |||||
| packages/editor/src/selectors/drag-selection.test.ts:336 test: dragging a block object with an expanded selected | |||||
| packages/editor/src/selectors/drag-selection.test.ts:372 test: dragging inline object | |||||
| packages/editor/src/selectors/drag-selection.test.ts:399 test: dragging inline object already selected | |||||
| packages/editor/src/selectors/drag-selection.test.ts:435 test: dragging inline object with selection elsewhere | |||||
| packages/editor/src/selectors/drag-selection.test.ts:471 test: dragging inline object with expanded selection elsewhere | |||||
| packages/editor/src/selectors/drag-selection.test.ts:507 test: dragging inline object in an expanded selection | |||||
| packages/editor/src/selectors/drag-selection.test.ts:543 test: dragging text block with inline object selected | |||||
| 61 | packages/editor/src/selectors/selector.get-applicable-schema.test.ts | portable-mixed | PT-H02 | 9 | packages/editor/src/selectors/selector.get-applicable-schema.test.ts:80 describe: getApplicableSchema.name |
| packages/editor/src/selectors/selector.get-applicable-schema.test.ts:81 test: returns empty sets when the selection is null | |||||
| packages/editor/src/selectors/selector.get-applicable-schema.test.ts:98 test: returns the focus block sub-schema when the caret is in a single text block | |||||
| packages/editor/src/selectors/selector.get-applicable-schema.test.ts:129 test: returns the union of text-only categories across the selection | |||||
| packages/editor/src/selectors/selector.get-applicable-schema.test.ts:171 test: returns empty text-only sets when the selection is on a void block | |||||
| packages/editor/src/selectors/selector.get-applicable-schema.test.ts:198 describe: compareApplicableSchema.name | |||||
| packages/editor/src/selectors/selector.get-applicable-schema.test.ts:199 test: returns true for byte-identical results | |||||
| packages/editor/src/selectors/selector.get-applicable-schema.test.ts:211 test: returns true when sets contain the same names | |||||
| packages/editor/src/selectors/selector.get-applicable-schema.test.ts:231 test: returns false when any set differs | |||||
| 62 | packages/editor/src/selectors/selector.get-caret-word-selection.test.ts | portable | PT-H01 | 7 | packages/editor/src/selectors/selector.get-caret-word-selection.test.ts:20 describe: getCaretWordSelection.name |
| packages/editor/src/selectors/selector.get-caret-word-selection.test.ts:21 test: empty block | |||||
| packages/editor/src/selectors/selector.get-caret-word-selection.test.ts:53 test: inline object | |||||
| packages/editor/src/selectors/selector.get-caret-word-selection.test.ts:85 test: between inline objects | |||||
| packages/editor/src/selectors/selector.get-caret-word-selection.test.ts:127 test: word between inline objects | |||||
| packages/editor/src/selectors/selector.get-caret-word-selection.test.ts:178 test: no formatting | |||||
| packages/editor/src/selectors/selector.get-caret-word-selection.test.ts:219 test: mixed formatting | |||||
| 63 | packages/editor/src/selectors/selector.get-fragment.test.ts | portable-mixed | PT-H12 | 6 | packages/editor/src/selectors/selector.get-fragment.test.ts:76 describe: getFragment.name |
| packages/editor/src/selectors/selector.get-fragment.test.ts:77 test: returns empty when there is no selection | |||||
| packages/editor/src/selectors/selector.get-fragment.test.ts:87 test: passes the envelope through unchanged when selection spans root siblings | |||||
| packages/editor/src/selectors/selector.get-fragment.test.ts:107 test: unwraps a callout envelope when the selection is wholly inside it | |||||
| packages/editor/src/selectors/selector.get-fragment.test.ts:139 test: unwraps a table cell envelope when the selection covers two text blocks inside one cell | |||||
| packages/editor/src/selectors/selector.get-fragment.test.ts:256 test: keeps the table envelope when the selection spans two cells in one row | |||||
| 64 | packages/editor/src/selectors/selector.get-selected-blocks.test.ts | portable-mixed | PT-H12 | 3 | packages/editor/src/selectors/selector.get-selected-blocks.test.ts:13 describe: getSelectedBlocks.name |
| packages/editor/src/selectors/selector.get-selected-blocks.test.ts:14 test: returns root-level blocks the selection covers | |||||
| packages/editor/src/selectors/selector.get-selected-blocks.test.ts:52 test: returns the enclosing container when the selection is inside one | |||||
| 65 | packages/editor/src/selectors/selector.get-selected-spans.test.ts | portable-mixed | PT-H12 | 10 | packages/editor/src/selectors/selector.get-selected-spans.test.ts:40 describe: getSelectedSpans.name |
| packages/editor/src/selectors/selector.get-selected-spans.test.ts:53 test: selecting a single span | |||||
| packages/editor/src/selectors/selector.get-selected-spans.test.ts:75 test: selecting from start-span to start-span | |||||
| packages/editor/src/selectors/selector.get-selected-spans.test.ts:97 test: selection from mid-span to mid-span | |||||
| packages/editor/src/selectors/selector.get-selected-spans.test.ts:123 test: selecting from end-span to end-span | |||||
| packages/editor/src/selectors/selector.get-selected-spans.test.ts:145 test: selecting from start-span to start-span across blocks | |||||
| packages/editor/src/selectors/selector.get-selected-spans.test.ts:167 test: selecting from mid-span to mid-span across blocks | |||||
| packages/editor/src/selectors/selector.get-selected-spans.test.ts:197 test: selecting from end-span to end-span across blocks | |||||
| packages/editor/src/selectors/selector.get-selected-spans.test.ts:219 test: selecting from block object to empty span | |||||
| packages/editor/src/selectors/selector.get-selected-spans.test.ts:252 test: selecting broken-up annotation | |||||
| 66 | packages/editor/src/selectors/selector.get-selected-text-blocks.test.ts | portable-mixed | PT-H12 | 3 | packages/editor/src/selectors/selector.get-selected-text-blocks.test.ts:13 describe: getSelectedTextBlocks.name |
| packages/editor/src/selectors/selector.get-selected-text-blocks.test.ts:14 test: returns text blocks at the root when the selection is at the root | |||||
| packages/editor/src/selectors/selector.get-selected-text-blocks.test.ts:52 test: returns text blocks from inside a container when the selection crosses a container boundary | |||||
| 67 | packages/editor/src/selectors/selector.get-selected-value.test.ts | portable-mixed | PT-H12 | 24 | packages/editor/src/selectors/selector.get-selected-value.test.ts:89 describe: getSelectedValue.name |
| packages/editor/src/selectors/selector.get-selected-value.test.ts:90 test: sensible defaults | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:115 test: slicing a single block | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:151 test: slicing a single span | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:192 test: starting and ending selection on a block object | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:215 test: starting selection on a block object | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:242 test: ending selection on a block object | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:281 test: slicing across block object | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:312 test: starting and ending mid-span | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:362 test: starting mid-span and ending end-span | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:411 test: starting on inline object | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:447 test: ending on inline object | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:483 test: starting and ending on inline object | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:519 test: slicing text block with custom props | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:562 test: slicing span with custom props | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:611 test: filters out unused markDefs | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:756 test: starts and ends in different blocks with same span _key | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:842 describe: ${expr} with containers | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:907 test: select-all across [text, callout{text}, text] preserves the callout whole | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:927 test: selection starts inside callout, ends in trailing text block | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:961 test: selection starts in leading text block, ends inside callout | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:998 test: selection wholly inside a callout slices inner blocks only | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:1032 test: infinite nesting: callout inside table cell | |||||
| packages/editor/src/selectors/selector.get-selected-value.test.ts:1196 test: deep selection ending mid-annotation preserves the link and its markDefs | |||||
| 68 | packages/editor/src/selectors/selector.get-selection-text.test.ts | portable | PT-H01 | 1 | packages/editor/src/selectors/selector.get-selection-text.test.ts:70 test: getSelectionText.name |
| 69 | packages/editor/src/selectors/selector.is-overlapping-selection.test.ts | portable | PT-H01 | 19 | packages/editor/src/selectors/selector.is-overlapping-selection.test.ts:28 describe: isOverlappingSelection.name |
| packages/editor/src/selectors/selector.is-overlapping-selection.test.ts:29 test: null | |||||
| packages/editor/src/selectors/selector.is-overlapping-selection.test.ts:33 test: fully selected block object | |||||
| packages/editor/src/selectors/selector.is-overlapping-selection.test.ts:47 test: block object inside selection | |||||
| packages/editor/src/selectors/selector.is-overlapping-selection.test.ts:61 test: fully selected inline object | |||||
| packages/editor/src/selectors/selector.is-overlapping-selection.test.ts:75 test: inline object inside selection | |||||
| packages/editor/src/selectors/selector.is-overlapping-selection.test.ts:89 test: selection touching at start endpoint | |||||
| packages/editor/src/selectors/selector.is-overlapping-selection.test.ts:103 test: selection overlapping from the start | |||||
| packages/editor/src/selectors/selector.is-overlapping-selection.test.ts:117 test: selection touching at end endpoint | |||||
| packages/editor/src/selectors/selector.is-overlapping-selection.test.ts:131 test: selection overlapping from the end | |||||
| packages/editor/src/selectors/selector.is-overlapping-selection.test.ts:145 test: before inline object | |||||
| packages/editor/src/selectors/selector.is-overlapping-selection.test.ts:159 test: after inline object | |||||
| packages/editor/src/selectors/selector.is-overlapping-selection.test.ts:173 test: partial span selection | |||||
| packages/editor/src/selectors/selector.is-overlapping-selection.test.ts:187 test: expanded selection touching at the end edge of span | |||||
| packages/editor/src/selectors/selector.is-overlapping-selection.test.ts:201 test: collapsed selection at the end edge of span | |||||
| packages/editor/src/selectors/selector.is-overlapping-selection.test.ts:215 test: expanded selection touching at the start edge of span | |||||
| packages/editor/src/selectors/selector.is-overlapping-selection.test.ts:229 test: collapsed selection at the start edge of span | |||||
| packages/editor/src/selectors/selector.is-overlapping-selection.test.ts:243 test: selecting entire span | |||||
| packages/editor/src/selectors/selector.is-overlapping-selection.test.ts:289 test: unknown block | |||||
| 70 | packages/editor/src/selectors/selector.is-point-relative-to-selection.test.ts | portable | PT-H01 | 6 | packages/editor/src/selectors/selector.is-point-relative-to-selection.test.ts:34 describe: isPointBeforeSelection.name |
| packages/editor/src/selectors/selector.is-point-relative-to-selection.test.ts:35 test: Scenario: a point in an earlier text block in a callout is before a selection in a later text block in the same callout | |||||
| packages/editor/src/selectors/selector.is-point-relative-to-selection.test.ts:123 test: Scenario: a point in a later text block in a callout is not before a selection in an earlier text block in the same callout | |||||
| packages/editor/src/selectors/selector.is-point-relative-to-selection.test.ts:212 describe: isPointAfterSelection.name | |||||
| packages/editor/src/selectors/selector.is-point-relative-to-selection.test.ts:213 test: Scenario: a point in a later text block in a callout is after a selection in an earlier text block in the same callout | |||||
| packages/editor/src/selectors/selector.is-point-relative-to-selection.test.ts:301 test: Scenario: a point in an earlier text block in a callout is not after a selection in a later text block in the same callout | |||||
| 71 | packages/editor/src/selectors/selector.is-selection-expanded.test.ts | portable | PT-H01 | 4 | packages/editor/src/selectors/selector.is-selection-expanded.test.ts:5 describe: isSelectionExpanded.name |
| packages/editor/src/selectors/selector.is-selection-expanded.test.ts:6 test: no selection | |||||
| packages/editor/src/selectors/selector.is-selection-expanded.test.ts:12 test: collapsed selection | |||||
| packages/editor/src/selectors/selector.is-selection-expanded.test.ts:38 test: expanded selection | |||||
| 72 | packages/editor/src/traversal/get-path-sub-schema.test.ts | portable-mixed | PT-H02 | 3 | packages/editor/src/traversal/get-path-sub-schema.test.ts:9 describe: getPathSubSchema.name |
| packages/editor/src/traversal/get-path-sub-schema.test.ts:10 test: returns root sub-schema when path is at root | |||||
| packages/editor/src/traversal/get-path-sub-schema.test.ts:35 test: returns nested sub-schema inside a registered container | |||||
| 73 | packages/editor/src/traversal/get-union-schema.test.ts | portable-mixed | PT-H02 | 5 | packages/editor/src/traversal/get-union-schema.test.ts:9 describe: getUnionSchema.name |
| packages/editor/src/traversal/get-union-schema.test.ts:10 test: returns the root schema when no containers are registered | |||||
| packages/editor/src/traversal/get-union-schema.test.ts:24 test: merges container sub-schema members with root, deduped by name | |||||
| packages/editor/src/traversal/get-union-schema.test.ts:111 test: does not include sub-schema for unregistered containers | |||||
| packages/editor/src/traversal/get-union-schema.test.ts:142 test: excludes structural containers whose field does not accept text blocks | |||||
| 74 | packages/editor/src/utils/util.block-offset.test.ts | portable | PT-H04 | 21 | packages/editor/src/utils/util.block-offset.test.ts:12 describe: blockOffsetToSpanSelectionPoint.name |
| packages/editor/src/utils/util.block-offset.test.ts:13 describe: simple text block | |||||
| packages/editor/src/utils/util.block-offset.test.ts:31 describe: end of block | |||||
| packages/editor/src/utils/util.block-offset.test.ts:32 test: direction forward | |||||
| packages/editor/src/utils/util.block-offset.test.ts:51 test: direction backward | |||||
| packages/editor/src/utils/util.block-offset.test.ts:71 describe: start of block | |||||
| packages/editor/src/utils/util.block-offset.test.ts:72 test: direction forward | |||||
| packages/editor/src/utils/util.block-offset.test.ts:91 test: direction backward | |||||
| packages/editor/src/utils/util.block-offset.test.ts:112 describe: leading and trailing inline object | |||||
| packages/editor/src/utils/util.block-offset.test.ts:134 describe: start of block | |||||
| packages/editor/src/utils/util.block-offset.test.ts:135 test: direction forward | |||||
| packages/editor/src/utils/util.block-offset.test.ts:154 test: direction backward | |||||
| packages/editor/src/utils/util.block-offset.test.ts:174 describe: offset 1 | |||||
| packages/editor/src/utils/util.block-offset.test.ts:175 test: direction forward | |||||
| packages/editor/src/utils/util.block-offset.test.ts:194 test: direction backward | |||||
| packages/editor/src/utils/util.block-offset.test.ts:214 describe: end of block | |||||
| packages/editor/src/utils/util.block-offset.test.ts:215 test: direction forward | |||||
| packages/editor/src/utils/util.block-offset.test.ts:234 test: direction backward | |||||
| packages/editor/src/utils/util.block-offset.test.ts:255 test: only inline objects | |||||
| packages/editor/src/utils/util.block-offset.test.ts:310 test: block object | |||||
| packages/editor/src/utils/util.block-offset.test.ts:335 test: text with formatting | |||||
| 75 | packages/editor/src/utils/util.slice-text-block.test.ts | portable | PT-H04 | 6 | packages/editor/src/utils/util.slice-text-block.test.ts:50 describe: sliceTextBlock.name |
| packages/editor/src/utils/util.slice-text-block.test.ts:51 test: empty block | |||||
| packages/editor/src/utils/util.slice-text-block.test.ts:73 test: middle | |||||
| packages/editor/src/utils/util.slice-text-block.test.ts:105 describe: multiple children | |||||
| packages/editor/src/utils/util.slice-text-block.test.ts:125 test: mid-span | |||||
| packages/editor/src/utils/util.slice-text-block.test.ts:155 test: from end of span to end of block | |||||
| 76 | packages/editor/test-utils/boundary-equivalent.test.ts | portable | PT-H01 | 9 | packages/editor/test-utils/boundary-equivalent.test.ts:8 describe: boundaryEquivalentSelections.name |
| packages/editor/test-utils/boundary-equivalent.test.ts:9 test: returns no variants when selection is null | |||||
| packages/editor/test-utils/boundary-equivalent.test.ts:18 test: returns no variants when point is in middle of span | |||||
| packages/editor/test-utils/boundary-equivalent.test.ts:42 test: returns no variants when point is at boundary but no sibling span | |||||
| packages/editor/test-utils/boundary-equivalent.test.ts:63 test: returns next-span variant for collapsed selection at end of span | |||||
| packages/editor/test-utils/boundary-equivalent.test.ts:91 test: returns previous-span variant for collapsed selection at start of span | |||||
| packages/editor/test-utils/boundary-equivalent.test.ts:119 test: returns no variant when sibling is an inline object, not a span | |||||
| packages/editor/test-utils/boundary-equivalent.test.ts:143 test: returns cartesian product for expanded selection with both endpoints at boundaries | |||||
| packages/editor/test-utils/boundary-equivalent.test.ts:184 test: preserves backward flag in variants | |||||
| 77 | packages/editor/test-utils/selection-text.test.ts | portable | PT-H01 | 1 | packages/editor/test-utils/selection-text.test.ts:6 test: getSelectionText.name |
| 78 | packages/editor/test-utils/string-overlap.test.ts | portable | PT-H01 | 1 | packages/editor/test-utils/string-overlap.test.ts:4 test: stringOverlap.name |
| 79 | packages/editor/tests/PortableTextEditor.test.tsx | portable-mixed | PT-H12 | 8 | packages/editor/tests/PortableTextEditor.test.tsx:19 describe: initialization |
| packages/editor/tests/PortableTextEditor.test.tsx:20 it: receives initial onChange events and has custom placeholder | |||||
| packages/editor/tests/PortableTextEditor.test.tsx:41 it: takes value from props and confirms it by emitting value change event | |||||
| packages/editor/tests/PortableTextEditor.test.tsx:70 it: takes initial selection from props | |||||
| packages/editor/tests/PortableTextEditor.test.tsx:111 it: updates editor selection from new prop and keeps object equality in editor.getSelection() | |||||
| packages/editor/tests/PortableTextEditor.test.tsx:157 it: handles empty array value | |||||
| packages/editor/tests/PortableTextEditor.test.tsx:204 it: validates a non-initial value | |||||
| packages/editor/tests/PortableTextEditor.test.tsx:272 it: doesn't crash when containing a invalid block somewhere inside the content | |||||
| 80 | packages/editor/tests/backspace-before-container.test.tsx | portable-mixed | PT-H02 | 6 | packages/editor/tests/backspace-before-container.test.tsx:82 describe: Backspace before container |
| packages/editor/tests/backspace-before-container.test.tsx:83 test: Backspace at start of empty text block after callout lands at end of callout content | |||||
| packages/editor/tests/backspace-before-container.test.tsx:135 test: Backspace at start of empty text block after callout with multi-block content lands at end of last block | |||||
| packages/editor/tests/backspace-before-container.test.tsx:192 test: Backspace at start of empty text block after table lands at end of last cell content | |||||
| packages/editor/tests/backspace-before-container.test.tsx:278 test: Backspace at start of empty text block after void block-object focuses the block-object | |||||
| packages/editor/tests/backspace-before-container.test.tsx:318 test: Backspace at start of empty text block after table whose last cell ends in an image focuses the image | |||||
| 81 | packages/editor/tests/behavior-api.test.tsx | portable-mixed | PT-H12 | 27 | packages/editor/tests/behavior-api.test.tsx:21 describe: Behavior API |
| packages/editor/tests/behavior-api.test.tsx:22 test: Scenario: Suppressing raised events while executing | |||||
| packages/editor/tests/behavior-api.test.tsx:57 test: Scenario: Raising one custom event as the result of raising another | |||||
| packages/editor/tests/behavior-api.test.tsx:100 test: Scenario: Sending custom events | |||||
| packages/editor/tests/behavior-api.test.tsx:127 test: Scenario: Raised events default to their default action | |||||
packages/editor/tests/behavior-api.test.tsx:156 test: Scenario: forwarding all events | |||||
packages/editor/tests/behavior-api.test.tsx:182 test: Scenario: forwarding all events combined with an effect | |||||
packages/editor/tests/behavior-api.test.tsx:206 test: Scenario: effect can be combined with forward to not alter the chain of events | |||||
| packages/editor/tests/behavior-api.test.tsx:259 test: Scenario: Empty action sets stop event propagation | |||||
packages/editor/tests/behavior-api.test.tsx:288 test: Scenario: forward forwards an event to succeeding Behaviors | |||||
packages/editor/tests/behavior-api.test.tsx:314 test: Scenario: forwarding twice | |||||
| packages/editor/tests/behavior-api.test.tsx:342 test: Scenario: Empty actions cancel the chain of events | |||||
packages/editor/tests/behavior-api.test.tsx:369 test: Scenario: A lonely forward action does not alter the default action | |||||
packages/editor/tests/behavior-api.test.tsx:389 test: Scenario: forwarding a native event does not cancel it | |||||
| packages/editor/tests/behavior-api.test.tsx:409 test: Scenario: no action set cancels a native event | |||||
packages/editor/tests/behavior-api.test.tsx:429 test: Scenario: no forward action cancels a native event | |||||
packages/editor/tests/behavior-api.test.tsx:473 test: Scenario: effect can be used to send a focus event | |||||
packages/editor/tests/behavior-api.test.tsx:530 test: Scenario: effect can be used to send a blur event | |||||
packages/editor/tests/behavior-api.test.tsx:577 test: Scenario: execute suppresses raise | |||||
packages/editor/tests/behavior-api.test.tsx:618 test: Scenario: forward triggering execute | |||||
packages/editor/tests/behavior-api.test.tsx:663 test: Scenario: Typing on expanded selection causes two insert.text event | |||||
packages/editor/tests/behavior-api.test.tsx:721 describe: forward | |||||
packages/editor/tests/behavior-api.test.tsx:722 test: Scenario: forward of a different event type | |||||
packages/editor/tests/behavior-api.test.tsx:760 test: Scenario: cross-type forward does not trigger user-defined Behaviors | |||||
packages/editor/tests/behavior-api.test.tsx:827 describe: Chained delete and insert.block from a custom event | |||||
| packages/editor/tests/behavior-api.test.tsx:828 test: Scenario: Slash-command pattern inside an editable container lands the new block inside, not after | |||||
| packages/editor/tests/behavior-api.test.tsx:934 test: Scenario: Replacing the entire span text inside an editable container in one batch lands the replacement in the surviving block | |||||
| 82 | packages/editor/tests/behavior.snapshot-leak.test.tsx | portable-mixed | PT-H12 | 3 | packages/editor/tests/behavior.snapshot-leak.test.tsx:13 describe: Snapshot leak surface |
| packages/editor/tests/behavior.snapshot-leak.test.tsx:14 test: Scenario: guard receives a snapshot with the expected keys | |||||
| packages/editor/tests/behavior.snapshot-leak.test.tsx:60 test: Scenario: action receives a snapshot with the expected keys | |||||
| 83 | packages/editor/tests/block-selectors-container.test.tsx | portable-mixed | PT-H02 | 7 | packages/editor/tests/block-selectors-container.test.tsx:39 describe: block selectors (container awareness) |
| packages/editor/tests/block-selectors-container.test.tsx:40 test: getFocusBlock returns the innermost block when focus is inside a container | |||||
| packages/editor/tests/block-selectors-container.test.tsx:119 test: getAnchorBlock and getAnchorTextBlock resolve at depth | |||||
| packages/editor/tests/block-selectors-container.test.tsx:185 test: getNextBlock and getPreviousBlock walk container siblings and stay within scope | |||||
| packages/editor/tests/block-selectors-container.test.tsx:272 test: getNextBlock returns undefined at the last line of a container (does not cross boundary) | |||||
| packages/editor/tests/block-selectors-container.test.tsx:335 test: getFirstBlock and getLastBlock return the first/last block of the enclosing container | |||||
| packages/editor/tests/block-selectors-container.test.tsx:422 test: getFirstBlock and getLastBlock fall back to document scope when focus is at root | |||||
| 84 | packages/editor/tests/child-selectors-container.test.tsx | portable-mixed | PT-H02 | 4 | packages/editor/tests/child-selectors-container.test.tsx:36 describe: child and span selectors (container awareness) |
| packages/editor/tests/child-selectors-container.test.tsx:37 test: getFocusChild, getFocusSpan, and getAnchorChild resolve at depth | |||||
| packages/editor/tests/child-selectors-container.test.tsx:107 test: getFocusInlineObject resolves an inline object inside a container line | |||||
| packages/editor/tests/child-selectors-container.test.tsx:188 test: getNextSpan and getPreviousSpan walk within the focus text block at depth | |||||
| 85 | packages/editor/tests/click-lonely-block-object-container.test.tsx | portable-mixed | PT-H02 | 3 | packages/editor/tests/click-lonely-block-object-container.test.tsx:29 describe: click above/below lonely block object in containers |
| packages/editor/tests/click-lonely-block-object-container.test.tsx:30 test: Scenario: clicking below a lonely block object inside a container inserts a text block after it | |||||
| packages/editor/tests/click-lonely-block-object-container.test.tsx:110 test: Scenario: clicking above a lonely block object inside a container inserts a text block before it | |||||
| 86 | packages/editor/tests/code-block-registration.test.tsx | portable-mixed | PT-H12 | 4 | packages/editor/tests/code-block-registration.test.tsx:140 describe: code-block resolution through normalisation |
packages/editor/tests/code-block-registration.test.tsx:141 test: A: top-level code-block registration activates inside cell.content even though no container declares code-block in its of | |||||
packages/editor/tests/code-block-registration.test.tsx:197 test: B: registering code-block with a field the schema does not have warns at register time and the node renders as a non-editable placeholder | |||||
| packages/editor/tests/code-block-registration.test.tsx:236 test: entry | |||||
| 87 | packages/editor/tests/code-block.navigation.test.tsx | portable-mixed | PT-H12 | 3 | packages/editor/tests/code-block.navigation.test.tsx:34 describe: code block navigation |
| packages/editor/tests/code-block.navigation.test.tsx:35 test: ArrowRight moves the caret forward inside a code block line | |||||
| packages/editor/tests/code-block.navigation.test.tsx:96 test: Backspace deletes one character inside a code block line | |||||
| 88 | packages/editor/tests/code-block.test.tsx | portable-mixed | PT-H12 | 2 | packages/editor/tests/code-block.test.tsx:37 describe: code block |
| packages/editor/tests/code-block.test.tsx:38 test: clicking into a code block and typing a character | |||||
| 89 | packages/editor/tests/collaborative-editing.test.tsx | portable | PT-H08 | 15 | packages/editor/tests/collaborative-editing.test.tsx:38 describe: Collaborative editing |
| packages/editor/tests/collaborative-editing.test.tsx:39 describe: Deferred normalization patches | |||||
| packages/editor/tests/collaborative-editing.test.tsx:40 test: Scenario: Remote patches conflict with local held-back patches | |||||
| packages/editor/tests/collaborative-editing.test.tsx:203 test: Scenario: Value sync discards local held-back patches | |||||
| packages/editor/tests/collaborative-editing.test.tsx:314 test: Scenario: Remote patches on unrelated path do not discard local patches | |||||
| packages/editor/tests/collaborative-editing.test.tsx:441 test: Scenario: Remote patches conflict with local held-back style normalization | |||||
| packages/editor/tests/collaborative-editing.test.tsx:559 test: Scenario: Remote patches conflict with local held-back markDefs normalization | |||||
| packages/editor/tests/collaborative-editing.test.tsx:711 test: Scenario: Remote patches on inline object do not conflict with sibling span normalization | |||||
| packages/editor/tests/collaborative-editing.test.tsx:852 test: Scenario: Remote patch on parent path discards local patch on child path | |||||
| packages/editor/tests/collaborative-editing.test.tsx:962 test: Scenario: Remote patch on child path does not discard local patch on parent path | |||||
| packages/editor/tests/collaborative-editing.test.tsx:1089 test: Scenario: Multiple normalization patches, only conflicting ones discarded | |||||
| packages/editor/tests/collaborative-editing.test.tsx:1219 test: Scenario: Remote patch on block replaces entire block, discards all local patches for that block | |||||
| packages/editor/tests/collaborative-editing.test.tsx:1345 test: Scenario: Remote patches on different blocks do not conflict | |||||
| packages/editor/tests/collaborative-editing.test.tsx:1511 describe: Unknown decorator normalization | |||||
| packages/editor/tests/collaborative-editing.test.tsx:1512 test: Scenario: Setting a block with unknown decorators emits a patch to strip them | |||||
| 90 | packages/editor/tests/composition.test.ts | portable | PT-H09 | 25 | packages/editor/tests/composition.test.ts:68 describe: Japanese IME |
| packages/editor/tests/composition.test.ts:69 test: type "すし" (sushi) into empty editor | |||||
| packages/editor/tests/composition.test.ts:126 test: after existing text | |||||
| packages/editor/tests/composition.test.ts:192 test: cancelled with Escape | |||||
| packages/editor/tests/composition.test.ts:238 test: replacing selected text | |||||
| packages/editor/tests/composition.test.ts:344 describe: Korean IME | |||||
| packages/editor/tests/composition.test.ts:345 test: character-by-character building | |||||
| packages/editor/tests/composition.test.ts:389 test: continuous recomposition "한국" | |||||
| packages/editor/tests/composition.test.ts:459 describe: Composition with formatting | |||||
| packages/editor/tests/composition.test.ts:460 test: at a format boundary | |||||
| packages/editor/tests/composition.test.ts:558 test: before bold text | |||||
| packages/editor/tests/composition.test.ts:662 test: with active decorators on empty block | |||||
| packages/editor/tests/composition.test.ts:727 test: with multiple decorators | |||||
| packages/editor/tests/composition.test.ts:830 test: replacing decorated text | |||||
| packages/editor/tests/composition.test.ts:944 test: at decorator boundary | |||||
| packages/editor/tests/composition.test.ts:1048 describe: Composition with annotations | |||||
| packages/editor/tests/composition.test.ts:1049 test: inside annotation inherits mark | |||||
| packages/editor/tests/composition.test.ts:1155 test: at annotation boundary has no mark | |||||
| packages/editor/tests/composition.test.ts:1259 test: inside annotated bold text inherits both | |||||
| packages/editor/tests/composition.test.ts:1365 test: at start of annotation | |||||
| packages/editor/tests/composition.test.ts:1474 test: replacing text spanning annotation boundary | |||||
| packages/editor/tests/composition.test.ts:1584 test: replacing single-char annotation preserves mark | |||||
| packages/editor/tests/composition.test.ts:1688 describe: Composition sequences | |||||
| packages/editor/tests/composition.test.ts:1689 test: after soft break | |||||
| packages/editor/tests/composition.test.ts:1782 test: multiple sequential compositions | |||||
| 91 | packages/editor/tests/container-dual-type.test.tsx | portable-mixed | PT-H02 | 2 | packages/editor/tests/container-dual-type.test.tsx:89 describe: same _type in two different lexical positions |
| packages/editor/tests/container-dual-type.test.tsx:90 test: shallow table and organism normalize all the way down to a cell holding an empty text block | |||||
| 92 | packages/editor/tests/container-enter-escape.test.tsx | portable-mixed | PT-H02 | 3 | packages/editor/tests/container-enter-escape.test.tsx:28 describe: container Enter escape |
| packages/editor/tests/container-enter-escape.test.tsx:29 test: Scenario: Enter on empty last line with empty previous sibling escapes to editor root | |||||
| packages/editor/tests/container-enter-escape.test.tsx:138 test: Scenario: Enter on empty last line with non-empty previous sibling does NOT escape | |||||
| 93 | packages/editor/tests/container-insert-block.test.tsx | portable-mixed | PT-H02 | 6 | packages/editor/tests/container-insert-block.test.tsx:31 describe: insert.block inside a container |
| packages/editor/tests/container-insert-block.test.tsx:32 test: placement: after — inserts a sibling block AFTER the focused block inside the container | |||||
| packages/editor/tests/container-insert-block.test.tsx:124 test: placement: before — inserts a sibling block BEFORE the focused block inside the container | |||||
| packages/editor/tests/container-insert-block.test.tsx:218 test: placement: auto, collapsed caret at end of block — merges the inserted text block fragment into the existing one | |||||
| packages/editor/tests/container-insert-block.test.tsx:308 test: placement: auto, empty target block — replaces the empty block inside the container | |||||
| packages/editor/tests/container-insert-block.test.tsx:393 test: placement: auto, collapsed caret in middle of text block — splits block and inserts block object between | |||||
| 94 | packages/editor/tests/container-normalization.test.tsx | portable-mixed | PT-H02 | 23 | packages/editor/tests/container-normalization.test.tsx:86 describe: container normalization |
| packages/editor/tests/container-normalization.test.tsx:87 test: top-level registration is inert at a position where schema declares the type without the registered arrayField | |||||
| packages/editor/tests/container-normalization.test.tsx:139 test: container block normalizes to cursor-ready structure | |||||
| packages/editor/tests/container-normalization.test.tsx:273 test: callout container normalizes to cursor-ready structure | |||||
| packages/editor/tests/container-normalization.test.tsx:376 test: text block with missing children normalizes to have empty span | |||||
| packages/editor/tests/container-normalization.test.tsx:413 test: incoming patch unsets container children restores structure | |||||
| packages/editor/tests/container-normalization.test.tsx:573 test: container with text block missing children normalizes the block | |||||
| packages/editor/tests/container-normalization.test.tsx:704 test: duplicate keys in container children are fixed | |||||
| packages/editor/tests/container-normalization.test.tsx:803 test: incoming patch unsets container field and normalization restores it | |||||
| packages/editor/tests/container-normalization.test.tsx:891 test: multiple containers in same document normalize independently | |||||
| packages/editor/tests/container-normalization.test.tsx:976 test: container inserted via incoming patch normalizes | |||||
| packages/editor/tests/container-normalization.test.tsx:1042 test: void container with empty child array is not normalized | |||||
| packages/editor/tests/container-normalization.test.tsx:1087 test: deeply nested container block with missing children is normalized | |||||
| packages/editor/tests/container-normalization.test.tsx:1180 test: removing last child from container triggers normalization | |||||
| packages/editor/tests/container-normalization.test.tsx:1266 test: late container registration normalizes existing void container | |||||
packages/editor/tests/container-normalization.test.tsx:1343 test: container block with no _key gets a key via numeric index | |||||
| packages/editor/tests/container-normalization.test.tsx:1437 test: non-block editable field produces warning and is excluded | |||||
| packages/editor/tests/container-normalization.test.tsx:1522 test: three independent containers normalize without interference | |||||
| packages/editor/tests/container-normalization.test.tsx:1715 test: full hierarchy normalizes all levels | |||||
| packages/editor/tests/container-normalization.test.tsx:1813 test: shallow table normalizes to full cursor-ready structure | |||||
| packages/editor/tests/container-normalization.test.tsx:1907 test: unregistering container reverts container to void | |||||
| packages/editor/tests/container-normalization.test.tsx:2001 test: calling the unregister function returned from editor.registerNode reverts container to void | |||||
| packages/editor/tests/container-normalization.test.tsx:2090 test: unmounting ContainerPlugin reverts container to void | |||||
| 95 | packages/editor/tests/container-permutations.test.tsx | portable-mixed | PT-H02 | 8 | packages/editor/tests/container-permutations.test.tsx:200 describe: container archetype permutations |
| packages/editor/tests/container-permutations.test.tsx:205 test: code-block: toggle annotation across root + code-block only annotates root | |||||
| packages/editor/tests/container-permutations.test.tsx:283 test: fact-box: toggle bold across root + fact-box bolds both | |||||
| packages/editor/tests/container-permutations.test.tsx:348 test: fact-box: toggle numbered list across root + fact-box applies to both | |||||
| packages/editor/tests/container-permutations.test.tsx:421 test: callout: toggle bullet across root + callout applies to both | |||||
| packages/editor/tests/container-permutations.test.tsx:490 test: callout: toggle number across root + callout only applies at root (callout out of scope for number) | |||||
| packages/editor/tests/container-permutations.test.tsx:559 test: table.cell + nested callout: toggle strong across root + cell + nested callout bolds all three | |||||
| packages/editor/tests/container-permutations.test.tsx:680 test: table.cell + nested callout: toggle em applies to root + cell, NOT to nested callout (callout-in-cell narrows em out) | |||||
| 96 | packages/editor/tests/container-render-focused-selected.test.tsx | portable-mixed | PT-H02 | 5 | packages/editor/tests/container-render-focused-selected.test.tsx:57 describe: container render focused, selected, and path |
| packages/editor/tests/container-render-focused-selected.test.tsx:58 test: Only the innermost container is focused; ancestors are selected | |||||
| packages/editor/tests/container-render-focused-selected.test.tsx:141 test: A container is neither focused nor selected when the caret is in a different block | |||||
| packages/editor/tests/container-render-focused-selected.test.tsx:200 test: selected cascades up nested containers; focused stays on the innermost | |||||
| packages/editor/tests/container-render-focused-selected.test.tsx:308 test: An expanded selection across cells marks both as selected and none as focused | |||||
| 97 | packages/editor/tests/container-rendering.test.tsx | portable-mixed | PT-H02 | 20 | packages/editor/tests/container-rendering.test.tsx:44 describe: container rendering |
| packages/editor/tests/container-rendering.test.tsx:45 test: callout renders with correct DOM structure | |||||
| packages/editor/tests/container-rendering.test.tsx:137 test: node prop receives the raw node data | |||||
| packages/editor/tests/container-rendering.test.tsx:202 describe: table with nested rows and cells | |||||
| packages/editor/tests/container-rendering.test.tsx:272 test: renders three levels of nesting with correct DOM structure | |||||
| packages/editor/tests/container-rendering.test.tsx:357 describe: container with non-editable fields | |||||
| packages/editor/tests/container-rendering.test.tsx:388 test: only editable fields render in the DOM | |||||
| packages/editor/tests/container-rendering.test.tsx:448 describe: positional block-leaf override | |||||
| packages/editor/tests/container-rendering.test.tsx:449 test: block-leaf override in callout.of applies to text blocks inside the callout | |||||
| packages/editor/tests/container-rendering.test.tsx:551 describe: container and renderer independence | |||||
| packages/editor/tests/container-rendering.test.tsx:552 test: container without renderer falls back to default div | |||||
| packages/editor/tests/container-rendering.test.tsx:625 test: renderer without container renders as void block object | |||||
| packages/editor/tests/container-rendering.test.tsx:679 describe: code block container | |||||
| packages/editor/tests/container-rendering.test.tsx:705 test: code block renders with correct DOM structure | |||||
| packages/editor/tests/container-rendering.test.tsx:788 describe: gallery with void block objects | |||||
| packages/editor/tests/container-rendering.test.tsx:818 test: gallery renders void block objects with correct DOM structure | |||||
| packages/editor/tests/container-rendering.test.tsx:895 describe: cell with mixed content | |||||
| packages/editor/tests/container-rendering.test.tsx:969 test: cell renders both text blocks and void block objects | |||||
| packages/editor/tests/container-rendering.test.tsx:1103 describe: self-referential containers | |||||
| packages/editor/tests/container-rendering.test.tsx:1151 test: list nested 3 levels deep renders all levels as containers | |||||
| 98 | packages/editor/tests/container-resolution-rules.test.tsx | portable-mixed | PT-H02 | 8 | packages/editor/tests/container-resolution-rules.test.tsx:114 describe: Rule 1: registration is type-keyed, activation is position-gated |
| packages/editor/tests/container-resolution-rules.test.tsx:115 test: top-level registration of an inline-only type activates where the schema declares it | |||||
| packages/editor/tests/container-resolution-rules.test.tsx:183 describe: Registration silent-skip behavior | |||||
| packages/editor/tests/container-resolution-rules.test.tsx:184 test: top-level registration of an unknown type silently skips, other registrations unaffected | |||||
| packages/editor/tests/container-resolution-rules.test.tsx:252 test: nested registration of an unknown type silently skips, chain-aware warn, parent still registers | |||||
| packages/editor/tests/container-resolution-rules.test.tsx:324 test: registration with a arrayField that does not exist on the schema type silently skips | |||||
| packages/editor/tests/container-resolution-rules.test.tsx:390 describe: Rule 2: container chains are rooted in the editor value array | |||||
| packages/editor/tests/container-resolution-rules.test.tsx:391 test: registered type does not activate inside an unregistered object-node ancestor | |||||
| 99 | packages/editor/tests/container-typing.test.tsx | portable-mixed | PT-H02 | 2 | packages/editor/tests/container-typing.test.tsx:34 describe: typing inside containers |
| packages/editor/tests/container-typing.test.tsx:35 test: multi-character keyboard input inside a container | |||||
| 100 | packages/editor/tests/cross-container-range-delete.test.tsx | portable-mixed | PT-H02 | 25 | packages/editor/tests/cross-container-range-delete.test.tsx:92 describe: cross-container range delete |
| packages/editor/tests/cross-container-range-delete.test.tsx:93 test: root text block -> code-block line | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:161 test: code-block line -> root text block below | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:229 test: across three root siblings with a container in the middle merges outer text blocks (same parent) | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:300 test: across two sibling containers (callout - code-block) | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:381 test: within same container across two lines still merges (same-parent path unchanged) | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:465 test: range selection covering a root void block merges outer text blocks (same parent) | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:520 test: Backspace at start of an empty container line below a text block unwraps the line | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:594 test: start inside multi-line callout removes trailing lines, leaves callout shell with leading content | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:684 test: end inside multi-line callout removes leading lines, leaves callout shell with trailing content | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:774 test: cross-parent selection removes fully-covered root sibling between containers | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:866 test: hanging range across a callout removes the callout entirely | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:1018 describe: cross-container range delete: deep structures | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:1019 test: start mid-line in callout-in-cell-in-table, end in root text below table | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:1183 test: start in root text, end mid-line in callout-in-cell-in-table | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:1347 test: selection across cells in same row preserves intermediate cell shells with cleared content | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:1492 test: selection across rows in same table preserves intermediate row shells with cells cleared | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:1678 test: Selecting an entire empty table and pressing Delete unsets the table | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:1858 test: Selecting only the first two of three empty cells in a row is a no-op | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:1988 test: Selecting from the first cell to a middle cell of a 2x3 table preserves the trailing cells | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:2186 test: selecting all the text in an editable container preserves the shell | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:2240 test: inserting a block after fully clearing the text inside a callout lands the block inside | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:2363 test: Cmd-A + Delete across two code-blocks removes both | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:2439 test: Cmd-A + Delete via keyboard across code-block, callout and table removes all | |||||
| packages/editor/tests/cross-container-range-delete.test.tsx:2553 test: positional-only nested containers: clears cell text in selection range | |||||
| 101 | packages/editor/tests/data-path.test.tsx | portable | PT-H11 | 12 | packages/editor/tests/data-path.test.tsx:6 describe: data-pt-path attribute |
| packages/editor/tests/data-path.test.tsx:7 describe: initial rendering | |||||
| packages/editor/tests/data-path.test.tsx:8 test: editor data-pt-path | |||||
| packages/editor/tests/data-path.test.tsx:16 test: text block data-pt-path | |||||
| packages/editor/tests/data-path.test.tsx:41 test: span data-pt-path | |||||
| packages/editor/tests/data-path.test.tsx:68 test: block object data-pt-path | |||||
| packages/editor/tests/data-path.test.tsx:101 test: inline object data-pt-path | |||||
| packages/editor/tests/data-path.test.tsx:137 test: multiple text blocks | |||||
packages/editor/tests/data-path.test.tsx:186 test: block.set text block key | |||||
packages/editor/tests/data-path.test.tsx:229 test: block.set block object key | |||||
| packages/editor/tests/data-path.test.tsx:279 test: remote patch updates text block key | |||||
| packages/editor/tests/data-path.test.tsx:326 test: remote patch updates block object key | |||||
| 102 | packages/editor/tests/define-container-leaf-conflict.test.tsx | portable-mixed | PT-H02 | 6 | packages/editor/tests/define-container-leaf-conflict.test.tsx:41 describe: defineContainer / defineBlockObject conflict resolution |
| packages/editor/tests/define-container-leaf-conflict.test.tsx:42 test: Same scope registered twice as container (different field) keeps the first registration | |||||
| packages/editor/tests/define-container-leaf-conflict.test.tsx:82 test: Same scope registered twice as container (same field) warns and keeps the first | |||||
| packages/editor/tests/define-container-leaf-conflict.test.tsx:118 test: Same scope registered twice as leaf warns and keeps the first | |||||
| packages/editor/tests/define-container-leaf-conflict.test.tsx:154 test: Scope registered as container then leaf warns and rejects the leaf | |||||
| packages/editor/tests/define-container-leaf-conflict.test.tsx:192 test: Scope registered as leaf then container warns and rejects the container | |||||
| 103 | packages/editor/tests/define-leaf-block-object-wrapper.test.tsx | portable | PT-H03 | 3 | packages/editor/tests/define-leaf-block-object-wrapper.test.tsx:13 describe: defineBlockObject void block-object wrapper contract |
| packages/editor/tests/define-leaf-block-object-wrapper.test.tsx:14 test: consumer wrapping content with contentEditable=false + draggable on the inner wrapper preserves the spacer in editable context | |||||
| packages/editor/tests/define-leaf-block-object-wrapper.test.tsx:59 test: Pressing Enter on a void block-object inserts a sibling text block when the leaf wraps content with contentEditable=false | |||||
| 104 | packages/editor/tests/define-leaf-inline-object-spacer.test.tsx | portable | PT-H03 | 3 | packages/editor/tests/define-leaf-inline-object-spacer.test.tsx:19 describe: defineLeaf void spacer |
| packages/editor/tests/define-leaf-inline-object-spacer.test.tsx:20 test: the engine-emitted void spacer reaches the consumer through children for inline objects | |||||
| packages/editor/tests/define-leaf-inline-object-spacer.test.tsx:64 test: the engine-emitted void spacer reaches the consumer through children for void block objects | |||||
| 105 | packages/editor/tests/define-textblock.test.tsx | portable-mixed | PT-H12 | 3 | packages/editor/tests/define-textblock.test.tsx:22 test: TextBlockPlugin renders custom wrapper |
| packages/editor/tests/define-textblock.test.tsx:66 test: Without TextBlockPlugin, engine default renders | |||||
| packages/editor/tests/define-textblock.test.tsx:97 test: Cross-map collision: text-block then container for same type warns and skips | |||||
| 106 | packages/editor/tests/delete-empty-container.test.tsx | portable-mixed | PT-H02 | 13 | packages/editor/tests/delete-empty-container.test.tsx:31 describe: delete on empty container |
| packages/editor/tests/delete-empty-container.test.tsx:32 test: Backspace in empty callout with text block before unwraps to root | |||||
| packages/editor/tests/delete-empty-container.test.tsx:93 test: Backspace in empty callout with text block after unwraps to root | |||||
| packages/editor/tests/delete-empty-container.test.tsx:154 test: Backspace in empty callout that is the only block leaves a placeholder text block | |||||
| packages/editor/tests/delete-empty-container.test.tsx:210 test: Delete in empty callout with text block after unwraps to root | |||||
| packages/editor/tests/delete-empty-container.test.tsx:444 describe: delete on empty container - nested cascade | |||||
| packages/editor/tests/delete-empty-container.test.tsx:445 test: Backspace in empty callout in permissive cell unwraps only the callout | |||||
| packages/editor/tests/delete-empty-container.test.tsx:535 test: Backspace in empty callout in lonely structural cell cascades all the way to root | |||||
| packages/editor/tests/delete-empty-container.test.tsx:597 test: Backspace in empty callout in lonely structural cell with text block before lands payload after that text block | |||||
| packages/editor/tests/delete-empty-container.test.tsx:662 test: Backspace in empty callout in structural cell with sibling cells is a no-op | |||||
| packages/editor/tests/delete-empty-container.test.tsx:760 describe: delete on empty container - nested block container | |||||
| packages/editor/tests/delete-empty-container.test.tsx:802 test: Backspace inside empty fact-box with nested block container unwraps the fact-box | |||||
| packages/editor/tests/delete-empty-container.test.tsx:860 test: Backspace at the start of a non-first text block inside fact-box merges with the previous block | |||||
| 107 | packages/editor/tests/dom-structure.test.tsx | portable-mixed | PT-H02 | 9 | packages/editor/tests/dom-structure.test.tsx:17 describe: DOM structure |
| packages/editor/tests/dom-structure.test.tsx:18 test: 1. empty placeholder block | |||||
| packages/editor/tests/dom-structure.test.tsx:67 test: 2. root text block with spans and inline objects | |||||
| packages/editor/tests/dom-structure.test.tsx:162 test: 3. root void block object (image) | |||||
| packages/editor/tests/dom-structure.test.tsx:240 test: 4. gallery container with void leaf children | |||||
| packages/editor/tests/dom-structure.test.tsx:321 test: 5. deep nesting: table > row > cell > text block > inline | |||||
| packages/editor/tests/dom-structure.test.tsx:480 test: 6. code block container with text blocks | |||||
packages/editor/tests/dom-structure.test.tsx:564 test: 7. container DOM does not contain any data-slate-* attributes | |||||
packages/editor/tests/dom-structure.test.tsx:646 test: 8. text block rendered via defineTextBlock inside a container emits data-pt-block="text", not data-slate-node="element" | |||||
| 108 | packages/editor/tests/edge-selectors-container.test.tsx | portable-mixed | PT-H02 | 4 | packages/editor/tests/edge-selectors-container.test.tsx:32 describe: edge selectors (container awareness) |
| packages/editor/tests/edge-selectors-container.test.tsx:33 test: comparePoints resolves document order across container lines | |||||
| packages/editor/tests/edge-selectors-container.test.tsx:111 test: isPointBeforeSelection and isPointAfterSelection work across container lines | |||||
| packages/editor/tests/edge-selectors-container.test.tsx:208 test: isOverlappingSelection detects overlap inside a container | |||||
| 109 | packages/editor/tests/editable-api.test.tsx | portable-mixed | PT-H12 | 9 | packages/editor/tests/editable-api.test.tsx:9 describe: focusBlock |
| packages/editor/tests/editable-api.test.tsx:10 test: Returns the text block at the focus point | |||||
| packages/editor/tests/editable-api.test.tsx:39 test: Returns the block object at the focus point | |||||
| packages/editor/tests/editable-api.test.tsx:77 test: Returns undefined when no selection | |||||
| packages/editor/tests/editable-api.test.tsx:99 describe: focusChild | |||||
| packages/editor/tests/editable-api.test.tsx:100 test: Returns the span at the focus point | |||||
| packages/editor/tests/editable-api.test.tsx:128 test: Returns the inline object at the focus point | |||||
| packages/editor/tests/editable-api.test.tsx:166 test: Returns undefined for block objects | |||||
| packages/editor/tests/editable-api.test.tsx:201 test: Returns undefined when no selection | |||||
| 110 | packages/editor/tests/editor-snapshot.test.tsx | portable-mixed | PT-H12 | 4 | packages/editor/tests/editor-snapshot.test.tsx:9 describe: EditorSnapshot |
| packages/editor/tests/editor-snapshot.test.tsx:10 test: Scenario: A new snapshot is captured for each action set | |||||
| packages/editor/tests/editor-snapshot.test.tsx:99 test: Scenario: Snapshot field references are stable between calls when state is unchanged | |||||
| packages/editor/tests/editor-snapshot.test.tsx:136 test: Scenario: Snapshot selection reference changes after a selection change | |||||
| 111 | packages/editor/tests/event.block.set.test.tsx | portable-mixed | PT-H12 | 12 | packages/editor/tests/event.block.set.test.tsx:11 describe: event.block.set |
| packages/editor/tests/event.block.set.test.tsx:12 test: Scenario: setting undefined block object property is a noop | |||||
| packages/editor/tests/event.block.set.test.tsx:102 test: Scenario: setting defined block object property | |||||
| packages/editor/tests/event.block.set.test.tsx:203 test: Scenario: updating block object _key | |||||
| packages/editor/tests/event.block.set.test.tsx:293 test: Scenario: updating text block _key | |||||
| packages/editor/tests/event.block.set.test.tsx:351 test: Scenario: updating block object _type is a noop | |||||
| packages/editor/tests/event.block.set.test.tsx:427 test: Scenario: adding text block property | |||||
packages/editor/tests/event.block.set.test.tsx:556 test: Scenario: Undoing set of text block property | |||||
| packages/editor/tests/event.block.set.test.tsx:642 test: Scenario: Text blocks don't accept undefined custom props | |||||
| packages/editor/tests/event.block.set.test.tsx:695 test: Scenario: Text blocks accept defined custom props | |||||
| packages/editor/tests/event.block.set.test.tsx:756 test: Scenario: Setting an annotation by raising | |||||
| packages/editor/tests/event.block.set.test.tsx:864 test: Scenario: Setting an annotation by executing | |||||
| 112 | packages/editor/tests/event.block.unset.test.tsx | portable-mixed | PT-H12 | 10 | packages/editor/tests/event.block.unset.test.tsx:8 describe: event.block.unset |
packages/editor/tests/event.block.unset.test.tsx:9 test: Scenario: unseting block object property removes it | |||||
packages/editor/tests/event.block.unset.test.tsx:98 test: Scenario: unseting block object _key sets a new _key | |||||
packages/editor/tests/event.block.unset.test.tsx:188 test: Scenario: unseting block object _type is a noop | |||||
packages/editor/tests/event.block.unset.test.tsx:276 test: Scenario: unseting text block markDefs removes the annotation | |||||
packages/editor/tests/event.block.unset.test.tsx:344 test: Scenario: unseting text block style sets the default style | |||||
packages/editor/tests/event.block.unset.test.tsx:450 test: Scenario: unseting text block listItem and level removes them | |||||
packages/editor/tests/event.block.unset.test.tsx:510 test: Scenario: unseting text block _key sets a new _key | |||||
packages/editor/tests/event.block.unset.test.tsx:551 test: Scenario: unseting text block _type is a noop | |||||
packages/editor/tests/event.block.unset.test.tsx:632 test: Scenario: unseting text block children removes them and normalization restores | |||||
| 113 | packages/editor/tests/event.child.set.test.tsx | portable-mixed | PT-H12 | 6 | packages/editor/tests/event.child.set.test.tsx:8 describe: event.child.set |
| packages/editor/tests/event.child.set.test.tsx:9 test: Scenario: Setting properties on inline object | |||||
| packages/editor/tests/event.child.set.test.tsx:95 test: Scenario: Patches when setting properties on inline object | |||||
| packages/editor/tests/event.child.set.test.tsx:205 test: Scenario: Setting _key on inline object | |||||
| packages/editor/tests/event.child.set.test.tsx:308 test: Scenario: Setting properties on span | |||||
| packages/editor/tests/event.child.set.test.tsx:373 test: Scenario: Setting "text" field on inline object | |||||
| 114 | packages/editor/tests/event.child.unset.test.tsx | portable-mixed | PT-H12 | 7 | packages/editor/tests/event.child.unset.test.tsx:10 describe: event.child.unset |
| packages/editor/tests/event.child.unset.test.tsx:11 test: Scenario: Unsetting span marks | |||||
| packages/editor/tests/event.child.unset.test.tsx:80 test: Scenario: Unsetting span _key | |||||
| packages/editor/tests/event.child.unset.test.tsx:138 test: Scenario: Unsetting span _type | |||||
| packages/editor/tests/event.child.unset.test.tsx:199 test: Scenario: Unsetting span text | |||||
| packages/editor/tests/event.child.unset.test.tsx:269 test: Scenario: Unsetting reserved properties on span | |||||
| packages/editor/tests/event.child.unset.test.tsx:440 test: Scenario: Unsetting properties on inline object | |||||
| 115 | packages/editor/tests/event.delete.backward.test.tsx | portable | PT-H05 | 14 | packages/editor/tests/event.delete.backward.test.tsx:26 describe: event.delete.backward |
| packages/editor/tests/event.delete.backward.test.tsx:27 test: Scenario: Deleting lonely block object | |||||
| packages/editor/tests/event.delete.backward.test.tsx:117 test: Scenario: Executing delete.backward | |||||
| packages/editor/tests/event.delete.backward.test.tsx:140 test: Scenario: Merging two text blocks | |||||
| packages/editor/tests/event.delete.backward.test.tsx:245 describe: Scenario: Deleting word | |||||
| packages/editor/tests/event.delete.backward.test.tsx:257 describe: with selection | |||||
| packages/editor/tests/event.delete.backward.test.tsx:258 test: collapsed selection | |||||
| packages/editor/tests/event.delete.backward.test.tsx:292 test: expanded selection | |||||
| packages/editor/tests/event.delete.backward.test.tsx:324 describe: without selection | |||||
| packages/editor/tests/event.delete.backward.test.tsx:325 test: collapsed selection | |||||
| packages/editor/tests/event.delete.backward.test.tsx:353 test: expanded selection | |||||
| packages/editor/tests/event.delete.backward.test.tsx:383 describe: Scenario: Deleting line | |||||
| packages/editor/tests/event.delete.backward.test.tsx:384 test: with selection | |||||
| packages/editor/tests/event.delete.backward.test.tsx:422 test: without selection | |||||
| 116 | packages/editor/tests/event.delete.block.test.tsx | portable | PT-H05 | 3 | packages/editor/tests/event.delete.block.test.tsx:15 describe: event.delete.block |
| packages/editor/tests/event.delete.block.test.tsx:16 test: Scenario: Deleting lonely block object | |||||
| packages/editor/tests/event.delete.block.test.tsx:108 test: Scenario: Deleting lonely text block creates a placeholder block | |||||
| 117 | packages/editor/tests/event.delete.forward.test.tsx | portable | PT-H05 | 3 | packages/editor/tests/event.delete.forward.test.tsx:21 describe: event.delete.forward |
| packages/editor/tests/event.delete.forward.test.tsx:22 test: Scenario: Deleting lonely block object | |||||
| packages/editor/tests/event.delete.forward.test.tsx:112 test: Scenario: Merging two text blocks | |||||
| 118 | packages/editor/tests/event.delete.matrix.test.tsx | portable | PT-H05 | 15 | packages/editor/tests/event.delete.matrix.test.tsx:22 describe: event.delete | unified primitives matrix |
| packages/editor/tests/event.delete.matrix.test.tsx:23 test: collapsed selection with default unit deletes one character forward | |||||
| packages/editor/tests/event.delete.matrix.test.tsx:41 test: collapsed selection with backward direction deletes one character backward | |||||
| packages/editor/tests/event.delete.matrix.test.tsx:59 test: collapsed selection with unit:word deletes the word backward | |||||
| packages/editor/tests/event.delete.matrix.test.tsx:77 test: collapsed selection with unit:block unsets the block | |||||
| packages/editor/tests/event.delete.matrix.test.tsx:102 test: collapsed selection on a void block unsets the void | |||||
| packages/editor/tests/event.delete.matrix.test.tsx:121 test: expanded range within a single span trims the text | |||||
| packages/editor/tests/event.delete.matrix.test.tsx:143 test: expanded range across two same-block spans with different marks keeps boundaries | |||||
| packages/editor/tests/event.delete.matrix.test.tsx:169 test: expanded range across two text blocks merges the blocks | |||||
| packages/editor/tests/event.delete.matrix.test.tsx:196 test: expanded range from offset 0 of start block preserves the end block key | |||||
| packages/editor/tests/event.delete.matrix.test.tsx:233 test: expanded range with a void at the start unsets the void and trims the end | |||||
| packages/editor/tests/event.delete.matrix.test.tsx:256 test: expanded range with a void at the end trims the start and unsets the void | |||||
| packages/editor/tests/event.delete.matrix.test.tsx:278 test: expanded range from one void to another removes the entire region between | |||||
| packages/editor/tests/event.delete.matrix.test.tsx:301 test: expanded range across more than two blocks removes the middle blocks | |||||
| packages/editor/tests/event.delete.matrix.test.tsx:333 test: inline object inside a span range is removed | |||||
| 119 | packages/editor/tests/event.delete.test.tsx | portable | PT-H05 | 26 | packages/editor/tests/event.delete.test.tsx:19 describe: event.delete |
| packages/editor/tests/event.delete.test.tsx:20 test: Scenario: Deleting collapsed selection | |||||
| packages/editor/tests/event.delete.test.tsx:104 test: Scenario: Deleting entire editor | |||||
| packages/editor/tests/event.delete.test.tsx:163 test: Scenario: Deleting selection hanging around a block object | |||||
| packages/editor/tests/event.delete.test.tsx:213 test: Scenario: Deleting selection hanging around a block object #2 | |||||
| packages/editor/tests/event.delete.test.tsx:264 test: Scenario: Deleting selection hanging around a block object #3 | |||||
| packages/editor/tests/event.delete.test.tsx:314 describe: Scenario: Deleting backwards selection starting on a block object | |||||
| packages/editor/tests/event.delete.test.tsx:349 describe: with trailing text block | |||||
| packages/editor/tests/event.delete.test.tsx:350 test: without selection | |||||
| packages/editor/tests/event.delete.test.tsx:383 test: with selection | |||||
| packages/editor/tests/event.delete.test.tsx:433 test: without trailing text block | |||||
| packages/editor/tests/event.delete.test.tsx:463 test: Scenario: Deleting block offset | |||||
| packages/editor/tests/event.delete.test.tsx:539 test: Scenario: Deleting multiple blocks | |||||
| packages/editor/tests/event.delete.test.tsx:591 test: Scenario: Deleting without selection | |||||
| packages/editor/tests/event.delete.test.tsx:622 test: Scenario: Deleting before selection | |||||
| packages/editor/tests/event.delete.test.tsx:670 test: Scenario: Deleting after selection | |||||
| packages/editor/tests/event.delete.test.tsx:718 describe: unit: child | |||||
| packages/editor/tests/event.delete.test.tsx:719 describe: Scenario: deleting text block children | |||||
| packages/editor/tests/event.delete.test.tsx:739 test: end-to-end selection | |||||
| packages/editor/tests/event.delete.test.tsx:768 test: mid-span to mid-span selection | |||||
| packages/editor/tests/event.delete.test.tsx:797 test: partial span selection | |||||
| packages/editor/tests/event.delete.test.tsx:828 test: inline object selection | |||||
| packages/editor/tests/event.delete.test.tsx:858 test: Scenario: Deleting block object | |||||
| packages/editor/tests/event.delete.test.tsx:888 test: Scenario: Deleting across block object | |||||
| packages/editor/tests/event.delete.test.tsx:941 test: Scenario: Delete backward uses at location instead of selection | |||||
| packages/editor/tests/event.delete.test.tsx:983 test: Scenario: Deleting lonely block object | |||||
| 120 | packages/editor/tests/event.drag.drop.self-drop.test.tsx | portable-mixed | PT-H07 | 6 | packages/editor/tests/event.drag.drop.self-drop.test.tsx:8 describe: event.drag.drop self-drop semantics |
| packages/editor/tests/event.drag.drop.self-drop.test.tsx:9 test: Scenario: collapsed drop inside expanded drag origin is suppressed | |||||
| packages/editor/tests/event.drag.drop.self-drop.test.tsx:84 test: Scenario: collapsed drop at start edge of expanded drag origin is suppressed | |||||
| packages/editor/tests/event.drag.drop.self-drop.test.tsx:156 test: Scenario: collapsed drop at end edge of expanded drag origin is suppressed | |||||
| packages/editor/tests/event.drag.drop.self-drop.test.tsx:228 test: Scenario: drop onto block-object inside drag origin is suppressed | |||||
| packages/editor/tests/event.drag.drop.self-drop.test.tsx:315 test: Scenario: drop after the drag origin end is allowed | |||||
| 121 | packages/editor/tests/event.drag.drop.test.tsx | portable-mixed | PT-H07 | 5 | packages/editor/tests/event.drag.drop.test.tsx:10 describe: event.drag.drop |
| packages/editor/tests/event.drag.drop.test.tsx:11 test: Scenario: Dragging inline object | |||||
| packages/editor/tests/event.drag.drop.test.tsx:131 test: Scenario: Dragging block object | |||||
| packages/editor/tests/event.drag.drop.test.tsx:238 test: Scenario: Dragging a block-object between cells of a multi-row table moves it (does not duplicate) | |||||
| packages/editor/tests/event.drag.drop.test.tsx:532 test: Scenario: Dragging a multi-block selection (text + image + text) inside a cell drags the whole selection | |||||
| 122 | packages/editor/tests/event.focus.test.tsx | portable | PT-H01 | 3 | packages/editor/tests/event.focus.test.tsx:10 describe: event.focus |
| packages/editor/tests/event.focus.test.tsx:11 test: Scenario: Immediate focus after decorator toggle | |||||
| packages/editor/tests/event.focus.test.tsx:66 test: Scenario: Delayed focus after decorator toggle | |||||
| 123 | packages/editor/tests/event.history.redo.test.tsx | portable-mixed | PT-H12 | 3 | packages/editor/tests/event.history.redo.test.tsx:8 describe: event.history.redo |
| packages/editor/tests/event.history.redo.test.tsx:9 test: Scenario: Redo after remote patches | |||||
| packages/editor/tests/event.history.redo.test.tsx:65 test: Scenario: Simple redo without remote patches | |||||
| 124 | packages/editor/tests/event.history.undo.test.tsx | portable-mixed | PT-H12 | 22 | packages/editor/tests/event.history.undo.test.tsx:18 describe: event.history.undo |
| packages/editor/tests/event.history.undo.test.tsx:19 test: Scenario: Undoing action sets | |||||
| packages/editor/tests/event.history.undo.test.tsx:71 test: Scenario: Undoing one-action action sets | |||||
packages/editor/tests/event.history.undo.test.tsx:102 test: Scenario: Undoing insert.text after delete | |||||
| packages/editor/tests/event.history.undo.test.tsx:168 test: Scenario: Undoing raised action sets | |||||
| packages/editor/tests/event.history.undo.test.tsx:210 test: Scenario: Undoing recursive raises | |||||
packages/editor/tests/event.history.undo.test.tsx:251 test: Scenario: A lonely forward action does not squash the recursive undo stack | |||||
| packages/editor/tests/event.history.undo.test.tsx:289 describe: Scenario Outline: Custom events | |||||
| packages/editor/tests/event.history.undo.test.tsx:290 test: Scenario: execute | |||||
| packages/editor/tests/event.history.undo.test.tsx:335 test: Scenario: forward | |||||
| packages/editor/tests/event.history.undo.test.tsx:380 test: Scenario: raise | |||||
packages/editor/tests/event.history.undo.test.tsx:426 test: Scenario: forward in one step, raise in another | |||||
packages/editor/tests/event.history.undo.test.tsx:460 test: Scenario: forward twice in same step | |||||
packages/editor/tests/event.history.undo.test.tsx:488 test: Scenario: forward twice in separate steps | |||||
packages/editor/tests/event.history.undo.test.tsx:519 test: Scenario: two forwards in separate steps does not squash the undo stack | |||||
| packages/editor/tests/event.history.undo.test.tsx:578 test: Scenario: Undo after moving cursor after ended Behavior | |||||
packages/editor/tests/event.history.undo.test.tsx:620 test: Scenario: Forwarding insert.text preserves undo batching | |||||
packages/editor/tests/event.history.undo.test.tsx:656 test: Scenario: Forwarding insert.text with side effect preserves undo batching | |||||
packages/editor/tests/event.history.undo.test.tsx:702 test: Scenario: Forwarding insert.text with raise preserves undo batching | |||||
packages/editor/tests/event.history.undo.test.tsx:754 test: Scenario: Undo after sending select after ended Behavior | |||||
| packages/editor/tests/event.history.undo.test.tsx:815 test: Scenario: Undoing decorator add across a range | |||||
| packages/editor/tests/event.history.undo.test.tsx:874 test: Scenario: Undoing annotation add across a range | |||||
| 125 | packages/editor/tests/event.input.test.tsx | portable-mixed | PT-H12 | 6 | packages/editor/tests/event.input.test.tsx:11 describe: event.input.* |
| packages/editor/tests/event.input.test.tsx:12 test: Scenario: text/html equal to text/plain | |||||
| packages/editor/tests/event.input.test.tsx:86 test: Scenario: only text/plain | |||||
| packages/editor/tests/event.input.test.tsx:153 test: Scenario: multi-line text/plain falls through to deserialize | |||||
| packages/editor/tests/event.input.test.tsx:231 test: Scenario: text/plain with soft break | |||||
| packages/editor/tests/event.input.test.tsx:295 test: Scenario: multi-line text/html equal to text/plain falls through to deserialize | |||||
| 126 | packages/editor/tests/event.insert.block.test.tsx | portable | PT-H04 | 38 | packages/editor/tests/event.insert.block.test.tsx:16 describe: event.insert.block |
| packages/editor/tests/event.insert.block.test.tsx:17 test: Scenario: Inserting block with custom _key | |||||
| packages/editor/tests/event.insert.block.test.tsx:72 test: Scenario: Inserting two blocks with same custom _key | |||||
| packages/editor/tests/event.insert.block.test.tsx:156 test: Scenario: Stripping unknown text block props | |||||
| packages/editor/tests/event.insert.block.test.tsx:216 test: Scenario: Stripping unknown span props | |||||
| packages/editor/tests/event.insert.block.test.tsx:271 test: Scenario: Inserting block in an empty editor | |||||
| packages/editor/tests/event.insert.block.test.tsx:415 test: Scenario: Inserting block with lonely inline object | |||||
| packages/editor/tests/event.insert.block.test.tsx:509 test: Scenario: Inserting block with two inline objects | |||||
| packages/editor/tests/event.insert.block.test.tsx:608 test: Scenario: Inserting text block into empty heading replaces it | |||||
| packages/editor/tests/event.insert.block.test.tsx:648 test: Scenario: Inserting text block into empty blockquote replaces it | |||||
| packages/editor/tests/event.insert.block.test.tsx:694 describe: empty list item replacement | |||||
packages/editor/tests/event.insert.block.test.tsx:695 test: without selection, without at - list properties NOT inherited | |||||
packages/editor/tests/event.insert.block.test.tsx:743 test: with selection, without at - list properties inherited | |||||
packages/editor/tests/event.insert.block.test.tsx:801 test: without selection, with at - list properties inherited | |||||
packages/editor/tests/event.insert.block.test.tsx:856 test: with selection, with at - at takes precedence | |||||
| packages/editor/tests/event.insert.block.test.tsx:941 test: Scenario: Inserting block after block object using at prop | |||||
| packages/editor/tests/event.insert.block.test.tsx:1005 test: Scenario: Inserting block object in middle of text block with select=start | |||||
| packages/editor/tests/event.insert.block.test.tsx:1099 test: Scenario: Inserting block object in middle of text block with select=end | |||||
| packages/editor/tests/event.insert.block.test.tsx:1193 test: Scenario: Inserting block object with expanded selection covering entire block | |||||
| packages/editor/tests/event.insert.block.test.tsx:1265 test: Scenario: Inserting block object with expanded selection starting at block start | |||||
| packages/editor/tests/event.insert.block.test.tsx:1344 test: Scenario: Inserting block object with expanded selection ending at block end | |||||
| packages/editor/tests/event.insert.block.test.tsx:1423 test: Scenario: Inserting text block with expanded selection in middle of block | |||||
| packages/editor/tests/event.insert.block.test.tsx:1504 test: Scenario: Inserting block object with expanded selection in middle of block | |||||
| packages/editor/tests/event.insert.block.test.tsx:1583 test: Scenario: Inserting block object with cross-block expanded selection | |||||
| packages/editor/tests/event.insert.block.test.tsx:1671 test: Scenario: Inserting text block with expanded selection covering entire block | |||||
| packages/editor/tests/event.insert.block.test.tsx:1757 test: Scenario: Inserting text block with expanded selection starting at block start | |||||
| packages/editor/tests/event.insert.block.test.tsx:1843 test: Scenario: Inserting text block with expanded selection ending at block end | |||||
| packages/editor/tests/event.insert.block.test.tsx:1929 test: Scenario: Inserting text block with cross-block expanded selection | |||||
| packages/editor/tests/event.insert.block.test.tsx:2024 test: Scenario: Inserting text block with expanded selection and select=end | |||||
| packages/editor/tests/event.insert.block.test.tsx:2110 test: Scenario: Inserting text block with placement=before | |||||
| packages/editor/tests/event.insert.block.test.tsx:2200 test: Scenario: Inserting a sibling after a container block with explicit placement | |||||
| packages/editor/tests/event.insert.block.test.tsx:2291 test: Scenario: Inserting a sibling before a container block with explicit placement | |||||
| packages/editor/tests/event.insert.block.test.tsx:2382 test: Scenario: placement=auto with at pointing at a container resolves into the container | |||||
| packages/editor/tests/event.insert.block.test.tsx:2471 test: Scenario: placement=after with expanded selection across container uses end block as anchor | |||||
| packages/editor/tests/event.insert.block.test.tsx:2602 test: Scenario: placement=before with expanded selection across container uses start block as anchor | |||||
| packages/editor/tests/event.insert.block.test.tsx:2733 test: Scenario: placement=after with expanded selection inside container uses inner end block | |||||
| packages/editor/tests/event.insert.block.test.tsx:2850 test: Scenario: placement=auto with expanded selection across container deletes the range and inserts | |||||
| packages/editor/tests/event.insert.block.test.tsx:2957 test: Scenario: placement=auto with selection across two separate containers | |||||
| 127 | packages/editor/tests/event.insert.blocks.test.tsx | portable | PT-H04 | 58 | packages/editor/tests/event.insert.blocks.test.tsx:12 describe: event.insert.blocks |
| packages/editor/tests/event.insert.blocks.test.tsx:13 test: Scenario: Inserting text block with lonely inline object | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:75 describe: Scenario: Inserting blocks with duplicate _keys | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:206 test: target: empty text, placement: auto, select: end | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:243 test: target: empty text, placement: auto, select: end, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:281 test: target: empty text, placement: auto, select: start | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:318 test: target: empty text, placement: auto, select: start, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:356 test: target: empty text, placement: auto, select: none | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:383 test: target: empty text, placement: auto, select: none, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:411 test: target: empty text, placement: before, select: end | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:449 test: target: empty text, placement: before, select: end, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:488 test: target: empty text, placement: before, select: start | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:526 test: target: empty text, placement: before, select: start, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:565 test: target: empty text, placement: before, select: none | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:594 test: target: empty text, placement: before, select: none, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:623 test: target: empty text, placement: after, select: end | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:661 test: target: empty text, placement: after, select: end, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:700 test: target: empty text, placement: after, select: start | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:738 test: target: empty text, placement: after, select: start, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:777 test: target: empty text, placement: after, select: none | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:806 test: target: empty text, placement: after, select: none, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:835 test: target: block object, placement: auto, select: end | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:873 test: target: block object, placement: auto, select: end, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:912 test: target: block object, placement: auto, select: start | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:950 test: target: block object, placement: auto, select: start, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:989 test: target: block object, placement: auto, select: none | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1027 test: target: block object, placement: auto, select: none, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1056 test: target: block object, placement: before, select: end | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1094 test: target: block object, placement: before, select: end, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1133 test: target: block object, placement: before, select: start | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1171 test: target: block object, placement: before, select: start, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1210 test: target: block object, placement: before, select: none | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1248 test: target: block object, placement: before, select: none, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1277 test: target: block object, placement: after, select: end | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1315 test: target: block object, placement: after, select: end, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1354 test: target: block object, placement: after, select: start | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1392 test: target: block object, placement: after, select: start, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1431 test: target: block object, placement: after, select: none | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1469 test: target: block object, placement: after, select: none, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1498 test: target: text-start, placement: auto, select: end | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1536 test: target: text-start, placement: auto, select: end, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1575 test: target: text-start, placement: auto, select: start | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1613 test: target: text-start, placement: auto, select: start, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1652 test: target: text-start, placement: auto, select: none | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1681 test: target: text-start, placement: auto, select: none, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1710 test: target: text-end, placement: auto, select: end | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1748 test: target: text-end, placement: auto, select: end, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1787 test: target: text-end, placement: auto, select: start | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1825 test: target: text-end, placement: auto, select: start, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1864 test: target: text-end, placement: auto, select: none | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1893 test: target: text-end, placement: auto, select: none, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1922 test: target: text-mid, placement: auto, select: end | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:1978 test: target: text-mid, placement: auto, select: end, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:2035 test: target: text-mid, placement: auto, select: start | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:2091 test: target: text-mid, placement: auto, select: start, useAtProp: true | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:2148 test: target: text-mid, placement: auto, select: none | |||||
| packages/editor/tests/event.insert.blocks.test.tsx:2195 test: target: text-mid, placement: auto, select: none, useAtProp: true | |||||
packages/editor/tests/event.insert.blocks.test.tsx:2243 test: Scenario: aborting insert.block of a specific block | |||||
| 128 | packages/editor/tests/event.insert.child.test.tsx | portable | PT-H04 | 5 | packages/editor/tests/event.insert.child.test.tsx:12 describe: event.insert.child |
| packages/editor/tests/event.insert.child.test.tsx:13 test: Scenario: Carrying over an annotation | |||||
| packages/editor/tests/event.insert.child.test.tsx:111 test: Scenario: Inserting span on inline object | |||||
| packages/editor/tests/event.insert.child.test.tsx:173 test: Scenario: Inserting inline object on inline object | |||||
| packages/editor/tests/event.insert.child.test.tsx:235 test: Scenario: Inserting inline object at the end of text block | |||||
| 129 | packages/editor/tests/event.insert.inline-object.test.tsx | portable | PT-H04 | 4 | packages/editor/tests/event.insert.inline-object.test.tsx:11 describe: event.insert.inline object |
| packages/editor/tests/event.insert.inline-object.test.tsx:12 test: Scenario: Inserting inline object without any initial fields | |||||
| packages/editor/tests/event.insert.inline-object.test.tsx:53 test: Scenario: Inserting and focusing inline object | |||||
| packages/editor/tests/event.insert.inline-object.test.tsx:221 test: Scenario: Inserting inline object on block object | |||||
| 130 | packages/editor/tests/event.insert.span.test.tsx | portable | PT-H04 | 8 | packages/editor/tests/event.insert.span.test.tsx:10 describe: event.insert.span |
| packages/editor/tests/event.insert.span.test.tsx:11 test: Scenario: Unknown decorators are filtered out | |||||
| packages/editor/tests/event.insert.span.test.tsx:41 test: Scenario: Inserting span with annotation | |||||
| packages/editor/tests/event.insert.span.test.tsx:69 test: Scenario: Unknown annotations are filtered out | |||||
| packages/editor/tests/event.insert.span.test.tsx:117 test: Scenario: Forwarding the event | |||||
| packages/editor/tests/event.insert.span.test.tsx:155 test: Scenario: Executing the event | |||||
| packages/editor/tests/event.insert.span.test.tsx:193 test: Scenario: Inserting on block object | |||||
| packages/editor/tests/event.insert.span.test.tsx:237 test: Scenario: Inserting on inline object | |||||
| 131 | packages/editor/tests/event.insert.test.tsx | portable | PT-H04 | 2 | packages/editor/tests/event.insert.test.tsx:6 describe: event.insert |
| packages/editor/tests/event.insert.test.tsx:7 test: Scenario: insert a node into an array | |||||
| 132 | packages/editor/tests/event.insert.text.test.tsx | portable | PT-H04 | 11 | packages/editor/tests/event.insert.text.test.tsx:15 describe: event.insert.text |
packages/editor/tests/event.insert.text.test.tsx:16 test: Scenario: Consecutive insert.text events | |||||
packages/editor/tests/event.insert.text.test.tsx:56 test: Scenario: insert.text can trigger insert.child events | |||||
packages/editor/tests/event.insert.text.test.tsx:127 test: Scenario: executing insert.text events | |||||
| packages/editor/tests/event.insert.text.test.tsx:164 test: Scenario: executing after annotation | |||||
packages/editor/tests/event.insert.text.test.tsx:228 test: Scenario: Ignoring insert.child events for spans using forward | |||||
packages/editor/tests/event.insert.text.test.tsx:276 test: Scenario: Ignoring insert.child events for spans using execute | |||||
| packages/editor/tests/event.insert.text.test.tsx:324 test: Scenario: Inserting text without a selection | |||||
| packages/editor/tests/event.insert.text.test.tsx:334 test: Scenario: Inserting text on a block object is a no-op | |||||
| packages/editor/tests/event.insert.text.test.tsx:385 test: Scenario: Inserting text at an inline object | |||||
packages/editor/tests/event.insert.text.test.tsx:457 test: Scenario: insert.text at an explicit position | |||||
| 133 | packages/editor/tests/event.keyboard.keydown.test.tsx | portable-mixed | PT-H12 | 3 | packages/editor/tests/event.keyboard.keydown.test.tsx:11 describe: event.keyboard.keydown |
packages/editor/tests/event.keyboard.keydown.test.tsx:48 test: Scenario: execute overwrites the native event | |||||
packages/editor/tests/event.keyboard.keydown.test.tsx:128 test: Scenario: raise overwrites the native event | |||||
| 134 | packages/editor/tests/event.move.block.cross-container.test.tsx | portable-mixed | PT-H02 | 4 | packages/editor/tests/event.move.block.cross-container.test.tsx:31 describe: event.move.block cross-container |
| packages/editor/tests/event.move.block.cross-container.test.tsx:32 test: Scenario: Moving a root block to a destination inside a container lands before the destination | |||||
| packages/editor/tests/event.move.block.cross-container.test.tsx:97 test: Scenario: Moving a block out of a container to a root destination lands before the destination | |||||
| packages/editor/tests/event.move.block.cross-container.test.tsx:180 test: Scenario: Moving a block between two containers lands before the destination | |||||
| 135 | packages/editor/tests/event.move.block.selection.test.tsx | portable | PT-H01 | 5 | packages/editor/tests/event.move.block.selection.test.tsx:8 describe: event.move.block regression |
| packages/editor/tests/event.move.block.selection.test.tsx:9 test: Scenario: Moving a block down preserves selection on the moved block | |||||
| packages/editor/tests/event.move.block.selection.test.tsx:54 test: Scenario: Moving a block up preserves selection on the moved block | |||||
| packages/editor/tests/event.move.block.selection.test.tsx:98 test: Scenario: Undoing a move.block restores original order | |||||
| packages/editor/tests/event.move.block.selection.test.tsx:147 test: Scenario: Moving block down and typing continues in the moved block | |||||
| 136 | packages/editor/tests/event.move.block.test.tsx | portable-mixed | PT-H12 | 12 | packages/editor/tests/event.move.block.test.tsx:26 describe: event.move.block down |
| packages/editor/tests/event.move.block.test.tsx:27 test: Scenario: Moving block object down | |||||
| packages/editor/tests/event.move.block.test.tsx:55 test: Scenario: Moving text block down | |||||
| packages/editor/tests/event.move.block.test.tsx:84 describe: event.move.block up | |||||
| packages/editor/tests/event.move.block.test.tsx:85 test: Scenario: Moving block object up | |||||
| packages/editor/tests/event.move.block.test.tsx:113 test: Scenario: Moving text block up | |||||
| packages/editor/tests/event.move.block.test.tsx:142 describe: event.move.block | |||||
| packages/editor/tests/event.move.block.test.tsx:143 test: Scenario: Moving a block onto its own path is a no-op | |||||
| packages/editor/tests/event.move.block.test.tsx:163 test: Scenario: Moving a block forward past multiple siblings | |||||
| packages/editor/tests/event.move.block.test.tsx:184 test: Scenario: Moving a block backward past multiple siblings | |||||
| packages/editor/tests/event.move.block.test.tsx:205 test: Scenario: Swapping two adjacent blocks via direct move forward | |||||
| packages/editor/tests/event.move.block.test.tsx:225 test: Scenario: Swapping two adjacent blocks via direct move backward | |||||
| 137 | packages/editor/tests/event.mutation.test.tsx | portable-mixed | PT-H12 | 4 | packages/editor/tests/event.mutation.test.tsx:19 describe: event.mutation |
| packages/editor/tests/event.mutation.test.tsx:20 test: Scenario: Deferring mutation events when read-only | |||||
| packages/editor/tests/event.mutation.test.tsx:97 test: Scenario: Batching typing mutations | |||||
| packages/editor/tests/event.mutation.test.tsx:138 test: Scenario: Flushing pending mutations when unmounting | |||||
| 138 | packages/editor/tests/event.paste.test.tsx | portable-mixed | PT-H06 | 8 | packages/editor/tests/event.paste.test.tsx:13 describe: event.clipboard.paste |
| packages/editor/tests/event.paste.test.tsx:14 test: Scenario: Cut/paste block object | |||||
| packages/editor/tests/event.paste.test.tsx:154 describe: Scenario Outline: Pasting text/html with an inline image | |||||
packages/editor/tests/event.paste.test.tsx:228 test: Scenario: image ObjectMatcher (block and inline) | |||||
| packages/editor/tests/event.paste.test.tsx:263 test: Scenario: block-only image matcher | |||||
| packages/editor/tests/event.paste.test.tsx:315 test: Scenario: No matchers | |||||
| packages/editor/tests/event.paste.test.tsx:339 test: Scenario: Copy/pasting expanded selection | |||||
| packages/editor/tests/event.paste.test.tsx:426 test: Scenario: Copying an inline object writes portable text to the clipboard | |||||
| 139 | packages/editor/tests/event.patch.test.tsx | portable-mixed | PT-H12 | 15 | packages/editor/tests/event.patch.test.tsx:18 describe: event.patch |
| packages/editor/tests/event.patch.test.tsx:19 test: Scenario: Deleting empty block above non-empty text block | |||||
| packages/editor/tests/event.patch.test.tsx:86 test: Scenario: Inserting two text blocks where the first one is empty | |||||
| packages/editor/tests/event.patch.test.tsx:182 test: Scenario: Inserting block object on empty editor | |||||
| packages/editor/tests/event.patch.test.tsx:262 describe: Scenario: Setting and unsetting the editor | |||||
| packages/editor/tests/event.patch.test.tsx:263 test: regular text block | |||||
| packages/editor/tests/event.patch.test.tsx:381 test: text block with custom field | |||||
| packages/editor/tests/event.patch.test.tsx:500 describe: applying patches to remote value | |||||
| packages/editor/tests/event.patch.test.tsx:501 describe: remote value: [] | |||||
| packages/editor/tests/event.patch.test.tsx:502 test: Scenario: Typing into empty editor | |||||
| packages/editor/tests/event.patch.test.tsx:527 test: Scenario: Pasting into empty editor | |||||
| packages/editor/tests/event.patch.test.tsx:569 describe: remote value: undefined | |||||
| packages/editor/tests/event.patch.test.tsx:570 test: Scenario: Typing into empty editor | |||||
| packages/editor/tests/event.patch.test.tsx:595 test: Scenario: Pasting into empty editor | |||||
| packages/editor/tests/event.patch.test.tsx:638 test: Scenario: Deleting all text with annotation | |||||
| 140 | packages/editor/tests/event.patches.test.tsx | portable-mixed | PT-H12 | 95 | packages/editor/tests/event.patches.test.tsx:21 describe: event.patches |
packages/editor/tests/event.patches.test.tsx:22 describe: Scenario: seting the entire value | |||||
| packages/editor/tests/event.patches.test.tsx:23 test: more blocks | |||||
| packages/editor/tests/event.patches.test.tsx:95 test: fewer blocks | |||||
| packages/editor/tests/event.patches.test.tsx:168 test: Scenario: Consuming initial diffMatchPatch | |||||
| packages/editor/tests/event.patches.test.tsx:234 test: Scenario: Consuming initial insert patch | |||||
| packages/editor/tests/event.patches.test.tsx:324 test: Scenario: Splitting initial block | |||||
| packages/editor/tests/event.patches.test.tsx:414 test: Scenario: Patching while syncing initial value | |||||
| packages/editor/tests/event.patches.test.tsx:488 test: Scenario: Patching while syncing incoming value | |||||
| packages/editor/tests/event.patches.test.tsx:572 test: Scenario: Merging spans | |||||
packages/editor/tests/event.patches.test.tsx:647 test: Scenario: set text block key | |||||
packages/editor/tests/event.patches.test.tsx:691 test: Scenario: set block object key | |||||
packages/editor/tests/event.patches.test.tsx:731 test: Scenario: set span properties | |||||
packages/editor/tests/event.patches.test.tsx:843 test: Scenario: unset span properties | |||||
packages/editor/tests/event.patches.test.tsx:913 test: Scenario: unset lonely block | |||||
packages/editor/tests/event.patches.test.tsx:997 test: Scenario: set initial block object property | |||||
packages/editor/tests/event.patches.test.tsx:1039 test: set block object properties | |||||
packages/editor/tests/event.patches.test.tsx:1107 test: set nested block object properties | |||||
packages/editor/tests/event.patches.test.tsx:1185 test: Scenario: unset block object properties | |||||
packages/editor/tests/event.patches.test.tsx:1261 test: Scenario: unset listItem and level | |||||
| packages/editor/tests/event.patches.test.tsx:1305 test: Scenario: Inserting inline object | |||||
packages/editor/tests/event.patches.test.tsx:1342 test: Scenario: set inline object properties | |||||
packages/editor/tests/event.patches.test.tsx:1455 test: Scenario: set on _key of inline object | |||||
packages/editor/tests/event.patches.test.tsx:1512 test: Scenario: set on _type of inline object | |||||
packages/editor/tests/event.patches.test.tsx:1569 test: Scenario: seting "text" field on inline object | |||||
packages/editor/tests/event.patches.test.tsx:1637 test: Scenario: seting "text" field on span | |||||
packages/editor/tests/event.patches.test.tsx:1706 test: Scenario: unset inline object properties | |||||
packages/editor/tests/event.patches.test.tsx:1777 test: Scenario: unset on _key and _type of inline object | |||||
packages/editor/tests/event.patches.test.tsx:1863 test: Scenario: seting style on text block | |||||
packages/editor/tests/event.patches.test.tsx:1906 test: Scenario: seting deep inside text block | |||||
packages/editor/tests/event.patches.test.tsx:1988 test: Scenario: unseting last text block and inserting a new one | |||||
| packages/editor/tests/event.patches.test.tsx:2041 describe: Feature: diffMatchPatch | |||||
| packages/editor/tests/event.patches.test.tsx:2071 test: Scenario: Adding and removing text to an empty editor | |||||
| packages/editor/tests/event.patches.test.tsx:2127 test: Scenario: Adding text | |||||
| packages/editor/tests/event.patches.test.tsx:2167 test: Scenario: Removing text | |||||
| packages/editor/tests/event.patches.test.tsx:2207 test: Scenario: Same text | |||||
| packages/editor/tests/event.patches.test.tsx:2247 test: Scenario: Adding and removing text | |||||
| packages/editor/tests/event.patches.test.tsx:2287 test: Scenario: Adding and removing text #2 | |||||
| packages/editor/tests/event.patches.test.tsx:2328 test: Scenario: Reverse line edits | |||||
| packages/editor/tests/event.patches.test.tsx:2371 test: Scenario: Larger text differences | |||||
| packages/editor/tests/event.patches.test.tsx:2412 test: Scenario: Offset text differences | |||||
| packages/editor/tests/event.patches.test.tsx:2453 test: Scenario: diffMatchPatch inside callout | |||||
packages/editor/tests/event.patches.test.tsx:2559 test: Scenario: set block with new markDef | |||||
packages/editor/tests/event.patches.test.tsx:2645 describe: insert | |||||
| packages/editor/tests/event.patches.test.tsx:2646 test: Scenario: Inserting block object on empty editor | |||||
| packages/editor/tests/event.patches.test.tsx:2689 test: Scenario: Inserting text block on empty editor | |||||
| packages/editor/tests/event.patches.test.tsx:2765 describe: Scenario Outline: Inserting two text blocks on empty editor | |||||
| packages/editor/tests/event.patches.test.tsx:2766 test: Scenario: Both blocks are empty | |||||
| packages/editor/tests/event.patches.test.tsx:2809 test: Scenario: First block is empty | |||||
| packages/editor/tests/event.patches.test.tsx:2853 test: Scenario: Second block is empty | |||||
| packages/editor/tests/event.patches.test.tsx:2896 test: Scenario: First block has no _key | |||||
packages/editor/tests/event.patches.test.tsx:2951 test: Scenario: before on numeric index 0 prepends to a non-empty array | |||||
packages/editor/tests/event.patches.test.tsx:3011 test: Scenario: after on a numeric index inserts after the indexed sibling | |||||
packages/editor/tests/event.patches.test.tsx:3071 test: Scenario: before on a numeric index inserts before the indexed sibling | |||||
packages/editor/tests/event.patches.test.tsx:3132 describe: setIfMissing | |||||
| packages/editor/tests/event.patches.test.tsx:3133 test: Scenario: Setting empty array on non-empty editor is a noop | |||||
| packages/editor/tests/event.patches.test.tsx:3169 test: Scenario: Setting empty array on empty editor is a noop | |||||
| packages/editor/tests/event.patches.test.tsx:3203 test: Scenario: Setting missing text block property | |||||
| packages/editor/tests/event.patches.test.tsx:3240 test: Scenario: Setting existing text block property is a noop | |||||
| packages/editor/tests/event.patches.test.tsx:3278 test: Scenario: Setting nested text block property | |||||
| packages/editor/tests/event.patches.test.tsx:3320 test: Scenario: Setting existing nested text block property is a noop | |||||
| packages/editor/tests/event.patches.test.tsx:3357 test: Scenario: Setting markDef property | |||||
| packages/editor/tests/event.patches.test.tsx:3408 test: Scenario: Setting existing markDef property is a noop | |||||
| packages/editor/tests/event.patches.test.tsx:3460 test: Scenario: Setting nested markDef property | |||||
| packages/editor/tests/event.patches.test.tsx:3512 test: Scenario: Setting existing nested markDef property is a noop | |||||
| packages/editor/tests/event.patches.test.tsx:3559 test: Scenario: Setting missing block object property | |||||
| packages/editor/tests/event.patches.test.tsx:3600 test: Scenario: Setting existing block object property is a noop | |||||
| packages/editor/tests/event.patches.test.tsx:3637 test: Scenario: Setting block object property where existing value is 0 is a noop | |||||
| packages/editor/tests/event.patches.test.tsx:3674 test: Scenario: Setting block object property where existing value is false is a noop | |||||
| packages/editor/tests/event.patches.test.tsx:3711 test: Scenario: Setting block object property where existing value is null is a noop | |||||
| packages/editor/tests/event.patches.test.tsx:3748 test: Scenario: Setting object property on block object | |||||
| packages/editor/tests/event.patches.test.tsx:3791 test: Scenario: Setting array property on block object | |||||
| packages/editor/tests/event.patches.test.tsx:3832 test: Scenario: Composing patches on block object | |||||
| packages/editor/tests/event.patches.test.tsx:3879 test: Scenario: Setting nested block object property | |||||
| packages/editor/tests/event.patches.test.tsx:3919 test: Scenario: Setting existing nested block object property is a noop | |||||
| packages/editor/tests/event.patches.test.tsx:3954 test: Scenario: Setting missing span property | |||||
| packages/editor/tests/event.patches.test.tsx:3992 test: Scenario: Setting existing span property is a noop | |||||
| packages/editor/tests/event.patches.test.tsx:4027 test: Scenario: Setting span text is a noop | |||||
| packages/editor/tests/event.patches.test.tsx:4060 test: Scenario: Setting nested span property | |||||
| packages/editor/tests/event.patches.test.tsx:4100 test: Scenario: Setting existing nested span property is a noop | |||||
packages/editor/tests/event.patches.test.tsx:4142 test: Scenario: unset nested text block property | |||||
packages/editor/tests/event.patches.test.tsx:4187 test: Scenario: set text block with new children | |||||
packages/editor/tests/event.patches.test.tsx:4243 test: Scenario: set children array directly on text block | |||||
packages/editor/tests/event.patches.test.tsx:4291 test: Scenario: set children with lone inline object normalizes surrounding spans | |||||
packages/editor/tests/event.patches.test.tsx:4372 test: Scenario: set children with span missing text normalizes text | |||||
packages/editor/tests/event.patches.test.tsx:4436 test: Scenario: set deep property on block object in a single patch | |||||
packages/editor/tests/event.patches.test.tsx:4495 test: Scenario: unset deep property on block object | |||||
packages/editor/tests/event.patches.test.tsx:4556 test: Scenario: unset markDef property | |||||
packages/editor/tests/event.patches.test.tsx:4633 test: Scenario: setIfMissing deep property on block object | |||||
packages/editor/tests/event.patches.test.tsx:4718 test: Scenario: unset the entire value | |||||
| packages/editor/tests/event.patches.test.tsx:4773 describe: container insert patches | |||||
| packages/editor/tests/event.patches.test.tsx:4851 test: insert a block into a callout content field | |||||
| packages/editor/tests/event.patches.test.tsx:4974 test: insert a span into a text block inside a callout | |||||
| packages/editor/tests/event.patches.test.tsx:5082 test: insert a block into a table cell content field | |||||
| packages/editor/tests/event.patches.test.tsx:5239 test: insert a block into an empty callout content field at numeric index 0 | |||||
| 141 | packages/editor/tests/event.ready.test.tsx | portable-mixed | PT-H12 | 3 | packages/editor/tests/event.ready.test.tsx:6 describe: event.ready |
| packages/editor/tests/event.ready.test.tsx:7 test: emits for "undefined" initial value | |||||
| packages/editor/tests/event.ready.test.tsx:17 test: emits for "[]" initial value | |||||
| 142 | packages/editor/tests/event.remove.text.test.tsx | portable-mixed | PT-H12 | 2 | packages/editor/tests/event.remove.text.test.tsx:6 describe: event.remove.text |
| packages/editor/tests/event.remove.text.test.tsx:7 test: Scenario: remove.text at an explicit position | |||||
| 143 | packages/editor/tests/event.select.block.test.tsx | portable-mixed | PT-H12 | 12 | packages/editor/tests/event.select.block.test.tsx:29 describe: event.select.previous block |
packages/editor/tests/event.select.block.test.tsx:30 test: Scenario: No select property | |||||
packages/editor/tests/event.select.block.test.tsx:57 test: Scenario: select property is start | |||||
packages/editor/tests/event.select.block.test.tsx:84 test: Scenario: select property is end | |||||
| packages/editor/tests/event.select.block.test.tsx:112 describe: event.select.next block | |||||
packages/editor/tests/event.select.block.test.tsx:113 test: Scenario: No select property | |||||
packages/editor/tests/event.select.block.test.tsx:140 test: Scenario: select property is start | |||||
packages/editor/tests/event.select.block.test.tsx:167 test: Scenario: select property is end | |||||
| packages/editor/tests/event.select.block.test.tsx:195 describe: event.select.block | |||||
packages/editor/tests/event.select.block.test.tsx:196 test: Scenario: No select property | |||||
packages/editor/tests/event.select.block.test.tsx:238 test: Scenario: select property is start | |||||
packages/editor/tests/event.select.block.test.tsx:282 test: Scenario: select property is end | |||||
| 144 | packages/editor/tests/event.select.test.tsx | portable-mixed | PT-H12 | 9 | packages/editor/tests/event.select.test.tsx:22 describe: event.select |
packages/editor/tests/event.select.test.tsx:23 test: Scenario: Arrow navigation causes select event | |||||
packages/editor/tests/event.select.test.tsx:153 test: Scenario: No double-select event | |||||
packages/editor/tests/event.select.test.tsx:329 test: Scenario: Typing text does not raise select event | |||||
packages/editor/tests/event.select.test.tsx:402 test: Scenario: focus event raises select event | |||||
packages/editor/tests/event.select.test.tsx:462 test: Scenario: Overriding arrow navigation by raising select event | |||||
packages/editor/tests/event.select.test.tsx:590 test: Scenario: Preventing arrow navigation by swallowing the select event | |||||
packages/editor/tests/event.select.test.tsx:708 test: Scenario: Arrow navigation raises select event | |||||
packages/editor/tests/event.select.test.tsx:823 test: Scenario: Synthetic insert.text event does not raise select event | |||||
| 145 | packages/editor/tests/event.set.test.tsx | portable-mixed | PT-H12 | 2 | packages/editor/tests/event.set.test.tsx:6 describe: event.set |
| packages/editor/tests/event.set.test.tsx:7 test: Scenario: set on a block property | |||||
| 146 | packages/editor/tests/event.split.test.tsx | portable-mixed | PT-H12 | 8 | packages/editor/tests/event.split.test.tsx:10 describe: event.split |
| packages/editor/tests/event.split.test.tsx:11 test: Scenario: Splitting mid-block before inline object | |||||
| packages/editor/tests/event.split.test.tsx:61 test: Scenario: Splitting text block with custom properties | |||||
| packages/editor/tests/event.split.test.tsx:108 test: Scenario: Splitting inline object is a noop | |||||
| packages/editor/tests/event.split.test.tsx:187 test: Scenario: Splitting block object is a noop | |||||
| packages/editor/tests/event.split.test.tsx:239 test: Scenario: Splitting with an expanded selection starting on a block object | |||||
| packages/editor/tests/event.split.test.tsx:329 test: Scenario: Splitting with an expanded selection ending on a block object | |||||
| packages/editor/tests/event.split.test.tsx:403 test: Scenario: Splitting with an expanded selection from one span to another | |||||
| 147 | packages/editor/tests/event.unset.test.tsx | portable-mixed | PT-H12 | 3 | packages/editor/tests/event.unset.test.tsx:6 describe: event.unset |
| packages/editor/tests/event.unset.test.tsx:7 test: Scenario: unset a property on a block | |||||
| packages/editor/tests/event.unset.test.tsx:44 test: Scenario: unset removes a node from an array | |||||
| 148 | packages/editor/tests/event.update-value.container.test.tsx | portable-mixed | PT-H02 | 15 | packages/editor/tests/event.update-value.container.test.tsx:60 describe: event.update value with containers |
| packages/editor/tests/event.update-value.container.test.tsx:61 test: Scenario: Update text inside a container line | |||||
| packages/editor/tests/event.update-value.container.test.tsx:118 test: Scenario: Add a new line to a container | |||||
| packages/editor/tests/event.update-value.container.test.tsx:188 test: Scenario: Remove a line from a container | |||||
| packages/editor/tests/event.update-value.container.test.tsx:256 test: Scenario: Reorder lines within a container | |||||
| packages/editor/tests/event.update-value.container.test.tsx:337 test: Scenario: Replace a container with a text block | |||||
| packages/editor/tests/event.update-value.container.test.tsx:393 test: Scenario: Replace a text block with a container | |||||
| packages/editor/tests/event.update-value.container.test.tsx:443 test: Scenario: Change a line inside a container (keyed diff) | |||||
| packages/editor/tests/event.update-value.container.test.tsx:500 test: Scenario: Update non-block-array property on a container | |||||
| packages/editor/tests/event.update-value.container.test.tsx:559 test: Scenario: Deep-nested update inside a table cell | |||||
| packages/editor/tests/event.update-value.container.test.tsx:703 test: Scenario: Syncing the same container is a noop (equality check) | |||||
| packages/editor/tests/event.update-value.container.test.tsx:743 test: Scenario: Selection is preserved when container lines change around it | |||||
| packages/editor/tests/event.update-value.container.test.tsx:886 test: Scenario: Changing container type (same key, different _type) | |||||
| packages/editor/tests/event.update-value.container.test.tsx:946 test: Scenario: Line key changes while editor has selection in that line (remote rewrite) | |||||
| packages/editor/tests/event.update-value.container.test.tsx:1036 test: Scenario: Insert a block object INSIDE the container lines array (heterogeneous children) | |||||
| 149 | packages/editor/tests/event.update-value.test.tsx | portable-mixed | PT-H12 | 28 | packages/editor/tests/event.update-value.test.tsx:8 describe: event.update value |
| packages/editor/tests/event.update-value.test.tsx:9 test: Scenario: Clearing placeholder value | |||||
| packages/editor/tests/event.update-value.test.tsx:56 test: Scenario: Updating and then clearing placeholder value | |||||
| packages/editor/tests/event.update-value.test.tsx:125 test: Scenario: updating block object property | |||||
| packages/editor/tests/event.update-value.test.tsx:175 test: Scenario: Updating the text of an empty span | |||||
| packages/editor/tests/event.update-value.test.tsx:227 test: Scenario: Updating before 'ready' | |||||
| packages/editor/tests/event.update-value.test.tsx:277 test: Scenario: Adding blocks before existing block | |||||
| packages/editor/tests/event.update-value.test.tsx:334 test: Scenario: Clearing lonely block object | |||||
| packages/editor/tests/event.update-value.test.tsx:384 test: Scenario: Clearing lonely text block | |||||
| packages/editor/tests/event.update-value.test.tsx:455 test: Scenario: Updating text while read-only | |||||
| packages/editor/tests/event.update-value.test.tsx:504 test: Scenario: Updating with unknown block object | |||||
| packages/editor/tests/event.update-value.test.tsx:556 test: Scenario: Updating span with reordered marks | |||||
| packages/editor/tests/event.update-value.test.tsx:623 test: Scenario: Changing block type from text to block object (same key) | |||||
| packages/editor/tests/event.update-value.test.tsx:680 test: Scenario: Changing child type from span to inline object (same key) | |||||
| packages/editor/tests/event.update-value.test.tsx:746 test: Scenario: Syncing the same block object is a noop | |||||
| packages/editor/tests/event.update-value.test.tsx:815 test: Scenario: Changing and adding text block children | |||||
| packages/editor/tests/event.update-value.test.tsx:880 test: Scenario: Removing children from a block that is not the first block | |||||
| packages/editor/tests/event.update-value.test.tsx:984 test: Scenario: Reordering children within a block (same keys, different positions) | |||||
| packages/editor/tests/event.update-value.test.tsx:1063 test: Scenario: Updating inline object value (same key) | |||||
| packages/editor/tests/event.update-value.test.tsx:1143 test: Scenario: Selection restoration when block type changes | |||||
| packages/editor/tests/event.update-value.test.tsx:1241 test: Scenario: Removing a custom block property | |||||
| packages/editor/tests/event.update-value.test.tsx:1300 test: Scenario: Adding new children to a text block (pure addition) | |||||
| packages/editor/tests/event.update-value.test.tsx:1350 test: Scenario: Replacing all children with different keys | |||||
| packages/editor/tests/event.update-value.test.tsx:1400 test: Scenario: Reordering children and modifying text simultaneously | |||||
| packages/editor/tests/event.update-value.test.tsx:1448 test: Scenario: Reordering top-level blocks | |||||
| packages/editor/tests/event.update-value.test.tsx:1512 test: Scenario: Multiple blocks with children changes in same update | |||||
| packages/editor/tests/event.update-value.test.tsx:1577 test: Scenario: Removing blocks from the end (remote value has fewer blocks) | |||||
| packages/editor/tests/event.update-value.test.tsx:1624 test: Scenario: Removing blocks from the middle (remote value drops a middle block) | |||||
| 150 | packages/editor/tests/event.value-changed.test.tsx | portable-mixed | PT-H12 | 3 | packages/editor/tests/event.value-changed.test.tsx:6 describe: event.value changed |
| packages/editor/tests/event.value-changed.test.tsx:7 test: does not emit for "undefined" initial value | |||||
| packages/editor/tests/event.value-changed.test.tsx:20 test: emits for "[]" initial value | |||||
| 151 | packages/editor/tests/focus.test.tsx | portable | PT-H01 | 3 | packages/editor/tests/focus.test.tsx:8 describe: focus |
| packages/editor/tests/focus.test.tsx:9 test: Scenario: Focusing on an empty editor | |||||
| packages/editor/tests/focus.test.tsx:63 test: Scenario: Focusing on a non-empty editor | |||||
| 152 | packages/editor/tests/history.preserving-keys.test.tsx | portable-mixed | PT-H12 | 3 | packages/editor/tests/history.preserving-keys.test.tsx:5 describe: Feature: History (Preserving Keys) |
| packages/editor/tests/history.preserving-keys.test.tsx:36 test: Scenario: Preserving keys when undoing | |||||
| packages/editor/tests/history.preserving-keys.test.tsx:61 test: Scenario: Preserving keys when redoing | |||||
| 153 | packages/editor/tests/initial-render-registration.test.tsx | portable-mixed | PT-H12 | 2 | packages/editor/tests/initial-render-registration.test.tsx:9 describe: initial render |
| packages/editor/tests/initial-render-registration.test.tsx:10 test: legacy renderBlock is never called for a type registered as a container via NodePlugin | |||||
| 154 | packages/editor/tests/inline-object-contenteditable.test.tsx | portable | PT-H03 | 3 | packages/editor/tests/inline-object-contenteditable.test.tsx:11 describe: inline-object void wrapper contenteditable |
packages/editor/tests/inline-object-contenteditable.test.tsx:12 test: the consumer wrapper has contenteditable="false" when registered via defineInlineObject | |||||
packages/editor/tests/inline-object-contenteditable.test.tsx:60 test: the engine-rendered placeholder wrapper has contenteditable="false" inside a container without defineInlineObject | |||||
| 155 | packages/editor/tests/inline-objects.test.tsx | portable | PT-H03 | 6 | packages/editor/tests/inline-objects.test.tsx:10 describe: Feature: Inline Objects |
| packages/editor/tests/inline-objects.test.tsx:11 test: Scenario: Deleting inline object with Backspace | |||||
| packages/editor/tests/inline-objects.test.tsx:74 test: Scenario: Deleting inline object with Delete | |||||
| packages/editor/tests/inline-objects.test.tsx:137 test: Scenario: Pressing Enter on an inline object | |||||
packages/editor/tests/inline-objects.test.tsx:204 test: Scenario: insert.text on inline object | |||||
| packages/editor/tests/inline-objects.test.tsx:264 test: Scenario: Typing after ArrowRight past inline object inserted by behavior | |||||
| 156 | packages/editor/tests/inline-pipeline-mode-inheritance.test.tsx | portable-mixed | PT-H12 | 5 | packages/editor/tests/inline-pipeline-mode-inheritance.test.tsx:48 describe: inline pipeline mode inherits from text block |
| packages/editor/tests/inline-pipeline-mode-inheritance.test.tsx:49 test: registered inline-object inside LEGACY text block keeps data-slate-* attributes on its wrapper | |||||
| packages/editor/tests/inline-pipeline-mode-inheritance.test.tsx:94 test: registered span inside LEGACY text block keeps data-slate-* attributes on its wrapper | |||||
| packages/editor/tests/inline-pipeline-mode-inheritance.test.tsx:132 test: registered inline-object inside REGISTERED text block emits clean data-pt-* on its wrapper | |||||
| packages/editor/tests/inline-pipeline-mode-inheritance.test.tsx:183 test: registered span inside REGISTERED text block emits clean data-pt-* on its wrapper | |||||
| 157 | packages/editor/tests/insert-block.test.tsx | portable-mixed | PT-H12 | 4 | packages/editor/tests/insert-block.test.tsx:11 describe: PortableTextEditor.insertBlock.name |
| packages/editor/tests/insert-block.test.tsx:12 test: Scenario: Inserting a custom block without a selection #1 | |||||
| packages/editor/tests/insert-block.test.tsx:85 test: Scenario: Inserting a custom block without a selection #2 | |||||
| packages/editor/tests/insert-block.test.tsx:160 test: Scenario: Replacing an empty text block with a custom block | |||||
| 158 | packages/editor/tests/insert-respects-sub-schema.test.tsx | portable-mixed | PT-H02 | 13 | packages/editor/tests/insert-respects-sub-schema.test.tsx:68 describe: insert respects sub-schema |
| packages/editor/tests/insert-respects-sub-schema.test.tsx:69 test: Scenario: inserting an inline object whose type is allowed in the path sub-schema | |||||
| packages/editor/tests/insert-respects-sub-schema.test.tsx:142 test: Scenario: inserting an inline object whose type is NOT in the path sub-schema is rejected | |||||
| packages/editor/tests/insert-respects-sub-schema.test.tsx:217 test: Scenario: inserting a block object whose type is NOT in the path sub-schema is rejected | |||||
| packages/editor/tests/insert-respects-sub-schema.test.tsx:294 test: Scenario: setting properties on an existing inline object whose type is NOT in the path sub-schema noops without throwing | |||||
packages/editor/tests/insert-respects-sub-schema.test.tsx:381 test: Scenario: child.set on an inline object inside a container filters undeclared fields against the path sub-schema | |||||
packages/editor/tests/insert-respects-sub-schema.test.tsx:459 test: Scenario: block.set on a block object inside a container filters undeclared fields against the path sub-schema | |||||
packages/editor/tests/insert-respects-sub-schema.test.tsx:510 test: Scenario: decorator.add of an allowed decorator inside a container applies the mark | |||||
packages/editor/tests/insert-respects-sub-schema.test.tsx:575 test: Scenario: decorator.add of a disallowed decorator inside a container does not apply the mark | |||||
packages/editor/tests/insert-respects-sub-schema.test.tsx:655 test: Scenario: annotation.add of an allowed annotation inside a container applies the mark and markDef | |||||
packages/editor/tests/insert-respects-sub-schema.test.tsx:749 test: Scenario: annotation.add of a disallowed annotation inside a container does not apply the mark | |||||
| packages/editor/tests/insert-respects-sub-schema.test.tsx:837 test: Scenario: `decorator.add` of a decorator not declared at root does not apply the mark | |||||
| packages/editor/tests/insert-respects-sub-schema.test.tsx:887 test: Scenario: `annotation.add` of an annotation not declared at root does not apply the mark | |||||
| 159 | packages/editor/tests/legacy-suppression.test.tsx | portable-mixed | PT-H12 | 8 | packages/editor/tests/legacy-suppression.test.tsx:28 describe: legacy-suppression contract |
| packages/editor/tests/legacy-suppression.test.tsx:29 test: top-level defineTextBlock with unregistered inline-object child does not call legacy.renderChild | |||||
| packages/editor/tests/legacy-suppression.test.tsx:77 test: top-level defineContainer with unregistered block-object child does not call legacy.renderBlock for that child | |||||
| packages/editor/tests/legacy-suppression.test.tsx:144 test: top-level defineTextBlock with styled span DOES call legacy.renderDecorator | |||||
| packages/editor/tests/legacy-suppression.test.tsx:186 test: top-level defineTextBlock with annotated span DOES call legacy.renderAnnotation | |||||
| packages/editor/tests/legacy-suppression.test.tsx:229 test: top-level defineBlockObject value does not call legacy.renderBlock | |||||
| packages/editor/tests/legacy-suppression.test.tsx:264 test: top-level defineInlineObject value does not call legacy.renderChild | |||||
| packages/editor/tests/legacy-suppression.test.tsx:310 test: mixed pipeline: legacy block beside new-pipeline block - legacy hook fires for the legacy block, not for the registered one | |||||
| 160 | packages/editor/tests/normalization.test.tsx | portable-mixed | PT-H12 | 14 | packages/editor/tests/normalization.test.tsx:8 describe: normalization |
| packages/editor/tests/normalization.test.tsx:9 test: Scenario: spans with the same marks are merged | |||||
| packages/editor/tests/normalization.test.tsx:50 test: Scenario: marks equality is order independent | |||||
packages/editor/tests/normalization.test.tsx:91 test: Scenario: text blocks with no children get placeholder children | |||||
packages/editor/tests/normalization.test.tsx:175 test: Scenario: text blocks with empty children get placeholder children | |||||
packages/editor/tests/normalization.test.tsx:255 test: Scenario: span with no _key gets a key | |||||
packages/editor/tests/normalization.test.tsx:322 test: Scenario: block with no _key gets a key via numeric index | |||||
packages/editor/tests/normalization.test.tsx:403 test: Scenario: block object with no _key gets a key via numeric index | |||||
| packages/editor/tests/normalization.test.tsx:474 test: Scenario: spans with missing text get empty text | |||||
packages/editor/tests/normalization.test.tsx:549 test: Scenario: lonely span with no text gets an empty string | |||||
| packages/editor/tests/normalization.test.tsx:617 test: Scenario: selection is preserved when spans merge during normalization | |||||
packages/editor/tests/normalization.test.tsx:718 test: Scenario: duplicate block _key is fixed via numeric index | |||||
packages/editor/tests/normalization.test.tsx:800 test: Scenario: block with no _type gets the default block type | |||||
packages/editor/tests/normalization.test.tsx:860 test: Scenario: span with _type unset gets the span type | |||||
| 161 | packages/editor/tests/performance.test.tsx | portable-mixed | PT-H12 | 12 | packages/editor/tests/performance.test.tsx:10 describe: Performance |
| packages/editor/tests/performance.test.tsx:11 describe: Baseline | |||||
| packages/editor/tests/performance.test.tsx:12 test: Inserting 1000 blocks in an empty editor | |||||
| packages/editor/tests/performance.test.tsx:39 test: Inserting 1000 blocks before an existing block | |||||
| packages/editor/tests/performance.test.tsx:72 test: Inserting 1000 blocks after an existing block | |||||
| packages/editor/tests/performance.test.tsx:106 describe: Containers | |||||
| packages/editor/tests/performance.test.tsx:165 test: Inserting 1000 tables in an empty editor | |||||
| packages/editor/tests/performance.test.tsx:195 test: Inserting 1000 tables before an existing block | |||||
| packages/editor/tests/performance.test.tsx:231 test: Inserting 1000 tables after an existing block | |||||
| packages/editor/tests/performance.test.tsx:268 describe: Deep nested containers | |||||
| packages/editor/tests/performance.test.tsx:348 test: Setting progressively deeper nested list values | |||||
| packages/editor/tests/performance.test.tsx:437 test: onChange is batched | |||||
| 162 | packages/editor/tests/placeholder-block.test.tsx | portable-mixed | PT-H12 | 16 | packages/editor/tests/placeholder-block.test.tsx:19 describe: createPlaceholderBlock.name |
| packages/editor/tests/placeholder-block.test.tsx:20 test: Scenario: Initial value resembling placeholder block | |||||
| packages/editor/tests/placeholder-block.test.tsx:78 test: Scenario: Initial value resembling placeholder block, but with different style | |||||
| packages/editor/tests/placeholder-block.test.tsx:139 describe: Scenario: Placeholder removed by incoming patch | |||||
| packages/editor/tests/placeholder-block.test.tsx:140 test: no foreign value | |||||
| packages/editor/tests/placeholder-block.test.tsx:187 test: with foreign value | |||||
| packages/editor/tests/placeholder-block.test.tsx:262 test: undoing placeholder insertion is a noop | |||||
| packages/editor/tests/placeholder-block.test.tsx:329 test: Scenario: Lonely block object removed by incoming patch | |||||
| packages/editor/tests/placeholder-block.test.tsx:428 test: Scenario: Lonely block object removed by updated value | |||||
| packages/editor/tests/placeholder-block.test.tsx:518 test: Scenario: Adding and removing text in an empty editor | |||||
| packages/editor/tests/placeholder-block.test.tsx:637 test: Scenario: Setting custom props on placeholder after clearing it | |||||
| packages/editor/tests/placeholder-block.test.tsx:749 test: Scenario: Deleting lonely block object and typing | |||||
| packages/editor/tests/placeholder-block.test.tsx:849 describe: Scenario: Placeholder can be represented by a custom React Node | |||||
| packages/editor/tests/placeholder-block.test.tsx:850 test: no initial value | |||||
| packages/editor/tests/placeholder-block.test.tsx:861 test: initial empty text block | |||||
| packages/editor/tests/placeholder-block.test.tsx:881 test: initial empty heading does not render placeholder | |||||
| 163 | packages/editor/tests/plugin.document-title.test.tsx | portable-mixed | PT-H12 | 1 | packages/editor/tests/plugin.document-title.test.tsx:72 test: DocumentTitlePlugin.name |
| 164 | packages/editor/tests/positional-override-block-level.test.tsx | portable-mixed | PT-H12 | 18 | packages/editor/tests/positional-override-block-level.test.tsx:90 describe: Block-level positional override: defineContainer |
| packages/editor/tests/positional-override-block-level.test.tsx:91 test: 1. Global container render fires when no positional override exists | |||||
packages/editor/tests/positional-override-block-level.test.tsx:131 test: 2. Positional render: fn in parent container of overrides global | |||||
packages/editor/tests/positional-override-block-level.test.tsx:202 test: 3b. Positional render: (props) => props.renderDefault(props) renders engine default at this position | |||||
packages/editor/tests/positional-override-block-level.test.tsx:273 test: 4. Positional of: [...] without render falls through to global | |||||
packages/editor/tests/positional-override-block-level.test.tsx:342 test: 5. Positional of: [...] without render, no global → engine default | |||||
| packages/editor/tests/positional-override-block-level.test.tsx:404 describe: Block-level positional override: defineTextBlock | |||||
| packages/editor/tests/positional-override-block-level.test.tsx:405 test: 1. Global text-block render fires when no positional override exists | |||||
packages/editor/tests/positional-override-block-level.test.tsx:441 test: 2. Positional render: fn in container of overrides global | |||||
packages/editor/tests/positional-override-block-level.test.tsx:507 test: 3b. Positional render: (props) => props.renderDefault(props) renders engine default at this position | |||||
packages/editor/tests/positional-override-block-level.test.tsx:570 test: 4. Positional of: [...] (no render) falls through to global | |||||
packages/editor/tests/positional-override-block-level.test.tsx:630 test: 5. Positional of: [...] no render, no global → engine default | |||||
| packages/editor/tests/positional-override-block-level.test.tsx:683 describe: Block-level positional override: defineBlockObject | |||||
| packages/editor/tests/positional-override-block-level.test.tsx:684 test: 1. Global block-object render fires when no positional override exists | |||||
packages/editor/tests/positional-override-block-level.test.tsx:711 test: 2. Positional render: fn in container of overrides global | |||||
packages/editor/tests/positional-override-block-level.test.tsx:763 test: 3b. Positional render: (props) => props.renderDefault(props) renders engine default at this position | |||||
packages/editor/tests/positional-override-block-level.test.tsx:816 test: 4. Positional render absent (no of to provide) falls through to global | |||||
| packages/editor/tests/positional-override-block-level.test.tsx:869 test: 5. Positional no render, no global → engine default | |||||
| 165 | packages/editor/tests/positional-override-cross-scope.test.tsx | portable-mixed | PT-H12 | 4 | packages/editor/tests/positional-override-cross-scope.test.tsx:38 describe: Cross-scope positional override |
| packages/editor/tests/positional-override-cross-scope.test.tsx:39 test: 11. Two text blocks side-by-side scope independently | |||||
| packages/editor/tests/positional-override-cross-scope.test.tsx:136 test: 12. Top-level defineTextBlock.of applies globally | |||||
| packages/editor/tests/positional-override-cross-scope.test.tsx:202 test: 13. Position-level defineTextBlock.of wins over global defineTextBlock.of at that position | |||||
| 166 | packages/editor/tests/positional-override-inline-level.test.tsx | portable-mixed | PT-H12 | 12 | packages/editor/tests/positional-override-inline-level.test.tsx:83 describe: Inline-level positional override: defineInlineObject |
| packages/editor/tests/positional-override-inline-level.test.tsx:84 test: 1. Global render fires when no positional override exists | |||||
| packages/editor/tests/positional-override-inline-level.test.tsx:108 test: 2. Positional render in text-block of overrides global | |||||
| packages/editor/tests/positional-override-inline-level.test.tsx:159 test: 3b. Positional render: (props) => props.renderDefault(props) renders engine default at this position | |||||
| packages/editor/tests/positional-override-inline-level.test.tsx:210 test: 4. Positional (no render) falls through to global | |||||
| packages/editor/tests/positional-override-inline-level.test.tsx:251 test: 5. Positional (no render), no global -> engine default | |||||
| packages/editor/tests/positional-override-inline-level.test.tsx:290 describe: Inline-level positional override: defineSpan | |||||
| packages/editor/tests/positional-override-inline-level.test.tsx:291 test: 1. Global render fires when no positional override exists | |||||
| packages/editor/tests/positional-override-inline-level.test.tsx:318 test: 2. Positional render in text-block of overrides global | |||||
| packages/editor/tests/positional-override-inline-level.test.tsx:369 test: 3b. Positional render: (props) => props.renderDefault(props) renders engine default at this position | |||||
| packages/editor/tests/positional-override-inline-level.test.tsx:423 test: 4. Positional (no render) falls through to global | |||||
| packages/editor/tests/positional-override-inline-level.test.tsx:464 test: 5. Positional (no render), no global -> engine default | |||||
| 167 | packages/editor/tests/positional-override-isolation.test.tsx | portable-mixed | PT-H12 | 3 | packages/editor/tests/positional-override-isolation.test.tsx:31 describe: Context isolation between block-level and inline-level dispatch |
| packages/editor/tests/positional-override-isolation.test.tsx:32 test: 18. Inline dispatch reads ParentTextBlockContext (not ParentContainerContext) | |||||
| packages/editor/tests/positional-override-isolation.test.tsx:126 test: 19. Block dispatch does not consume ParentTextBlockContext | |||||
| 168 | packages/editor/tests/positional-override-negative.test.tsx | portable-mixed | PT-H12 | 6 | packages/editor/tests/positional-override-negative.test.tsx:26 test: 14. defineContainer.of containing Span is a type error |
| packages/editor/tests/positional-override-negative.test.tsx:37 test: 15. defineContainer.of containing InlineObject is a type error | |||||
| packages/editor/tests/positional-override-negative.test.tsx:48 test: 16. defineTextBlock.of containing Container is a type error | |||||
| packages/editor/tests/positional-override-negative.test.tsx:58 test: 17. defineTextBlock.of containing BlockObject is a type error | |||||
| packages/editor/tests/positional-override-negative.test.tsx:70 test: Container.of resolves to a block-only array type | |||||
| packages/editor/tests/positional-override-negative.test.tsx:82 test: TextBlock.of resolves to an inline-only array type | |||||
| 169 | packages/editor/tests/pteWarningsSelfSolving.test.tsx | portable-mixed | PT-H12 | 8 | packages/editor/tests/pteWarningsSelfSolving.test.tsx:9 describe: when PTE would display warnings, instead it self solves |
| packages/editor/tests/pteWarningsSelfSolving.test.tsx:10 it: when child at index is missing required _key in block with _key | |||||
| packages/editor/tests/pteWarningsSelfSolving.test.tsx:71 it: self-solves missing .markDefs | |||||
| packages/editor/tests/pteWarningsSelfSolving.test.tsx:131 it: adds missing .children | |||||
| packages/editor/tests/pteWarningsSelfSolving.test.tsx:205 it: removes orphaned marks | |||||
| packages/editor/tests/pteWarningsSelfSolving.test.tsx:266 it: removes orphaned marksDefs | |||||
| packages/editor/tests/pteWarningsSelfSolving.test.tsx:333 it: allows undefined value | |||||
| packages/editor/tests/pteWarningsSelfSolving.test.tsx:366 it: allows empty array of blocks | |||||
| 170 | packages/editor/tests/range-decorations.test.tsx | portable | PT-H01 | 8 | packages/editor/tests/range-decorations.test.tsx:81 describe: RangeDecorations |
| packages/editor/tests/range-decorations.test.tsx:82 test: Scenario: Drawing a Range Decoration | |||||
| packages/editor/tests/range-decorations.test.tsx:146 test: Scenario: Moving a Range Decoration | |||||
| packages/editor/tests/range-decorations.test.tsx:238 test: Scenario: Drawing a collapsed Range Decoration | |||||
| packages/editor/tests/range-decorations.test.tsx:296 it: only render range decorations as necessary | |||||
| packages/editor/tests/range-decorations.test.tsx:500 test: Scenario: Range Decorations don't affect the caret position | |||||
| packages/editor/tests/range-decorations.test.tsx:616 describe: RangeDecorations inside editable containers | |||||
| packages/editor/tests/range-decorations.test.tsx:617 test: Scenario: Drawing a collapsed Range Decoration inside a callout | |||||
| 171 | packages/editor/tests/range-selectors-container.test.tsx | portable-mixed | PT-H02 | 3 | packages/editor/tests/range-selectors-container.test.tsx:33 describe: range selectors (container awareness) |
| packages/editor/tests/range-selectors-container.test.tsx:34 test: range selectors resolve at correct depth when selection is inside a container | |||||
| packages/editor/tests/range-selectors-container.test.tsx:147 test: getSelectedValue preserves the container when the selection is wholly inside it | |||||
| 172 | packages/editor/tests/recursive-schema.test.tsx | portable-mixed | PT-H02 | 9 | packages/editor/tests/recursive-schema.test.tsx:173 describe: recursive schemas (lists in list-items in lists) |
| packages/editor/tests/recursive-schema.test.tsx:174 test: Scenario: renders all three nesting levels as containers | |||||
packages/editor/tests/recursive-schema.test.tsx:191 test: Scenario: incoming set patch on a deep span text applies correctly | |||||
| packages/editor/tests/recursive-schema.test.tsx:256 test: Scenario: typing at a deep span emits patches that round-trip through applyAll | |||||
| packages/editor/tests/recursive-schema.test.tsx:335 test: Scenario: Enter on empty trailing line in deepest list with empty previous sibling escapes one level out | |||||
| packages/editor/tests/recursive-schema.test.tsx:519 test: Scenario: typing at a deep position appends to the deep span | |||||
| packages/editor/tests/recursive-schema.test.tsx:580 test: Scenario: decorator toggle on a deep span emits a strong mark | |||||
| packages/editor/tests/recursive-schema.test.tsx:641 test: Scenario: pressing Enter from the deepest list-item escapes one level per pair of presses, all the way to root | |||||
| packages/editor/tests/recursive-schema.test.tsx:847 test: Scenario: pressing Enter from the middle list-item splits in place — escape only fires from the trailing block of a list-item | |||||
| 173 | packages/editor/tests/register-node-clean-dom.test.tsx | portable-mixed | PT-H12 | 6 | packages/editor/tests/register-node-clean-dom.test.tsx:33 describe: register-node-clean-dom |
| packages/editor/tests/register-node-clean-dom.test.tsx:34 test: container subtree emits zero data-slate-* attrs | |||||
| packages/editor/tests/register-node-clean-dom.test.tsx:81 test: text-block subtree emits zero data-slate-* attrs | |||||
| packages/editor/tests/register-node-clean-dom.test.tsx:114 test: block-object subtree emits zero data-slate-* attrs | |||||
| packages/editor/tests/register-node-clean-dom.test.tsx:142 test: inline-object subtree emits zero data-slate-* attrs | |||||
| packages/editor/tests/register-node-clean-dom.test.tsx:186 test: span subtree emits zero data-slate-* attrs | |||||
| 174 | packages/editor/tests/render-block.test.tsx | portable-mixed | PT-H12 | 6 | packages/editor/tests/render-block.test.tsx:19 describe: renderBlock |
| packages/editor/tests/render-block.test.tsx:20 test: Receives the updated value for text block changes | |||||
| packages/editor/tests/render-block.test.tsx:157 test: Re-renders when a nested custom prop is patched | |||||
| packages/editor/tests/render-block.test.tsx:265 test: Re-renders when a nested custom prop is unset | |||||
| packages/editor/tests/render-block.test.tsx:336 test: Scenario: Stable across re-renders | |||||
packages/editor/tests/render-block.test.tsx:413 test: Keyless block receives a valid _key from normalization before render | |||||
| 175 | packages/editor/tests/render-child.test.tsx | portable-mixed | PT-H12 | 5 | packages/editor/tests/render-child.test.tsx:10 describe: renderChild |
| packages/editor/tests/render-child.test.tsx:11 test: span focused and selected props | |||||
| packages/editor/tests/render-child.test.tsx:122 test: inline object focused and selected props | |||||
| packages/editor/tests/render-child.test.tsx:201 test: children with same keys across blocks | |||||
| packages/editor/tests/render-child.test.tsx:335 test: container child paths | |||||
| 176 | packages/editor/tests/render-count-regression.test.tsx | portable-mixed | PT-H12 | 4 | packages/editor/tests/render-count-regression.test.tsx:22 describe: Render count regression |
| packages/editor/tests/render-count-regression.test.tsx:94 test: Typing into one sibling re-renders constant work, not O(N) siblings | |||||
| packages/editor/tests/render-count-regression.test.tsx:186 test: Mass unmount: deleting 100 blocks in one event does not crash | |||||
| packages/editor/tests/render-count-regression.test.tsx:301 test: test | |||||
| 177 | packages/editor/tests/render-default-prop.test.tsx | portable-mixed | PT-H12 | 17 | packages/editor/tests/render-default-prop.test.tsx:54 describe: renderDefault prop |
| packages/editor/tests/render-default-prop.test.tsx:55 test: Container: render receives renderDefault prop | |||||
| packages/editor/tests/render-default-prop.test.tsx:97 test: TextBlock: render receives renderDefault prop | |||||
| packages/editor/tests/render-default-prop.test.tsx:130 test: BlockObject: render receives renderDefault prop | |||||
| packages/editor/tests/render-default-prop.test.tsx:155 test: InlineObject: render receives renderDefault prop | |||||
| packages/editor/tests/render-default-prop.test.tsx:195 test: Span: render receives renderDefault prop | |||||
| packages/editor/tests/render-default-prop.test.tsx:228 describe: renderDefault wraps default | |||||
| packages/editor/tests/render-default-prop.test.tsx:229 test: Container: caller can wrap renderDefault output | |||||
| packages/editor/tests/render-default-prop.test.tsx:268 test: Container: caller can modify props before delegating | |||||
| packages/editor/tests/render-default-prop.test.tsx:309 describe: renderDefault for void objects renders [_type: _key] placeholder | |||||
| packages/editor/tests/render-default-prop.test.tsx:310 test: BlockObject: omit render → renders [type: key] placeholder | |||||
| packages/editor/tests/render-default-prop.test.tsx:327 test: BlockObject: render: (p) => p.renderDefault(p) → same placeholder | |||||
| packages/editor/tests/render-default-prop.test.tsx:347 test: BlockObject: placeholder has userSelect: none, contentEditable=false, and draggable matching readOnly | |||||
| packages/editor/tests/render-default-prop.test.tsx:373 test: InlineObject: omit render → renders [type: key] placeholder | |||||
| packages/editor/tests/render-default-prop.test.tsx:402 test: InlineObject: render: (p) => p.renderDefault(p) → same placeholder | |||||
| packages/editor/tests/render-default-prop.test.tsx:434 test: InlineObject: placeholder asymmetric contract - outer auto-has contentEditable=false, inner has draggable but no contentEditable | |||||
| packages/editor/tests/render-default-prop.test.tsx:474 test: BlockObject: consumer can hide placeholder by ignoring renderDefault | |||||
| 178 | packages/editor/tests/schema-no-intermediate-row.test.tsx | portable-mixed | PT-H02 | 4 | packages/editor/tests/schema-no-intermediate-row.test.tsx:26 describe: normalisation walks registered container chains to completion |
| packages/editor/tests/schema-no-intermediate-row.test.tsx:27 test: table > cell (no row in schema): empty cell.content gets a placeholder text block | |||||
| packages/editor/tests/schema-no-intermediate-row.test.tsx:121 test: table > row > cell (schema has row): empty cell.content gets a placeholder text block | |||||
| packages/editor/tests/schema-no-intermediate-row.test.tsx:239 test: schema has row, value skips it: cell directly under table.rows is not a registered container at this position | |||||
| 179 | packages/editor/tests/selection-after-remote-patches.test.tsx | portable | PT-H08 | 9 | packages/editor/tests/selection-after-remote-patches.test.tsx:11 describe: Feature: Selection adjustment after remote patches |
| packages/editor/tests/selection-after-remote-patches.test.tsx:12 test: Scenario: Remote insert block before cursor | |||||
| packages/editor/tests/selection-after-remote-patches.test.tsx:107 test: Scenario: Remote insert block after cursor | |||||
| packages/editor/tests/selection-after-remote-patches.test.tsx:202 test: Scenario: Remote text edit in another block | |||||
| packages/editor/tests/selection-after-remote-patches.test.tsx:252 test: Scenario: Remote delete of block before cursor | |||||
| packages/editor/tests/selection-after-remote-patches.test.tsx:323 test: Scenario: Remote insert text in same block before cursor | |||||
| packages/editor/tests/selection-after-remote-patches.test.tsx:374 test: Scenario: Remote insert span before cursor in same block | |||||
| packages/editor/tests/selection-after-remote-patches.test.tsx:434 test: Scenario: Remote split of block where cursor is | |||||
| packages/editor/tests/selection-after-remote-patches.test.tsx:508 test: Scenario: Remote unset of span before cursor | |||||
| 180 | packages/editor/tests/selection-emit-dedup.test.tsx | portable | PT-H08 | 3 | packages/editor/tests/selection-emit-dedup.test.tsx:7 describe: selection emission dedup |
| packages/editor/tests/selection-emit-dedup.test.tsx:8 test: a remote patch that re-spreads the selection range does not emit a duplicate selection | |||||
| packages/editor/tests/selection-emit-dedup.test.tsx:78 test: a genuine selection move still emits a selection | |||||
| 181 | packages/editor/tests/selection-emit-stability.test.tsx | portable | PT-H08 | 4 | packages/editor/tests/selection-emit-stability.test.tsx:8 describe: selection emit stability |
| packages/editor/tests/selection-emit-stability.test.tsx:9 test: decorator.add on collapsed caret emits a single selection event | |||||
| packages/editor/tests/selection-emit-stability.test.tsx:61 test: decorator.add on whole-span selection emits a single selection event | |||||
| packages/editor/tests/selection-emit-stability.test.tsx:115 test: remote patches that do not move the caret emit no selection event | |||||
| 182 | packages/editor/tests/self-solving.test.tsx | portable-mixed | PT-H12 | 8 | packages/editor/tests/self-solving.test.tsx:20 describe: Feature: Self-solving |
| packages/editor/tests/self-solving.test.tsx:21 test: Scenario: Missing .markDefs and .marks are added after the editor is made dirty | |||||
| packages/editor/tests/self-solving.test.tsx:157 test: Scenario: Missing .style is added after the editor is made dirty | |||||
| packages/editor/tests/self-solving.test.tsx:241 test: Scenario: Missing .style is added to inserted block | |||||
| packages/editor/tests/self-solving.test.tsx:382 test: Scenario: Child keys on initial blocks are made unique | |||||
| packages/editor/tests/self-solving.test.tsx:482 test: Scenario: Inserted child keys are made unique | |||||
| packages/editor/tests/self-solving.test.tsx:588 test: Scenario: Initial block _keys are made unique | |||||
| packages/editor/tests/self-solving.test.tsx:711 test: Scenario: Inserted block _keys are made unique | |||||
| 183 | packages/editor/tests/serialize-deserialize.test.tsx | portable-mixed | PT-H12 | 5 | packages/editor/tests/serialize-deserialize.test.tsx:13 describe: Serialize/Deserialize |
| packages/editor/tests/serialize-deserialize.test.tsx:14 test: Scenario: Custom text/html deserializer | |||||
| packages/editor/tests/serialize-deserialize.test.tsx:179 test: Scenario: Fallback on failing deserialization | |||||
| packages/editor/tests/serialize-deserialize.test.tsx:330 test: Scenario: Executing deserialize | |||||
| packages/editor/tests/serialize-deserialize.test.tsx:388 test: Scenario: Forwarding deserialize | |||||
| 184 | packages/editor/tests/setup.test.tsx | portable-mixed | PT-H12 | 2 | packages/editor/tests/setup.test.tsx:14 describe: Setup |
| packages/editor/tests/setup.test.tsx:15 test: Scenario: Unknown block object | |||||
| 185 | packages/editor/tests/tables.test.tsx | portable-mixed | PT-H12 | 18 | packages/editor/tests/tables.test.tsx:143 describe: tables |
| packages/editor/tests/tables.test.tsx:144 test: render | |||||
| packages/editor/tests/tables.test.tsx:152 describe: incoming patches | |||||
| packages/editor/tests/tables.test.tsx:153 test: set headerRows | |||||
| packages/editor/tests/tables.test.tsx:172 test: set rows | |||||
| packages/editor/tests/tables.test.tsx:215 test: set cells | |||||
| packages/editor/tests/tables.test.tsx:257 test: set marks | |||||
| packages/editor/tests/tables.test.tsx:313 test: unset rows | |||||
| packages/editor/tests/tables.test.tsx:329 test: unset cells | |||||
| packages/editor/tests/tables.test.tsx:347 test: unset content | |||||
| packages/editor/tests/tables.test.tsx:372 test: unset children | |||||
| packages/editor/tests/tables.test.tsx:408 describe: normalization | |||||
| packages/editor/tests/tables.test.tsx:409 test: text blocks inside containers get missing .markDefs | |||||
| packages/editor/tests/tables.test.tsx:479 test: text blocks inside containers get missing .style | |||||
| packages/editor/tests/tables.test.tsx:547 test: spans inside containers get missing .marks | |||||
| packages/editor/tests/tables.test.tsx:618 test: duplicate keys inside containers are fixed | |||||
| packages/editor/tests/tables.test.tsx:716 test: empty text blocks inside containers get a span inserted | |||||
| packages/editor/tests/tables.test.tsx:780 test: text blocks with missing children inside containers get restored | |||||
| 186 | packages/editor/tests/test-editor.test.tsx | portable-mixed | PT-H12 | 1 | packages/editor/tests/test-editor.test.tsx:21 test: returns a locator scoped to the rendered editor |
| 187 | packages/editor/tests/text-edge-selectors-container.test.tsx | portable-mixed | PT-H02 | 4 | packages/editor/tests/text-edge-selectors-container.test.tsx:32 describe: text-edge selectors (container awareness) |
| packages/editor/tests/text-edge-selectors-container.test.tsx:33 test: getBlockTextBefore and getBlockTextAfter read text in the container line | |||||
| packages/editor/tests/text-edge-selectors-container.test.tsx:85 test: getSelectionText returns text of a selection spanning container lines | |||||
| packages/editor/tests/text-edge-selectors-container.test.tsx:157 test: getCaretWordSelection finds the word under the caret inside a container | |||||
| 188 | packages/editor/tests/to-engine-range.test.tsx | portable | PT-H01 | 5 | packages/editor/tests/to-engine-range.test.tsx:8 describe: toEngineRange |
| packages/editor/tests/to-engine-range.test.tsx:9 test: Scenario: Collapsed selection inside a span | |||||
| packages/editor/tests/to-engine-range.test.tsx:43 test: Scenario: Expanded selection across two spans in one block | |||||
| packages/editor/tests/to-engine-range.test.tsx:81 test: Scenario: Expanded selection across two text blocks | |||||
| packages/editor/tests/to-engine-range.test.tsx:122 test: Scenario: Selection from text into a void block keeps the void in range | |||||
| 189 | packages/editor/tests/undo-merge-blocks.test.tsx | portable-mixed | PT-H12 | 2 | packages/editor/tests/undo-merge-blocks.test.tsx:10 describe: merge blocks + undo emits well-formed patches |
| packages/editor/tests/undo-merge-blocks.test.tsx:11 test: Backspace merge at root + undo does not emit malformed patches | |||||
| 190 | packages/editor/tests/undo-redo-collaboration.test.tsx | portable | PT-H08 | 6 | packages/editor/tests/undo-redo-collaboration.test.tsx:31 describe: Undo/Redo Collaboration (hand-coded) |
| packages/editor/tests/undo-redo-collaboration.test.tsx:32 test: will let editor A undo their change after B did an unrelated change (multi-line block) | |||||
| packages/editor/tests/undo-redo-collaboration.test.tsx:217 test: undoing out-of-order | |||||
| packages/editor/tests/undo-redo-collaboration.test.tsx:314 test: editor A undo their change after B did an unrelated change (single-line, emoji) | |||||
| packages/editor/tests/undo-redo-collaboration.test.tsx:376 test: editor A undo their change after B did an unrelated change (multi-line block, emoji) | |||||
| packages/editor/tests/undo-redo-collaboration.test.tsx:459 test: editor A undo their change after B did an unrelated change (multi-line block, kanji) | |||||
| 191 | packages/editor/tests/unique-sibling-keys.test.tsx | portable-mixed | PT-H12 | 7 | packages/editor/tests/unique-sibling-keys.test.tsx:14 describe: unique sibling _keys |
| packages/editor/tests/unique-sibling-keys.test.tsx:15 test: splitting span with a decorator | |||||
| packages/editor/tests/unique-sibling-keys.test.tsx:63 test: splitting span with an annotation | |||||
| packages/editor/tests/unique-sibling-keys.test.tsx:111 test: splitting a block with Enter | |||||
| packages/editor/tests/unique-sibling-keys.test.tsx:174 test: merging blocks with Backspace | |||||
| packages/editor/tests/unique-sibling-keys.test.tsx:239 test: splitting and merging annotated block | |||||
| packages/editor/tests/unique-sibling-keys.test.tsx:333 test: moving a block | |||||
| 192 | packages/editor/tests/upload-images-on-paste.test.tsx | portable-mixed | PT-H06 | 3 | packages/editor/tests/upload-images-on-paste.test.tsx:35 test: Scenario: Pasting image files |
| packages/editor/tests/upload-images-on-paste.test.tsx:177 test: Scenario: Uploading images embedded in HTML | |||||
| packages/editor/tests/upload-images-on-paste.test.tsx:310 test: Scenario: Pasting image files that exist both in HTML and as a file | |||||
| 193 | packages/editor/tests/validation.test.tsx | portable-mixed | PT-H12 | 5 | packages/editor/tests/validation.test.tsx:9 describe: Value validation |
packages/editor/tests/validation.test.tsx:10 test: Initial value with null child results in a validation error | |||||
packages/editor/tests/validation.test.tsx:41 test: Scenario: Initial value with null child in second block results in a validation error | |||||
packages/editor/tests/validation.test.tsx:79 test: Scenario: Setting child to null results in a validation error | |||||
packages/editor/tests/validation.test.tsx:153 test: Scenario: New block with null child results in a validation error | |||||
| 194 | packages/editor/tests/valueNormalization.test.tsx | portable-mixed | PT-H12 | 2 | packages/editor/tests/valueNormalization.test.tsx:9 describe: values: normalization |
| packages/editor/tests/valueNormalization.test.tsx:10 it: accepts incoming value with blocks without a style or markDefs prop, but doesn't leave them without them when editing them | |||||
| 195 | packages/editor/tests/withEditableAPIDelete.test.tsx | portable | PT-H05 | 5 | packages/editor/tests/withEditableAPIDelete.test.tsx:44 describe: plugin:withEditableAPI: .delete() |
| packages/editor/tests/withEditableAPIDelete.test.tsx:45 it: deletes block | |||||
| packages/editor/tests/withEditableAPIDelete.test.tsx:101 it: deletes all the blocks, but leaves a placeholder block | |||||
| packages/editor/tests/withEditableAPIDelete.test.tsx:158 it: deletes children | |||||
| packages/editor/tests/withEditableAPIDelete.test.tsx:237 it: deletes selected | |||||
| 196 | packages/editor/tests/withEditableAPIGetFragment.test.tsx | portable-mixed | PT-H12 | 3 | packages/editor/tests/withEditableAPIGetFragment.test.tsx:50 describe: plugin:withEditableAPI: .getFragment() |
| packages/editor/tests/withEditableAPIGetFragment.test.tsx:51 it: can get a Portable Text fragment of the current selection in a single block | |||||
| packages/editor/tests/withEditableAPIGetFragment.test.tsx:104 it: can get a Portable Text fragment of the current selection in multiple blocks | |||||
| 197 | packages/editor/tests/withEditableAPIInsert.test.tsx | portable | PT-H04 | 9 | packages/editor/tests/withEditableAPIInsert.test.tsx:57 describe: plugin:withEditableAPI: .insertChild() |
| packages/editor/tests/withEditableAPIInsert.test.tsx:58 it: inserts child nodes correctly | |||||
| packages/editor/tests/withEditableAPIInsert.test.tsx:189 describe: plugin:withEditableAPI: .insertBlock() | |||||
| packages/editor/tests/withEditableAPIInsert.test.tsx:190 it: should not add empty blank blocks: empty block | |||||
| packages/editor/tests/withEditableAPIInsert.test.tsx:264 it: should not add empty blank blocks: non-empty block | |||||
| packages/editor/tests/withEditableAPIInsert.test.tsx:326 it: should be inserted before if focus is on start of block | |||||
| packages/editor/tests/withEditableAPIInsert.test.tsx:391 it: should not add empty blank blocks: non text block | |||||
| packages/editor/tests/withEditableAPIInsert.test.tsx:458 it: should not add empty blank blocks: in between blocks | |||||
| packages/editor/tests/withEditableAPIInsert.test.tsx:523 it: should not add empty blank blocks: in new empty text block | |||||
| 198 | packages/editor/tests/withEditableAPISelectionsOverlapping.test.tsx | portable | PT-H01 | 5 | packages/editor/tests/withEditableAPISelectionsOverlapping.test.tsx:26 describe: plugin:withEditableAPI: .isSelectionsOverlapping |
| packages/editor/tests/withEditableAPISelectionsOverlapping.test.tsx:27 it: returns true if the selections are partially overlapping | |||||
| packages/editor/tests/withEditableAPISelectionsOverlapping.test.tsx:64 it: returns true if the selections are fully overlapping | |||||
| packages/editor/tests/withEditableAPISelectionsOverlapping.test.tsx:101 it: return true if selection is fully inside another selection | |||||
| packages/editor/tests/withEditableAPISelectionsOverlapping.test.tsx:138 it: returns false if the selections are not overlapping | |||||
| 199 | packages/editor/tests/withPortableTextMarkModel.test.tsx | portable-mixed | PT-H12 | 11 | packages/editor/tests/withPortableTextMarkModel.test.tsx:15 describe: plugin:withPortableTextMarksModel |
| packages/editor/tests/withPortableTextMarkModel.test.tsx:16 describe: normalization | |||||
| packages/editor/tests/withPortableTextMarkModel.test.tsx:17 it: toggles marks on children with annotation marks correctly | |||||
| packages/editor/tests/withPortableTextMarkModel.test.tsx:115 it: merges blocks correctly when containing links | |||||
| packages/editor/tests/withPortableTextMarkModel.test.tsx:246 it: resets markDefs when splitting a block in the beginning | |||||
| packages/editor/tests/withPortableTextMarkModel.test.tsx:374 describe: selection | |||||
| packages/editor/tests/withPortableTextMarkModel.test.tsx:375 it: should emit a new selection object when toggling marks, even though the value is the same | |||||
| packages/editor/tests/withPortableTextMarkModel.test.tsx:441 it: should return active marks that cover the whole selection | |||||
| packages/editor/tests/withPortableTextMarkModel.test.tsx:491 it: should return active annotation types that cover the whole selection | |||||
| packages/editor/tests/withPortableTextMarkModel.test.tsx:548 describe: removing nodes | |||||
| packages/editor/tests/withPortableTextMarkModel.test.tsx:549 it: should not insert a new block if we have more blocks available | |||||
| 200 | packages/editor/tests/withPortableTextSelections.test.tsx | portable | PT-H01 | 2 | packages/editor/tests/withPortableTextSelections.test.tsx:39 describe: plugin:withPortableTextSelections |
| packages/editor/tests/withPortableTextSelections.test.tsx:40 it: will report that a selection is made backward |