aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Peter McGoron 2025-01-27 07:08:13 -0500
committerGravatar Peter McGoron 2025-01-27 07:08:13 -0500
commit18e51e47f121b08dfeb9adc5584f41e11e0d3b09 (patch)
tree916d25ae1c0a2d8e89689cc6423cc6be299ea898
parentupdate documentation (diff)
basic tests for unordered list items
-rw-r--r--market/default.scm6
-rw-r--r--tests/run.scm26
2 files changed, 31 insertions, 1 deletions
diff --git a/market/default.scm b/market/default.scm
index 9ea1fa1..0687ea7 100644
--- a/market/default.scm
+++ b/market/default.scm
@@ -33,7 +33,11 @@
(define (on-success line ch number-of-spaces)
(define continues
(let ((prefix (make-string (+ number-of-spaces 1) #\space)))
- (cut line-prefix <> prefix)))
+ (lambda (node line)
+ (cond
+ ((line-prefix line prefix) => values)
+ ((empty-line? line) line)
+ (else #f)))))
(let ((item (make-empty-node (make-unordered-list-item-data ch)
continues
(default-allowed))))
diff --git a/tests/run.scm b/tests/run.scm
index 87cbfa3..f140892 100644
--- a/tests/run.scm
+++ b/tests/run.scm
@@ -334,3 +334,29 @@
(test-equal "text"
"quoted code\n"
text))))
+
+;;; TODO: check number of children of each node.
+
+(test-group "unordered lists"
+ (test-group "one element"
+ (let ((lst (chain (parse->document "* hello, world")
+ (node-children _)
+ (list-queue-list _)
+ (list-ref _ 0))))
+ (test-assert "unordered-list-item?" (unordered-list-item? lst))
+ (let ((str (chain (node-children lst)
+ (list-queue-list _)
+ (list-ref _ 0)
+ (xstring->string _))))
+ (test-equal "text" "hello, world\n" str))))
+ (test-group "one element continued"
+ (let ((str (chain (parse->document "* hello,")
+ (parse->document " world" _)
+ (node-children _)
+ (list-queue-list _)
+ (list-ref _ 0)
+ (node-children _)
+ (list-queue-list _)
+ (list-ref _ 0)
+ (xstring->string _))))
+ (test-equal "text" "hello,\nworld\n" str))))