diff --git a/collects/scribble/decode.rkt b/collects/scribble/decode.rkt index 19307203..d354e658 100644 --- a/collects/scribble/decode.rkt +++ b/collects/scribble/decode.rkt @@ -73,7 +73,7 @@ [decode-paragraph (-> (listof pre-content?) paragraph?)] [decode-compound-paragraph (-> (listof pre-flow?) - paragraph?)] + block?)] [decode-content (-> (listof pre-content?) content?)] [rename decode-content decode-elements diff --git a/collects/tests/scribble/decode.rkt b/collects/tests/scribble/decode.rkt new file mode 100644 index 00000000..4594fd40 --- /dev/null +++ b/collects/tests/scribble/decode.rkt @@ -0,0 +1,52 @@ +#lang racket/base +(require scribble/decode + scribble/core + rackunit + racket/contract/base) + +(check-true (pre-content? "x")) +(check-true (pre-content? null)) +(check-true (pre-content? '("x"))) +(check-true (pre-content? (list (element plain "x") "x"))) +(check-true (pre-content? (splice (list (element plain "x") "x")))) +(check-true (not (pre-content? 11))) +(check-true (not (pre-content? '(11)))) + +(check-true (pre-flow? "x")) +(check-true (pre-flow? '("x"))) +(check-true (pre-flow? (list (element plain "x") "x"))) +(check-true (pre-flow? (list (paragraph plain (element plain "x")) (element plain "x") "x"))) +(check-true (pre-flow? (splice (list (paragraph plain (element plain "x")) (element plain "x") "x")))) +(check-true (not (pre-flow? 11))) +(check-true (not (pre-flow? '(11)))) + +(check-true (pre-part? "x")) +(check-true (pre-part? '("x"))) +(check-true (pre-part? (list (element plain "x") "x"))) +(check-true (pre-part? (list (paragraph plain (element plain "x")) (element plain "x") "x"))) +(check-true (pre-part? (list (paragraph plain (element plain "x")) (element plain "x") "x" + (decode-part '("x") null #f 0) + (part-start 0 #f null plain "start") + (part-index-decl '("a" "b") '("a")) + (part-collect-decl (element plain "x")) + (part-tag-decl '(something "x")) + (void) + (title-decl #f null #f plain "title")))) +(check-true (not (pre-part? 11))) +(check-true (not (pre-part? '(11)))) + +(check-true (part? (decode '("x")))) +(check-true (part? (decode-part '("x") null #f 0))) +(check-true (andmap block? (decode-flow '("x")))) +(check-true (block? (decode-compound-paragraph '("x")))) +(check-true (paragraph? (decode-paragraph '("x")))) +(check-true (content? (decode-content '("x")))) +(check-true (content? (decode-elements '("x")))) +(check-true (content? (decode-string "x"))) + +(check-true (whitespace? " \n\t\r")) +(check-true (not (whitespace? " \n\t\rx "))) + +(check-equal? "a b c" (clean-up-index-string " a b c ")) + +(check-true (contract? (spliceof integer?)))