fix: insert heading-start newlines before hidden prefixes
This commit is contained in:
@@ -49,6 +49,38 @@ func headingsFollowVisibleParagraphEditingAndRoundTrip() throws {
|
||||
#expect(editor.markdownString == after)
|
||||
}
|
||||
}
|
||||
for before in ["\n# Title", "\n## Title", "Text\n\n###### Title", "- [ ] 🦊\n\n## Title"] {
|
||||
reset(before)
|
||||
editor.undoManager?.beginUndoGrouping()
|
||||
editor.doCommand(by: #selector(NSResponder.deleteBackward(_:)))
|
||||
editor.undoManager?.endUndoGrouping()
|
||||
let joined = editor.markdownString
|
||||
editor.breakUndoCoalescing()
|
||||
editor.undoManager?.removeAllActions()
|
||||
editor.undoManager?.beginUndoGrouping()
|
||||
editor.doCommand(by: #selector(NSResponder.insertNewline(_:)))
|
||||
editor.undoManager?.endUndoGrouping()
|
||||
#expect(editor.markdownString == before)
|
||||
#expect(editor.selectedRange() == NSRange(location: (editor.string as NSString).range(of: "Title").location, length: 0))
|
||||
editor.undoManager?.undo()
|
||||
#expect(editor.markdownString == joined)
|
||||
editor.undoManager?.redo()
|
||||
#expect(editor.markdownString == before)
|
||||
#expect(controller.save())
|
||||
#expect(try NotesStore(directory: directory).notes.first?.contents.string == before)
|
||||
}
|
||||
for (before, position, after) in [
|
||||
("## Title", 3, "\n## Title"),
|
||||
("## Title", 5, "## Ti\ntle"),
|
||||
("## Title", 8, "## Title\n"),
|
||||
("Text\n## Title", 4, "Text\n\n## Title"),
|
||||
("```text\n## Title\n```", 11, "```text\n## \nTitle\n```")
|
||||
] {
|
||||
reset(before)
|
||||
editor.setSelectedRange(NSRange(location: position, length: 0))
|
||||
editor.doCommand(by: #selector(NSResponder.insertNewline(_:)))
|
||||
#expect(editor.markdownString == after)
|
||||
}
|
||||
for level in 1...6 {
|
||||
reset("### Title")
|
||||
editor.undoManager?.beginUndoGrouping()
|
||||
|
||||
Reference in New Issue
Block a user