Back to Plate

Slate v2 Test Candidate Map: 5760-5666

docs/slate-issues/test-candidate-map/5760-5666.md

53.0.67.7 KB
Original Source

Slate v2 Test Candidate Map: 5760-5666

Scope

These TDD handoff notes cover issues #5760 through #5666 from the pilot set. Use the top-level index for range navigation and the dossiers for fuller thread context.


Issue #5760

  • package: slate-dom
  • TDD readiness: ready-with-minor-setup
  • public test seam: toDOMRange zero-width offset on iOS

Minimal Repro Setup

  • DOM text node rendered without the expected zero-width sentinel
  • range conversion through toDOMRange

Expected Failing Assertion

  • DOM range creation should never call setStart with an out-of-bounds offset

Issue #5757

  • package: repo-only
  • TDD readiness: not-a-test-candidate
  • public test seam: none

Why Not A Direct Test Candidate

This is a security-reporting workflow issue, not product behavior.


Issue #5750

  • package: site/examples
  • TDD readiness: ready-now
  • public test seam: markdown preview combo emphasis parse

Minimal Repro Setup

  • markdown preview example
  • input ***bold****italic*

Expected Failing Assertion

  • the preview should split into bold then italic instead of collapsing the whole string incorrectly

Issue #5749

  • package: slate-dom and slate-react
  • TDD readiness: ready-with-minor-setup
  • public test seam: shadow DOM drag and drop

Minimal Repro Setup

  • editor rendered inside a ShadowRoot
  • drag selected text to another location

Expected Failing Assertion

  • drag-and-drop should not throw DOM-point resolution errors and should move the text

Issue #5748

  • package: docs-only
  • TDD readiness: not-a-test-candidate
  • public test seam: none

Why Not A Direct Test Candidate

The thread resolves this as root-path semantics plus docs clarity.


Issue #5735

  • package: ecosystem
  • TDD readiness: not-a-test-candidate
  • public test seam: none

Why Not A Direct Test Candidate

This is an animation/support question, not a failing Slate contract.


Issue #5733

  • package: slate
  • TDD readiness: ready-now
  • public test seam: Text.equals custom omit keys

Minimal Repro Setup

  • text nodes with stable custom IDs
  • equality comparison in loose mode

Expected Failing Assertion

  • consumers should have a supported way to ignore custom keys without ts-ignore gymnastics

Issue #5732

  • package: docs-only
  • TDD readiness: not-a-test-candidate
  • public test seam: none

Why Not A Direct Test Candidate

Spam is not test work.


Issue #5711

  • package: slate-dom and slate-react
  • TDD readiness: ready-with-minor-setup
  • public test seam: iOS hold-backspace empty editor recover

Minimal Repro Setup

  • iOS or equivalent mobile harness
  • delete all content by holding backspace
  • retype and backspace again

Expected Failing Assertion

  • empty-editor recovery should not end in Cannot resolve a Slate point from DOM point

Issue #5710

  • package: slate
  • TDD readiness: not-a-test-candidate
  • public test seam: replace editor contents atomically

Why Not A Direct Test Candidate

This is API-shape pressure, not a broken current behavior with one canonical assertion.


Issue #5709

  • package: slate-react
  • TDD readiness: ready-now
  • public test seam: Slate context editor replacement

Minimal Repro Setup

  • mount <Slate>
  • replace the editor instance prop
  • read from useSlate

Expected Failing Assertion

  • hooks should observe the new editor instance instead of the stale one

Issue #5704

  • package: docs-only
  • TDD readiness: not-a-test-candidate
  • public test seam: none

Why Not A Direct Test Candidate

This is selection-ownership confusion between the editor and an external popup.


Issue #5698

  • package: slate-dom and slate-react
  • TDD readiness: blocked-on-repro
  • public test seam: empty editor delete then retype

Current Blocker

The issue body is too weak and should probably collapse into the stronger empty-editor iOS issue instead.


Issue #5697

  • package: slate and slate-react
  • TDD readiness: ready-now
  • public test seam: ReactEditor.findPath validation and fallback

Minimal Repro Setup

  • stale weak-map path metadata
  • node still present in editor.children

Expected Failing Assertion

  • path lookup should recover or fall back instead of throwing on transient weak-map staleness

Issue #5692

  • package: ecosystem
  • TDD readiness: not-a-test-candidate
  • public test seam: legacy Chrome InputEvent detection

Why Not A Direct Test Candidate

This is a legacy-browser support question first, not a good default test investment.


Issue #5691

  • package: slate
  • TDD readiness: ready-now
  • public test seam: ref Symbol.dispose support

Minimal Repro Setup

  • create PathRef, PointRef, or RangeRef
  • invoke [Symbol.dispose]

Expected Failing Assertion

  • disposable refs should unref cleanly without bespoke cleanup code

Issue #5690

  • package: slate-react
  • TDD readiness: ready-now
  • public test seam: double-click inline boundary delete

Minimal Repro Setup

  • inline example or equivalent inline element
  • double-click selection immediately before it
  • backspace on Windows/Chrome semantics

Expected Failing Assertion

  • deleting the selected word-space range should not crash DOM range translation

Issue #5689

  • package: slate-dom and slate-react
  • TDD readiness: ready-with-minor-setup
  • public test seam: triple-click upward selection

Minimal Repro Setup

  • browser triple-click selection
  • drag or extend upward

Expected Failing Assertion

  • selection should persist with the right anchor/focus direction instead of disappearing

Issue #5686

  • package: slate
  • TDD readiness: not-a-test-candidate
  • public test seam: deep node replacement via setNodes

Why Not A Direct Test Candidate

The thread resolves this as unsupported semantics, not a current broken contract.


Issue #5684

  • package: slate
  • TDD readiness: blocked-on-repro
  • public test seam: Editor.nodes match traversal ambiguity

Current Blocker

There is not enough concrete document shape or predicate detail to write a trustworthy red test.


Issue #5680

  • package: slate-dom and slate-react
  • TDD readiness: ready-with-minor-setup
  • public test seam: Android inline delete hides keyboard

Minimal Repro Setup

  • Android browser harness
  • inline element such as mention
  • backspace across trailing space and element

Expected Failing Assertion

  • deleting the inline should not dismiss the soft keyboard

Issue #5671

  • package: docs-only
  • TDD readiness: not-a-test-candidate
  • public test seam: none

Why Not A Direct Test Candidate

This is onboarding/support material, not failing product behavior.


Issue #5669

  • package: slate-react
  • TDD readiness: ready-with-minor-setup
  • public test seam: Editable native input event parity

Minimal Repro Setup

  • attach input listener to <Editable>
  • type letters, numbers, delete, and non-Latin input

Expected Failing Assertion

  • the input listener should observe the same categories of edit instead of dropping numbers and deletions

Issue #5667

  • package: docs-only
  • TDD readiness: not-a-test-candidate
  • public test seam: none

Why Not A Direct Test Candidate

This is key={index} misuse, not Slate behavior.


Issue #5666

  • package: slate-dom and slate-react
  • TDD readiness: ready-with-minor-setup
  • public test seam: Android TV Firefox repeated letters

Minimal Repro Setup

  • Android touch TV or close equivalent harness
  • Firefox
  • first input on empty editor and first input after newline

Expected Failing Assertion

  • typing should not duplicate letters or reverse order after a newline