Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 31s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
64 lines
1.4 KiB
Plaintext
64 lines
1.4 KiB
Plaintext
;; Extension — relative block reorder.
|
|
|
|
(st-bootstrap-classes!)
|
|
(content/bootstrap!)
|
|
|
|
(define
|
|
d
|
|
(doc-append
|
|
(doc-append
|
|
(doc-append (doc-empty "d") (mk-text "a" "A"))
|
|
(mk-text "b" "B"))
|
|
(mk-text "c" "C")))
|
|
|
|
;; ── move-before ──
|
|
(content-test
|
|
"move-before"
|
|
(doc-ids (content/move-before d "c" "a"))
|
|
(list "c" "a" "b"))
|
|
(content-test
|
|
"move-before mid"
|
|
(doc-ids (content/move-before d "c" "b"))
|
|
(list "a" "c" "b"))
|
|
(content-test "move-before immutable" (doc-ids d) (list "a" "b" "c"))
|
|
|
|
;; ── move-after ──
|
|
(content-test
|
|
"move-after"
|
|
(doc-ids (content/move-after d "a" "b"))
|
|
(list "b" "a" "c"))
|
|
(content-test
|
|
"move-after last"
|
|
(doc-ids (content/move-after d "a" "c"))
|
|
(list "b" "c" "a"))
|
|
|
|
;; ── move-to-front / back ──
|
|
(content-test
|
|
"move-to-front"
|
|
(doc-ids (content/move-to-front d "c"))
|
|
(list "c" "a" "b"))
|
|
(content-test
|
|
"move-to-back"
|
|
(doc-ids (content/move-to-back d "a"))
|
|
(list "b" "c" "a"))
|
|
(content-test
|
|
"front already first"
|
|
(doc-ids (content/move-to-front d "a"))
|
|
(list "a" "b" "c"))
|
|
|
|
;; ── no-ops ──
|
|
(content-test
|
|
"missing id no-op"
|
|
(doc-ids (content/move-before d "zzz" "a"))
|
|
(list "a" "b" "c"))
|
|
(content-test
|
|
"missing target no-op"
|
|
(doc-ids (content/move-before d "a" "zzz"))
|
|
(list "a" "b" "c"))
|
|
|
|
;; ── render after move ──
|
|
(content-test
|
|
"render after move"
|
|
(asHTML (content/move-after d "a" "c"))
|
|
"<p>B</p><p>C</p><p>A</p>")
|