Back to Plate

Portable Text Portable Test Index

docs/editor-test-harvester/portabletext/test-index.md

53.0.8229.8 KB
Original Source

Portable Text Portable Test Index

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.

#SourceCategoryFamilyAnchor countExtracted names
1packages/editor/gherkin-tests/block-objects.test.tsportablePT-H0313packages/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
2packages/editor/gherkin-tests/delete.test.tsportablePT-H0515packages/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
3packages/editor/gherkin-tests/inline-objects.test.tsportablePT-H037packages/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
4packages/editor/gherkin-tests/insert.block.test.tsportablePT-H0425packages/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
5packages/editor/gherkin-tests/insert.blocks.test.tsportablePT-H048packages/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
6packages/editor/gherkin-tests/insert.break.test.tsportablePT-H046packages/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
7packages/editor/gherkin-tests/insert.child.test.tsportablePT-H046packages/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
8packages/editor/gherkin-tests/insert.text.test.tsportablePT-H042packages/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
9packages/editor/gherkin-tests/paste.test.tsportable-mixedPT-H064packages/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
10packages/editor/gherkin-tests/removing-blocks.test.tsportablePT-H053packages/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
11packages/editor/gherkin-tests/selection-adjustment.test.tsportablePT-H014packages/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
12packages/editor/gherkin-tests/selection.test.tsportablePT-H015packages/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
13packages/editor/gherkin-tests/splitting-blocks.test.tsportablePT-H0419packages/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
14packages/editor/gherkin-tests/undo-redo.test.tsxportablePT-H0817packages/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
15packages/editor/src/behaviors/fit-blocks-to-destination.test.tsportablePT-H048packages/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
16packages/editor/src/editor/get-selection-state.test.tsportablePT-H0137packages/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
17packages/editor/src/editor/resolve-element-drop-position.test.tsportable-mixedPT-H076packages/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
18packages/editor/src/editor/validate-selection-machine.test.tsportablePT-H012packages/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
19packages/editor/src/engine/editor/unhang-range.test.tsportablePT-H0115packages/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
20packages/editor/src/engine/node/is-void-node.test.tsportablePT-H0326packages/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
21packages/editor/src/engine/operation/inverse-operation.test.tsportablePT-H119packages/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
22packages/editor/src/engine/path/compare-paths.test.tsportablePT-H119packages/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
23packages/editor/src/engine/path/parent-path.test.tsportablePT-H116packages/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
24packages/editor/src/engine/path/path-levels.test.tsportablePT-H117packages/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
25packages/editor/src/engine/path/sibling-path.test.tsportablePT-H118packages/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
26packages/editor/src/engine/point/transform-point.test.tsportablePT-H0114packages/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
27packages/editor/src/engine/range/ranges-overlap.test.tsportablePT-H0111packages/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
28packages/editor/src/internal-utils/__tests__/ranges.test.tsportablePT-H012packages/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
29packages/editor/src/internal-utils/__tests__/values.test.tsportablePT-H114packages/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
30packages/editor/src/internal-utils/apply-selection.test.tsportablePT-H019packages/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
31packages/editor/src/internal-utils/build-index-maps.test.tsportablePT-H1115packages/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
32packages/editor/src/internal-utils/get-unwrap-target.test.tsportablePT-H1111packages/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
33packages/editor/src/internal-utils/is-hotkey.test.tsportablePT-H111packages/editor/src/internal-utils/is-hotkey.test.ts:106 test: isHotkey.name
34packages/editor/src/internal-utils/operation-to-patches.test.tsportablePT-H1113packages/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
35packages/editor/src/internal-utils/transform-operation.test.tsportablePT-H117packages/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)
36packages/editor/src/internal-utils/values.test.tsportablePT-H1112packages/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
37packages/editor/src/node-traversal/get-ancestor.test.tsportablePT-H1113packages/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
38packages/editor/src/node-traversal/get-ancestors-positional-same-type.test.tsportablePT-H113packages/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
39packages/editor/src/node-traversal/get-ancestors.test.tsportablePT-H1111packages/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
40packages/editor/src/node-traversal/get-children-positional-same-type.test.tsportablePT-H113packages/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
41packages/editor/src/node-traversal/get-children.test.tsportablePT-H1114packages/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
42packages/editor/src/node-traversal/get-first-child.test.tsportablePT-H119packages/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
43packages/editor/src/node-traversal/get-highest-object-node.test.tsportablePT-H0314packages/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
44packages/editor/src/node-traversal/get-last-child.test.tsportablePT-H119packages/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
45packages/editor/src/node-traversal/get-leaf.test.tsportablePT-H1114packages/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
46packages/editor/src/node-traversal/get-node.test.tsportablePT-H1121packages/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
47packages/editor/src/node-traversal/get-nodes.test.tsportablePT-H1138packages/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
48packages/editor/src/node-traversal/get-parent.test.tsportablePT-H119packages/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
49packages/editor/src/node-traversal/get-sibling.test.tsportablePT-H1122packages/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
50packages/editor/src/node-traversal/get-text.test.tsportablePT-H1121packages/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
51packages/editor/src/node-traversal/get-value.test.tsportablePT-H1119packages/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
52packages/editor/src/node-traversal/has-node.test.tsportablePT-H115packages/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
53packages/editor/src/paths/get-dirty-paths.test.tsportablePT-H1133packages/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
54packages/editor/src/paths/serialize-path.test.tsportablePT-H1116packages/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
55packages/editor/src/plugins/plugin.internal.auto-close-brackets.test.tsxportable-mixedPT-H123packages/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
56packages/editor/src/priority/priority.sort.test.tsportable-mixedPT-H1216packages/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
57packages/editor/src/renderers/renderer.types.test.tsxportable-mixedPT-H1218packages/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
58packages/editor/src/schema/get-block-object-schema.test.tsportable-mixedPT-H024packages/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
59packages/editor/src/schema/resolve-containers.test.tsportable-mixedPT-H0214packages/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
60packages/editor/src/selectors/drag-selection.test.tsportable-mixedPT-H0716packages/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
61packages/editor/src/selectors/selector.get-applicable-schema.test.tsportable-mixedPT-H029packages/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
62packages/editor/src/selectors/selector.get-caret-word-selection.test.tsportablePT-H017packages/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
63packages/editor/src/selectors/selector.get-fragment.test.tsportable-mixedPT-H126packages/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
64packages/editor/src/selectors/selector.get-selected-blocks.test.tsportable-mixedPT-H123packages/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
65packages/editor/src/selectors/selector.get-selected-spans.test.tsportable-mixedPT-H1210packages/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
66packages/editor/src/selectors/selector.get-selected-text-blocks.test.tsportable-mixedPT-H123packages/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
67packages/editor/src/selectors/selector.get-selected-value.test.tsportable-mixedPT-H1224packages/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
68packages/editor/src/selectors/selector.get-selection-text.test.tsportablePT-H011packages/editor/src/selectors/selector.get-selection-text.test.ts:70 test: getSelectionText.name
69packages/editor/src/selectors/selector.is-overlapping-selection.test.tsportablePT-H0119packages/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
70packages/editor/src/selectors/selector.is-point-relative-to-selection.test.tsportablePT-H016packages/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
71packages/editor/src/selectors/selector.is-selection-expanded.test.tsportablePT-H014packages/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
72packages/editor/src/traversal/get-path-sub-schema.test.tsportable-mixedPT-H023packages/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
73packages/editor/src/traversal/get-union-schema.test.tsportable-mixedPT-H025packages/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
74packages/editor/src/utils/util.block-offset.test.tsportablePT-H0421packages/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
75packages/editor/src/utils/util.slice-text-block.test.tsportablePT-H046packages/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
76packages/editor/test-utils/boundary-equivalent.test.tsportablePT-H019packages/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
77packages/editor/test-utils/selection-text.test.tsportablePT-H011packages/editor/test-utils/selection-text.test.ts:6 test: getSelectionText.name
78packages/editor/test-utils/string-overlap.test.tsportablePT-H011packages/editor/test-utils/string-overlap.test.ts:4 test: stringOverlap.name
79packages/editor/tests/PortableTextEditor.test.tsxportable-mixedPT-H128packages/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
80packages/editor/tests/backspace-before-container.test.tsxportable-mixedPT-H026packages/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
81packages/editor/tests/behavior-api.test.tsxportable-mixedPT-H1227packages/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
82packages/editor/tests/behavior.snapshot-leak.test.tsxportable-mixedPT-H123packages/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
83packages/editor/tests/block-selectors-container.test.tsxportable-mixedPT-H027packages/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
84packages/editor/tests/child-selectors-container.test.tsxportable-mixedPT-H024packages/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
85packages/editor/tests/click-lonely-block-object-container.test.tsxportable-mixedPT-H023packages/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
86packages/editor/tests/code-block-registration.test.tsxportable-mixedPT-H124packages/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
87packages/editor/tests/code-block.navigation.test.tsxportable-mixedPT-H123packages/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
88packages/editor/tests/code-block.test.tsxportable-mixedPT-H122packages/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
89packages/editor/tests/collaborative-editing.test.tsxportablePT-H0815packages/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
90packages/editor/tests/composition.test.tsportablePT-H0925packages/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
91packages/editor/tests/container-dual-type.test.tsxportable-mixedPT-H022packages/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
92packages/editor/tests/container-enter-escape.test.tsxportable-mixedPT-H023packages/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
93packages/editor/tests/container-insert-block.test.tsxportable-mixedPT-H026packages/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
94packages/editor/tests/container-normalization.test.tsxportable-mixedPT-H0223packages/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
95packages/editor/tests/container-permutations.test.tsxportable-mixedPT-H028packages/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)
96packages/editor/tests/container-render-focused-selected.test.tsxportable-mixedPT-H025packages/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
97packages/editor/tests/container-rendering.test.tsxportable-mixedPT-H0220packages/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
98packages/editor/tests/container-resolution-rules.test.tsxportable-mixedPT-H028packages/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
99packages/editor/tests/container-typing.test.tsxportable-mixedPT-H022packages/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
100packages/editor/tests/cross-container-range-delete.test.tsxportable-mixedPT-H0225packages/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
101packages/editor/tests/data-path.test.tsxportablePT-H1112packages/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
102packages/editor/tests/define-container-leaf-conflict.test.tsxportable-mixedPT-H026packages/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
103packages/editor/tests/define-leaf-block-object-wrapper.test.tsxportablePT-H033packages/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
104packages/editor/tests/define-leaf-inline-object-spacer.test.tsxportablePT-H033packages/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
105packages/editor/tests/define-textblock.test.tsxportable-mixedPT-H123packages/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
106packages/editor/tests/delete-empty-container.test.tsxportable-mixedPT-H0213packages/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
107packages/editor/tests/dom-structure.test.tsxportable-mixedPT-H029packages/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"
108packages/editor/tests/edge-selectors-container.test.tsxportable-mixedPT-H024packages/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
109packages/editor/tests/editable-api.test.tsxportable-mixedPT-H129packages/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
110packages/editor/tests/editor-snapshot.test.tsxportable-mixedPT-H124packages/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
111packages/editor/tests/event.block.set.test.tsxportable-mixedPT-H1212packages/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
112packages/editor/tests/event.block.unset.test.tsxportable-mixedPT-H1210packages/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
113packages/editor/tests/event.child.set.test.tsxportable-mixedPT-H126packages/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
114packages/editor/tests/event.child.unset.test.tsxportable-mixedPT-H127packages/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
115packages/editor/tests/event.delete.backward.test.tsxportablePT-H0514packages/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
116packages/editor/tests/event.delete.block.test.tsxportablePT-H053packages/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
117packages/editor/tests/event.delete.forward.test.tsxportablePT-H053packages/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
118packages/editor/tests/event.delete.matrix.test.tsxportablePT-H0515packages/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
119packages/editor/tests/event.delete.test.tsxportablePT-H0526packages/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
120packages/editor/tests/event.drag.drop.self-drop.test.tsxportable-mixedPT-H076packages/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
121packages/editor/tests/event.drag.drop.test.tsxportable-mixedPT-H075packages/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
122packages/editor/tests/event.focus.test.tsxportablePT-H013packages/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
123packages/editor/tests/event.history.redo.test.tsxportable-mixedPT-H123packages/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
124packages/editor/tests/event.history.undo.test.tsxportable-mixedPT-H1222packages/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
125packages/editor/tests/event.input.test.tsxportable-mixedPT-H126packages/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
126packages/editor/tests/event.insert.block.test.tsxportablePT-H0438packages/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
127packages/editor/tests/event.insert.blocks.test.tsxportablePT-H0458packages/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
128packages/editor/tests/event.insert.child.test.tsxportablePT-H045packages/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
129packages/editor/tests/event.insert.inline-object.test.tsxportablePT-H044packages/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
130packages/editor/tests/event.insert.span.test.tsxportablePT-H048packages/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
131packages/editor/tests/event.insert.test.tsxportablePT-H042packages/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
132packages/editor/tests/event.insert.text.test.tsxportablePT-H0411packages/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
133packages/editor/tests/event.keyboard.keydown.test.tsxportable-mixedPT-H123packages/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
134packages/editor/tests/event.move.block.cross-container.test.tsxportable-mixedPT-H024packages/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
135packages/editor/tests/event.move.block.selection.test.tsxportablePT-H015packages/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
136packages/editor/tests/event.move.block.test.tsxportable-mixedPT-H1212packages/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
137packages/editor/tests/event.mutation.test.tsxportable-mixedPT-H124packages/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
138packages/editor/tests/event.paste.test.tsxportable-mixedPT-H068packages/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
139packages/editor/tests/event.patch.test.tsxportable-mixedPT-H1215packages/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
140packages/editor/tests/event.patches.test.tsxportable-mixedPT-H1295packages/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
141packages/editor/tests/event.ready.test.tsxportable-mixedPT-H123packages/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
142packages/editor/tests/event.remove.text.test.tsxportable-mixedPT-H122packages/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
143packages/editor/tests/event.select.block.test.tsxportable-mixedPT-H1212packages/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
144packages/editor/tests/event.select.test.tsxportable-mixedPT-H129packages/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
145packages/editor/tests/event.set.test.tsxportable-mixedPT-H122packages/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
146packages/editor/tests/event.split.test.tsxportable-mixedPT-H128packages/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
147packages/editor/tests/event.unset.test.tsxportable-mixedPT-H123packages/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
148packages/editor/tests/event.update-value.container.test.tsxportable-mixedPT-H0215packages/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)
149packages/editor/tests/event.update-value.test.tsxportable-mixedPT-H1228packages/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)
150packages/editor/tests/event.value-changed.test.tsxportable-mixedPT-H123packages/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
151packages/editor/tests/focus.test.tsxportablePT-H013packages/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
152packages/editor/tests/history.preserving-keys.test.tsxportable-mixedPT-H123packages/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
153packages/editor/tests/initial-render-registration.test.tsxportable-mixedPT-H122packages/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
154packages/editor/tests/inline-object-contenteditable.test.tsxportablePT-H033packages/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
155packages/editor/tests/inline-objects.test.tsxportablePT-H036packages/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
156packages/editor/tests/inline-pipeline-mode-inheritance.test.tsxportable-mixedPT-H125packages/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
157packages/editor/tests/insert-block.test.tsxportable-mixedPT-H124packages/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
158packages/editor/tests/insert-respects-sub-schema.test.tsxportable-mixedPT-H0213packages/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
159packages/editor/tests/legacy-suppression.test.tsxportable-mixedPT-H128packages/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
160packages/editor/tests/normalization.test.tsxportable-mixedPT-H1214packages/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
161packages/editor/tests/performance.test.tsxportable-mixedPT-H1212packages/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
162packages/editor/tests/placeholder-block.test.tsxportable-mixedPT-H1216packages/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
163packages/editor/tests/plugin.document-title.test.tsxportable-mixedPT-H121packages/editor/tests/plugin.document-title.test.tsx:72 test: DocumentTitlePlugin.name
164packages/editor/tests/positional-override-block-level.test.tsxportable-mixedPT-H1218packages/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
165packages/editor/tests/positional-override-cross-scope.test.tsxportable-mixedPT-H124packages/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
166packages/editor/tests/positional-override-inline-level.test.tsxportable-mixedPT-H1212packages/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
167packages/editor/tests/positional-override-isolation.test.tsxportable-mixedPT-H123packages/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
168packages/editor/tests/positional-override-negative.test.tsxportable-mixedPT-H126packages/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
169packages/editor/tests/pteWarningsSelfSolving.test.tsxportable-mixedPT-H128packages/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
170packages/editor/tests/range-decorations.test.tsxportablePT-H018packages/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
171packages/editor/tests/range-selectors-container.test.tsxportable-mixedPT-H023packages/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
172packages/editor/tests/recursive-schema.test.tsxportable-mixedPT-H029packages/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
173packages/editor/tests/register-node-clean-dom.test.tsxportable-mixedPT-H126packages/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
174packages/editor/tests/render-block.test.tsxportable-mixedPT-H126packages/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
175packages/editor/tests/render-child.test.tsxportable-mixedPT-H125packages/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
176packages/editor/tests/render-count-regression.test.tsxportable-mixedPT-H124packages/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
177packages/editor/tests/render-default-prop.test.tsxportable-mixedPT-H1217packages/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
178packages/editor/tests/schema-no-intermediate-row.test.tsxportable-mixedPT-H024packages/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
179packages/editor/tests/selection-after-remote-patches.test.tsxportablePT-H089packages/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
180packages/editor/tests/selection-emit-dedup.test.tsxportablePT-H083packages/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
181packages/editor/tests/selection-emit-stability.test.tsxportablePT-H084packages/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
182packages/editor/tests/self-solving.test.tsxportable-mixedPT-H128packages/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
183packages/editor/tests/serialize-deserialize.test.tsxportable-mixedPT-H125packages/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
184packages/editor/tests/setup.test.tsxportable-mixedPT-H122packages/editor/tests/setup.test.tsx:14 describe: Setup
packages/editor/tests/setup.test.tsx:15 test: Scenario: Unknown block object
185packages/editor/tests/tables.test.tsxportable-mixedPT-H1218packages/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
186packages/editor/tests/test-editor.test.tsxportable-mixedPT-H121packages/editor/tests/test-editor.test.tsx:21 test: returns a locator scoped to the rendered editor
187packages/editor/tests/text-edge-selectors-container.test.tsxportable-mixedPT-H024packages/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
188packages/editor/tests/to-engine-range.test.tsxportablePT-H015packages/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
189packages/editor/tests/undo-merge-blocks.test.tsxportable-mixedPT-H122packages/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
190packages/editor/tests/undo-redo-collaboration.test.tsxportablePT-H086packages/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)
191packages/editor/tests/unique-sibling-keys.test.tsxportable-mixedPT-H127packages/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
192packages/editor/tests/upload-images-on-paste.test.tsxportable-mixedPT-H063packages/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
193packages/editor/tests/validation.test.tsxportable-mixedPT-H125packages/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
194packages/editor/tests/valueNormalization.test.tsxportable-mixedPT-H122packages/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
195packages/editor/tests/withEditableAPIDelete.test.tsxportablePT-H055packages/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
196packages/editor/tests/withEditableAPIGetFragment.test.tsxportable-mixedPT-H123packages/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
197packages/editor/tests/withEditableAPIInsert.test.tsxportablePT-H049packages/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
198packages/editor/tests/withEditableAPISelectionsOverlapping.test.tsxportablePT-H015packages/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
199packages/editor/tests/withPortableTextMarkModel.test.tsxportable-mixedPT-H1211packages/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
200packages/editor/tests/withPortableTextSelections.test.tsxportablePT-H012packages/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