Merge pull request #39 from jackfirth/test-syntax-keyword-lenses-#11
Add syntax keyword lens tests, closes #11
This commit is contained in:
commit
d0e11af392
|
@ -4,6 +4,9 @@
|
|||
fancy-app
|
||||
syntax/parse)
|
||||
|
||||
(module+ test
|
||||
(require rackunit))
|
||||
|
||||
(provide syntax-keyword-seq-lens)
|
||||
|
||||
|
||||
|
@ -52,3 +55,22 @@
|
|||
(define getter (syntax-keyword-seq-get keyword _))
|
||||
(define setter (syntax-keyword-seq-set keyword _ _))
|
||||
(make-lens getter setter))
|
||||
|
||||
(module+ test
|
||||
(define-check (check-stx-equal? actual-stx expected-stx)
|
||||
(check-equal? (syntax->datum actual-stx)
|
||||
(syntax->datum expected-stx)))
|
||||
(define foo-kw-seq-lens (syntax-keyword-seq-lens '#:foo))
|
||||
(check-stx-equal? (lens-view foo-kw-seq-lens #'(a #:foo c d #:bar f))
|
||||
#'(c d))
|
||||
(check-stx-equal? (lens-set foo-kw-seq-lens #'(a #:foo c d #:bar f) #'(1 2 3 4 5 6))
|
||||
#'(a #:foo 1 2 3 4 5 6 #:bar f))
|
||||
(check-stx-equal? (lens-view foo-kw-seq-lens #'(a b f g))
|
||||
#'())
|
||||
(check-stx-equal? (lens-view foo-kw-seq-lens #'(a #:foo #:bar f))
|
||||
#'())
|
||||
(check-stx-equal? (lens-set foo-kw-seq-lens #'(a #:foo #:bar f) #'(1 2 3 4 5 6))
|
||||
#'(a #:foo 1 2 3 4 5 6 #:bar f))
|
||||
(check-stx-equal? (lens-set foo-kw-seq-lens #'(a b f g) #'(these are ignored))
|
||||
#'(a b f g)))
|
||||
|
Loading…
Reference in New Issue
Block a user