diff --git a/pkgs/racket-pkgs/racket-test/tests/stxparse/select.rkt b/pkgs/racket-pkgs/racket-test/tests/stxparse/select.rkt index 8de2127810..39a23fbdbd 100644 --- a/pkgs/racket-pkgs/racket-test/tests/stxparse/select.rkt +++ b/pkgs/racket-pkgs/racket-test/tests/stxparse/select.rkt @@ -139,3 +139,17 @@ [(_ x y:id) #:declare x id #:role "thing" 'b])))) + +;; Expected more terms + +(terx (1) + (a b) + #rx"expected more terms starting with any term$") + +(terx (1) + (a b:id) + #rx"expected more terms starting with identifier$") + +(terx (1) + (a (~describe "thing" b)) + #rx"expected more terms starting with thing$") diff --git a/pkgs/racket-pkgs/racket-test/tests/stxparse/test.rkt b/pkgs/racket-pkgs/racket-test/tests/stxparse/test.rkt index 29c515349a..8c256296aa 100644 --- a/pkgs/racket-pkgs/racket-test/tests/stxparse/test.rkt +++ b/pkgs/racket-pkgs/racket-test/tests/stxparse/test.rkt @@ -534,3 +534,11 @@ (terx (x y) ((~describe #:opaque "an X" x:id) n:number) #rx"expected number" (not #rx"expected an X")) + +;; from Eric Dobson (10/5/2013) +(test-case "optional/defaults checks delayed in stxclass def" + (let () + (define-syntax-class blah + #:attributes (a) + [pattern ((~seq (~optional :one #:defaults [(a 'bar)])))]) + (void)))