summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLudovic Courtès2009-05-26 19:02:01 +0200
committerLudovic Courtès2009-05-26 19:02:01 +0200
commit7221ccf9edd1ebde56a7915a338dacf537e8f3fb (patch)
tree22192210be2af8e92de144f3a948319be9535cb5 /tests
parent46e04425fee7fc462e5c1a718688d2b508291366 (diff)
downloadskribilo-7221ccf9edd1ebde56a7915a338dacf537e8f3fb.tar.gz
skribilo-7221ccf9edd1ebde56a7915a338dacf537e8f3fb.tar.lz
skribilo-7221ccf9edd1ebde56a7915a338dacf537e8f3fb.zip
Make sure to bind nodes that are in the body of non-markup nodes.
* src/guile/skribilo/ast.scm (document-bind-nodes!): Traverse other nodes as well, such as processors. * src/guile/skribilo/resolve.scm (do-resolve!<unresolved>>): Likewise. * tests/resolve.test ("resolved nested document bindings"): New test.
Diffstat (limited to 'tests')
-rw-r--r--tests/resolve.test11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/resolve.test b/tests/resolve.test
index 864ac88..18408e8 100644
--- a/tests/resolve.test
+++ b/tests/resolve.test
@@ -192,6 +192,17 @@
(eq? (ast-parent x) sub)
(eq? (ast-document x) sub))))))
+(test-assert "node bindings in processor body"
+ (let* ((doc (document #:title "Doc"
+ (processor #:combinator (lambda (e1 e2) e1)
+ (chapter #:ident "c")))))
+ (resolve! doc %engine '())
+ (let* ((proc (car (markup-body doc)))
+ (ch (car (markup-body proc)))
+ (ch* (document-lookup-node doc "c")))
+ (format (current-error-port) "~A vs ~A~%" ch ch*)
+ (eq? ch ch*))))
+
(test-end "resolve")