Comprehensive manual test scenarios organized by functional area. Each test targets either a feature not covered by automated tests, a cross-component interaction that is hard to isolate, or a visual/rendering concern requiring human inspection.
**text** — Type **bold**; verify bold text rendered with hidden markers*text* — Type *italic*; verify italic rendered~~text~~ — Type ~~strike~~; verify strikethrough rendered^^text^^ — Type ^^highlight^^; verify highlight rendered`code` — Type `code`; verify inline code rendered***italicbold***, **boldcode**; verify both formats apply[text](url) — Type [link](https://example.com); verify link rendered, URL hidden**unmatched; verify renders as literal text**[text](url)**; verify bold linked text[[Name]] — Type [[Page Name]]; verify rendered as page reference[[Real|Display]] — Type [[Real Page|Display Name]]; verify alias rendered((block-id)) — Type ((block-id-1234)); verify block reference rendered#tag at word boundary — Type #tag after space; verify tag renderedsome#tag; verify NOT rendered as tag/ menu opens — Type /; verify suggestion menu appears at cursor position/he; verify menu filters to heading options# inserted[[ menu opens — Type [[; verify page reference menu appears[[ menu Enter selects — Select a page; verify [[Page Name]] inserted(( menu opens — Type ((; verify block embed menu appears(( menu completion — Select a block; verify ((block-id)) inserted# tag menu — Type #; verify tag completion menu appears**text** wraps selection*text* wraps`text` wraps~~text~~ wraps^^text^^ wraps# prefix inserted[selected](url)[[name]]((id))#tag$ $ inserted with cursor inside$$\n\n$$ inserted with cursor between(; verify () with cursor between[; verify [] with cursor between{; verify {} with cursor between" after space; verify "" with cursor between" in middle of word; verify NOT auto-closed' after space; verify ''(; verify (selected)(), type ); verify cursor moves past )(), press Backspace; verify both parens removed** — Type * then * after word; verify **** with cursor between~~ — Type ~~; verify ~~~~ with cursor between^^ — Type ^^; verify ^^^^ with cursor between$ — Type $ at word boundary; verify $$ with cursor between$$ conversion — Type $$ at line start; verify converts to math_block** — Type at line start; verify converts to code_block_ — Type _ at word boundary; verify __ with cursor between; NOT mid-word# through ######; verify heading rendered with correct level# — Type # heading; verify heading still recognizedtext # not heading; verify NOT rendered as headingTODO task text; verify task rendered with TODO indicatorDOING task; verify DOING indicatorDONE task; verify DONE indicatorLATER task; verify LATER indicatorNOW task; verify NOW indicatorWAITING task; verify WAITING indicatorCANCELLED task; verify CANCELLED indicator> text — Type > quote; verify blockquote rendered> [!NOTE] — Type > [!NOTE] Description; verify callout with NOTE style> [!WARNING] — Verify WARNING style> [!TIP] — Verify TIP style> [!DANGER] — Verify DANGER style> [!INFO] — Verify INFO style> [!NOTE] header then > continuation; verify both styled as callout> lines; verify they merge into one blockquote| A | B |\n|---|---|\n| 1 | 2 |; verify rendered as table when blurred--- — Type --- on its own line; verify horizontal rule rendered*** — Type ***; verify horizontal rule rendered (odd-length ***)---- — Type ----; verify HR (even-length also valid)***** — Type *****; verify NOT HR (recognized as bold)key:: value; verify key styled as property, value visiblenot a key:: value; verify NOT rendered as propertykey:: value lines; verify each styled correctlytypescript`; verify language detected with correct syntax highlighting~~~ — Type ~~~js; verify code block created with tilde fences$$ — Type $$ at line start; verify math_block created$$\nE=mc^2\n$$; verify rendered LaTeX preview$x^2$ — Type $x^2+1$; verify inline KaTeX rendered when blurred$math$ visible and editable**, *, `, ~~, ^^ markers are hiddenalways-visible mode — Set markerMode="always-visible"; verify markers never hidelive-preview mode default — Default mode; verify markers hide on blur$ hiddenpara\npara\n> blockquote; verify block splits with each type in own blockextraPatterns prop; verify custom trigger opens suggestion menuextraInlineRules; verify new syntax is decorated* — Set localStorage.setItem("editor:debug", "*"); verify all namespaces logged"Block,ParseEngine"; verify only those namespaces loggeddebug prop on EditorBlock; verify scoped filteringh/j/k/l navigation within block