23 lines
782 B
Racket
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)))
|