From 73fb09a017ad3dd39ff02aa0bd2c4161bfa66048 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Wed, 14 Feb 2018 12:13:36 -0800 Subject: [PATCH] test that --- beautiful-racket-lib/br/private/generate-literals.rkt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/beautiful-racket-lib/br/private/generate-literals.rkt b/beautiful-racket-lib/br/private/generate-literals.rkt index a3045b0..7550d0c 100644 --- a/beautiful-racket-lib/br/private/generate-literals.rkt +++ b/beautiful-racket-lib/br/private/generate-literals.rkt @@ -37,6 +37,17 @@ (map (λ (ids) (remove-duplicates ids bound-identifier=?)) (list bound-literals unbound-literals))) +(module+ test + (define b-id 42) + (match-let ([(list bs ubs) (generate-bound-and-unbound-literals #'(ub-id b-id FOO))]) + (check-equal? (map syntax->datum bs) '(b-id)) + (check-equal? (map syntax->datum ubs) '(ub-id))) + (match-let ([(list bs ubs) (generate-bound-and-unbound-literals #'(ub-id b-id FOO) #:treat-as-bound #'ub-id)]) + (check-equal? (map syntax->datum bs) '(b-id)) + (check-equal? (map syntax->datum ubs) '())) + (check-exn exn:fail:contract? (λ () (generate-bound-and-unbound-literals #'(ub-id b-id FOO) #:treat-as-bound 42)))) + + (define (ellipses-follow-wildcards-or-subpatterns? pat) (let loop ([datum (syntax->datum pat)]) (match datum