scribble: add tests for traverse-element' and traverse-block'

original commit: d2ec0bf5cc259538bbad06752f65fe92dd885ff6
This commit is contained in:
Matthew Flatt 2013-06-27 06:53:16 -07:00
parent 83c01c200f
commit d07ff0ebc3
2 changed files with 52 additions and 0 deletions

View File

@ -0,0 +1,41 @@
#lang scribble/base
@(require scribble/core)
@(traverse-element
(lambda (get set)
;; Not delayed, and so result is "not ready, yet"
(get 'glossary "not ready, yet")))
@(traverse-element
(lambda (get set)
;; Delayed until second traversal:
(lambda (get set)
(get 'glossary "BROKEN"))))
@; Same thing, but with blocks:
@(traverse-block
(lambda (get set)
;; Not delayed:
(para "The glossary is "
(get 'glossary "not ready, yet"))))
@(traverse-block
(lambda (get set)
;; Delayed:
(lambda (get set)
(para "The glossary is "
(get 'glossary "BROKEN")))))
@(traverse-block
(lambda (get set)
;; Adding a `delayed-block' doesn't delay:
(traverse-block
(lambda (get set)
(para "The glossary is "
(get 'glossary "not ready, yet"))))))
@(traverse-block
(lambda (get set)
(set 'glossary "ready")
(para "Here is the glossary.")))

View File

@ -0,0 +1,11 @@
not ready, yet
ready
The glossary is not ready, yet
The glossary is ready
The glossary is not ready, yet
Here is the glossary.