Tests for object/c and dynamic-object/c instrumentation.

Instrumentation which was already there from object-contract.
This commit is contained in:
Vincent St-Amour 2016-01-22 16:10:37 -06:00
parent 9d990b65dc
commit 767fd3fa3a

View File

@ -740,4 +740,50 @@
(new woody/init-hat+c%
[init-hat-location 'slinkys-mouth]))))
(test/spec-passed
'contract-marks72
'(let ()
(define c% (class object% (define/public (foo) 1) (super-new)))
(send (contract (object/c (foo (->m pos-blame?)))
(new c%) 'pos 'neg)
foo)))
(test/spec-passed
'contract-marks73
'(let ()
(define c% (class object% (init-field foo) (super-new)))
(get-field foo (contract (object/c (field (foo pos-blame?)))
(new c% [foo 1]) 'pos 'neg))))
(test/spec-passed
'contract-marks74
'(let ()
(define c% (class object% (init-field foo) (super-new)))
(set-field! foo (contract (object/c (field (foo pos-blame?)))
(new c% [foo 1]) 'pos 'neg)
3)))
(test/spec-passed
'contract-marks75
'(let ()
(define c% (class object% (define/public (foo) 1) (super-new)))
(send (contract (dynamic-object/c '(foo) (list (->m pos-blame?)) '() '())
(new c%) 'pos 'neg)
foo)))
(test/spec-passed
'contract-marks76
'(let ()
(define c% (class object% (init-field foo) (super-new)))
(get-field foo (contract (dynamic-object/c '() '() '(foo) (list pos-blame?))
(new c% [foo 1]) 'pos 'neg))))
(test/spec-passed
'contract-marks77
'(let ()
(define c% (class object% (init-field foo) (super-new)))
(set-field! foo (contract (dynamic-object/c '() '() '(foo) (list pos-blame?))
(new c% [foo 1]) 'pos 'neg)
3)))
)