diff --git a/drracket-tool-test/tests/check-syntax/syncheck-direct.rkt b/drracket-tool-test/tests/check-syntax/syncheck-direct.rkt index 7e57b1f96..56a586819 100644 --- a/drracket-tool-test/tests/check-syntax/syncheck-direct.rkt +++ b/drracket-tool-test/tests/check-syntax/syncheck-direct.rkt @@ -520,6 +520,43 @@ '((66 77) (92 95)) ;; sketchy; should we eliminate? '((85 88) (92 95)))) +(check-equal? + (for/set ([e (in-set + (get-binding-arrows + (string-append + "(module m racket\n" + " (define-local-member-name the-method-name)\n" + " (class object% (define/public (the-method-name x) 0))\n" + " (send #f the-method-name))\n")))] + ;; filter out arrows that don't start on `the-method-name` + #:when (equal? '(45 60) (car e))) + e) + (set + '((45 60) (129 144)) + '((45 60) (95 110)))) + +(check-equal? + (for/set ([e (in-set + (get-binding-arrows + (string-append + "(module m racket\n" + " (define-local-member-name the-method-name)\n" + " (class object%\n" + " (define/public (the-method-name n)\n" + " (unless (zero? n)\n" + " (if (even? n)\n" + " (send this the-method-name (- n 1))\n" + " (the-method-name (- n 1)))))))\n")))] + ;; filter out arrows that don't start on the + ;; `the-method-name` that appears inside + ;; `define-local-member-name` + #:when (equal? '(45 60) (car e))) + e) + (set + '((45 60) (99 114)) + '((45 60) (187 202)) + '((45 60) (225 240)))) + ; ; ;