racket/collects/tests/compiler/zo-exs.rkt
2010-05-27 12:33:25 -06:00

23 lines
782 B
Racket

#lang racket
(require compiler/zo-parse
compiler/zo-marshal
tests/eli-tester)
(define (roundtrip ct)
(define bs (zo-marshal ct))
(test bs
(zo-parse (open-input-bytes bs)) => ct))
(test
(local [(define (hash-test make-hash-placeholder)
(roundtrip
(compilation-top 0
(prefix 0 empty empty)
(local [(define ht-ph (make-placeholder #f))
(define ht (make-hash-placeholder (list (cons 'g ht-ph))))]
(placeholder-set! ht-ph ht)
(make-reader-graph ht)))))]
(hash-test make-hash-placeholder)
(hash-test make-hasheq-placeholder)
(hash-test make-hasheqv-placeholder)))