added an ->i test suite, based on the ->d one (doesn't test for indy-ness tho)

This commit is contained in:
Robby Findler 2010-07-18 15:53:21 -05:00
parent a66fd7574d
commit 18e9d886e2
2 changed files with 1173 additions and 7 deletions

View File

@ -183,14 +183,21 @@
kwd-id ...)])
(with-syntax ([((rng-params ...) rng-ctcs)
(syntax-case range (any values)
[(values [id ctc/no-prop] ...)
(with-syntax ([(ctc ...) (map (λ (x) (add-indy-prop (syntax-property x 'racket/contract:positive-position this->i)))
(syntax->list #'(ctc/no-prop ...)))])
#'((id ...) (ctc ...)))]
[(values [id ctc] ... x . y) (raise-syntax-error #f "expected binding pair" stx #'x)]
[(values ctc-pr ...)
(with-syntax ([((id ctc/no-prop) ...)
(map (lambda (x) (syntax-case x ()
[[id ctc/no-prop] #'[id ctc/no-prop]]
[[id (id2 ...) ctc/no-prop] #'[id ctc/no-prop]]
[x (raise-syntax-error #f "expected binding pair" stx #'x)]))
(syntax->list #'(ctc-pr ...)))])
(with-syntax ([(ctc ...) (map (λ (x) (add-indy-prop (syntax-property x 'racket/contract:positive-position this->i)))
(syntax->list #'(ctc/no-prop ...)))])
#'((id ...) (ctc ...))))]
[any #'(() #f)]
[[id ctc]
#`((id) (#,(add-indy-prop (syntax-property #'ctc 'racket/contract:positive-position this->i))))]
[[id (id2 ...) ctc]
#`((id) (#,(add-indy-prop (syntax-property #'ctc 'racket/contract:positive-position this->i))))]
[x (raise-syntax-error #f "expected binding pair or any" stx #'x)])]
[mtd? (and (syntax-parameter-value #'making-a-method) #t)])
(let ([rng-underscores?

File diff suppressed because it is too large Load Diff