fix definitely-same-image? for the image-snip case

closes PR 14951
This commit is contained in:
Robby Findler 2015-01-28 21:37:50 -06:00
parent 5df277c2d6
commit d8f090957f
2 changed files with 16 additions and 3 deletions

View File

@ -471,10 +471,10 @@ has been moved out).
#f] #f]
[else [else
(define bm1 (if (is-a? i1 image-snip%) (define bm1 (if (is-a? i1 image-snip%)
(send i1 get-image) (send i1 get-bitmap)
i2)) i2))
(define bm2 (if (is-a? i2 image-snip%) (define bm2 (if (is-a? i2 image-snip%)
(send i2 get-image) (send i2 get-bitmap)
i2)) i2))
(eq? bm1 bm2)])) (eq? bm1 bm2)]))

View File

@ -2,9 +2,22 @@
(require rackunit (require rackunit
mrlib/image-core mrlib/image-core
racket/class
(only-in racket/gui/base make-bitmap)) (only-in racket/gui/base make-bitmap))
;; just check there is no error ;; just check there is no error
(check-equal? (begin (un/cache-image (make-bitmap 1 1) #t) (check-equal? (begin (un/cache-image (make-bitmap 1 1) #t)
(void)) (void))
(void)) (void))
(check-equal?
(let ([b (make-bitmap 1 1)])
(definitely-same-image? b b))
#t)
(check-equal?
(let* ([b (make-bitmap 1 1)])
(define s1 (make-object image-snip% b))
(define s2 (make-object image-snip% b))
(definitely-same-image? s1 s2))
#t)