From 801419693a345287b360618134c4a70dcbb45ec4 Mon Sep 17 00:00:00 2001 From: Jay McCarthy Date: Mon, 21 Jun 2010 12:43:53 -0600 Subject: [PATCH] Default args to eliminate-whitespace --- collects/tests/xml/test.rkt | 6 ++++++ collects/xml/private/space.rkt | 5 +++-- collects/xml/xml.scrbl | 4 ++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/collects/tests/xml/test.rkt b/collects/tests/xml/test.rkt index cbf56eb0af..1fcf493387 100644 --- a/collects/tests/xml/test.rkt +++ b/collects/tests/xml/test.rkt @@ -550,6 +550,12 @@ END (test-suite "eliminate-whitespace" + (test-equal? "Defaults" + (with-output-to-string + (lambda () + (write-xml/content ((eliminate-whitespace) (read-xml/element (open-input-string "\n

Hey

")))))) + "\n

Hey

") + (test-eliminate-whitespace empty identity "\n

Hey

" "\n

Hey

") (test-eliminate-whitespace/exn empty not "\n

Hey

" "not allowed to contain text") (test-eliminate-whitespace/exn empty truer "\n

Hey

" "not allowed to contain text") diff --git a/collects/xml/private/space.rkt b/collects/xml/private/space.rkt index bb7932cc1d..0fc5f311f2 100644 --- a/collects/xml/private/space.rkt +++ b/collects/xml/private/space.rkt @@ -1,10 +1,11 @@ #lang racket (require "structures.rkt") (provide/contract - [eliminate-whitespace ((listof symbol?) (boolean? . -> . boolean?) . -> . (element? . -> . element?))]) + [eliminate-whitespace (() ((listof symbol?) (boolean? . -> . boolean?)) . ->* . (element? . -> . element?))]) ;; eliminate-whitespace : (listof Symbol) (Bool -> Bool) -> Element -> Element -(define (eliminate-whitespace special eliminate-special?) +(define (eliminate-whitespace [special empty] + [eliminate-special? (λ (x) x)]) (letrec ([blank-it (lambda (el) (let ([name (element-name el)] diff --git a/collects/xml/xml.scrbl b/collects/xml/xml.scrbl index 2c0de7194b..6413b1074a 100644 --- a/collects/xml/xml.scrbl +++ b/collects/xml/xml.scrbl @@ -269,8 +269,8 @@ Converts an @tech{X-expression} into a string containing XML.} Converts XML represented with a string into an @tech{X-expression}.} -@defproc[((eliminate-whitespace [tags (listof symbol?)] - [choose (boolean? . -> . boolean?)]) +@defproc[((eliminate-whitespace [tags (listof symbol?) empty] + [choose (boolean? . -> . boolean?) (λ (x) x)]) [elem element?]) element?]{