From c800b61f0b604dea09e42e8560a31bec73e2862d Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Thu, 18 Apr 2019 20:07:36 -0500 Subject: [PATCH] test cases for bad vector contract error messages --- .../tests/racket/contract/vector.rkt | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/pkgs/racket-test/tests/racket/contract/vector.rkt b/pkgs/racket-test/tests/racket/contract/vector.rkt index f38e342db6..f611a65d67 100644 --- a/pkgs/racket-test/tests/racket/contract/vector.rkt +++ b/pkgs/racket-test/tests/racket/contract/vector.rkt @@ -275,4 +275,24 @@ 'vectorof-or/c-first-order-pass '(contract (or/c (vectorof integer?) (vectorof string?)) (vector 1) 'pos 'neg)) - ) + (test/spec-passed/result + 'vector-error-message.1 + '(with-handlers ([exn:fail? (λ (x) (regexp-match? #rx"promised a vector\n" + (exn-message x)))]) + (contract (vector/c any/c #:immutable #f) 5 'pos 'neg) + "no exn") + #t) + + (test/spec-passed/result + 'vector-error-message.2 + '(with-handlers ([exn:fail? (λ (x) (regexp-match? #rx"promised an immutable vector\n" + (exn-message x)))]) + (contract (vector/c any/c #:immutable #t) (vector 1) 'pos 'neg)) + #t) + + (test/spec-passed/result + 'vector-error-message.3 + '(with-handlers ([exn:fail? (λ (x) (regexp-match? #rx"promised a mutable vector\n" + (exn-message x)))]) + (contract (vector/c any/c #:immutable #f) (vector-immutable 1) 'pos 'neg)) + #t))