;;;; csv-xml-test.scm -*- Hen -*- (use csv-xml) ;Need to process `#lang' as well. So just "commented out" the "offending" ;sections in the source. #;(define-syntax require (syntax-rules () ((_ ?x0 ...) (begin)))) (use testeez) (include "test-csv.ss") (newline) (use test) (define +reader-spec-default+ '( (newline-type . lax) (separator-chars #\,) (quote-char . #\") (quote-doubling-escapes? . #t) (comment-chars) (whitespace-chars #\space) (strip-leading-whitespace? . #f) (strip-trailing-whitespace? . #f) (newlines-in-quotes? . #t) )) (test +reader-spec-default+ (reader-spec)) (define +reader-spec-default-2+ '( (newline-type . lax) (separator-chars #\,) (quote-char . #\") (quote-doubling-escapes? . #f) (comment-chars) (whitespace-chars #\space) (strip-leading-whitespace? . #f) (strip-trailing-whitespace? . #f) (newlines-in-quotes? . #t) )) (test +reader-spec-default-2+ (reader-spec #:quote-doubling-escapes? #f)) (test-begin "csv-xml out") (define +writer-spec-default+ '( (newline . #t) (separator-char . #\,) (quote-char . #\") )) (test +writer-spec-default+ (writer-spec)) (define +writer-spec-default-2+ '( (newline . #f) (separator-char . #\,) (quote-char . #\") )) (test +writer-spec-default-2+ (writer-spec #:newline #f)) (define +list-in-1+ '((1 22 333) (11 2222 333333))) (define +list->sxml-out-1+ '( |*TOP*| (scull (foo 1) (bar 22) (baz 333)) (scull (foo 11) (bar 2222) (baz 333333)) )) (test +list->sxml-out-1+ (list->sxml +list-in-1+ 'scull '(foo bar baz))) (use ports) (test "\"1\",\"22\",\"333\"\n\"11\",\"2222\",\"333333\"\n" (with-output-to-string (lambda () (list->csv +list-in-1+)))) (test-exit)