Back to Plate

ProseMirror Test Inventory

docs/editor-test-harvester/prosemirror/inventory.md

53.0.67.4 KB
Original Source

ProseMirror Test Inventory

Source: ../prosemirror

Inventory command:

bash
find ../prosemirror -path '*/node_modules' -prune -o -path '*/dist' -prune -o -path '*/build' -prune -o -type f \( -path '*/test/*' -o -path '*/tests/*' -o -path '*/__tests__/*' -o -name '*.test.*' -o -name '*.spec.*' \) -print | sort

The plain rg --files ../prosemirror | rg ... probe returned no rows because this checkout embeds package repositories under model/, view/, state/, transform/, history/, and collab/. The source inventory therefore uses find and excludes .git, build output, and symlinked harness assets. ../prosemirror/demo/test/mocha.css and ../prosemirror/demo/test/mocha.js are symlinks to missing local Mocha assets and are not source tests.

Counts

MetricCount
Source test/support files32
Named test/describe rows848
Classified files32
Unresolved files0
Portable19
Portable-mixed10
Harness/support3
Product-shell0
Skip source files0

plate-owned is an owner-routing overlay on top of the closed counts above. It marks useful plugin/view behavior that belongs in Plate packages, examples, docs, or backlog instead of raw Slate v2.

Plate-Owned Overlay

Source patternCurrent categoryPlate targetRaw Slate split
state/test/test-state.ts plugin fields, prop functions, filter/append transactions, plugin keysportable-mixedPlate plugin middleware/lifecycle lawTransaction metadata and public commit behavior stay in Slate v2.
view/test/webtest-draw.ts, view/test/webtest-view.ts plugin views, props, dispatch binding, editable/attribute policyportable-mixedPlate React/plugin host and editor integration examplesSurface/editable lifecycle and DOM position mapping stay in Slate/browser proof.
view/test/webtest-draw-decoration.ts multiple plugin decorations, widget destroy, node-view handoffportablePlate plugin decoration/render lifecycleProjection, annotation store, and widget mapping stay in Slate v2.
view/test/webtest-markview.ts, view/test/webtest-nodeview.ts contentDOM, update, ignoreMutation, destroy, getPos, inner/outer decorationsportable-mixedPlate render/plugin authoring contractsRaw Slate should not clone PM NodeView/MarkView APIs.

File Rows

FileLinesTest namesCategoryBehavior rowsReason
../prosemirror/collab/test/test-collab.ts22811portablePM-08collab convergence, remote steps, undo/redo under peers
../prosemirror/collab/test/test-rebase.ts17213portablePM-06, PM-08concurrent local/remote rebasing and dropped/deleted content
../prosemirror/history/test/test-history.ts41324portablePM-07undo grouping, redo invalidation, rebased selection restore
../prosemirror/model/test/test-content.ts14961portable-mixedPM-01content-expression fit/fill; schema grammar itself is not portable
../prosemirror/model/test/test-diff.ts9121portable-mixedPM-05fragment diff start/end for dirty-range detection
../prosemirror/model/test/test-dom.ts70499portablePM-03, PM-11DOM parse/serialize, whitespace, marks, comments, namespaces, parser context
../prosemirror/model/test/test-mark.ts17341portable-mixedPM-04mark-set identity, inclusivity, exclusion; PM mark algebra is not copied
../prosemirror/model/test/test-node.ts23850portable-mixedPM-01, PM-03node slicing, text extraction, JSON/debug, content validation
../prosemirror/model/test/test-replace.ts12421portablePM-01, PM-02replace fit, lopsided slices, split/merge rejection
../prosemirror/model/test/test-resolve.ts664portable-mixedPM-06, PM-13position resolution; numeric position model is PM-specific
../prosemirror/model/test/test-slice.ts8522portablePM-02open slice boundaries and marked partial fragments
../prosemirror/state/test/state.ts540harnessPM-15test helper wrapper only
../prosemirror/state/test/test-selection.ts20921portablePM-06selection mapping through replace, insert, delete, leaf/block selection
../prosemirror/state/test/test-state.ts14516portable-mixedPM-14raw middleware invariant is portable; plugin field/filter/append and prop-function policy is Plate-owned
../prosemirror/transform/test/test-mapping.ts8611portablePM-05, PM-06position mapping and deleted flags through step maps
../prosemirror/transform/test/test-replace_step.ts271portablePM-05, PM-08replace-around mapping through concurrent wrap/unwrap insertions
../prosemirror/transform/test/test-step.ts7316portablePM-05, PM-07step merging for typing, delete, mark add/remove
../prosemirror/transform/test/test-structure.ts18224portablePM-01, PM-05split/lift/wrap/replace structure fitting and impossible input suppression
../prosemirror/transform/test/test-trans.ts1089168portablePM-01, PM-02, PM-04, PM-05main transform oracle set: marks, insert/delete/join/split/lift/wrap/replace
../prosemirror/transform/test/trans.ts890harnessPM-15transform assertion helper and optional JSON emitter
../prosemirror/view/test/view.ts560harnessPM-15browser tempEditor/findTextNode/flush helpers only
../prosemirror/view/test/webtest-clipboard.ts12514portablePM-11clipboard context, open slices, wrappers, attrs, comment-wrapped HTML
../prosemirror/view/test/webtest-composition.ts30819portablePM-10composition lifecycle, Android newline, cursor wrappers, decorations, cross-paragraph input
../prosemirror/view/test/webtest-decoration.ts43349portablePM-12decoration set mapping, deletion, node movement, widget side/onRemove
../prosemirror/view/test/webtest-domchange.ts47034portablePM-09, PM-10DOM mutation import, ambiguous edits, synthetic backspace/enter, pending changes
../prosemirror/view/test/webtest-draw-decoration.ts53441portablePM-12rendered decoration/widget mapping is raw; multiple-plugin decoration lifecycle, widget destroy hooks, and node-view handoff are Plate-owned
../prosemirror/view/test/webtest-draw.ts1778portable-mixedPM-12, PM-14DOM redraw substrate is raw; attributes, editable prop, and plugin view lifetime are Plate-owned when app/plugin-facing
../prosemirror/view/test/webtest-endOfTextblock.ts13116portablePM-13line-edge detection, vertical movement, RTL, widget adjacency
../prosemirror/view/test/webtest-markview.ts694portable-mixedPM-12, PM-14mark-view contentDOM/ignoreMutation/destroy lifecycle is Plate-owned render/plugin authoring pressure
../prosemirror/view/test/webtest-nodeview.ts20310portable-mixedPM-12, PM-14node-view update/contentDOM/ignoreMutation/destroy/getPos/inner decorations are Plate-owned render/plugin authoring pressure
../prosemirror/view/test/webtest-selection.ts35819portablePM-06, PM-13DOM selection import/export, coords, RTL, arrow movement through atoms/blocks
../prosemirror/view/test/webtest-view.ts12310portable-mixedPM-13, PM-14DOM position mapping is raw browser proof; prop/state update and dispatch binding are Plate-owned integration policy