Tests of super contracts. Failing test here, because we're not checking for

non-final public methods when adding super (or later, override) contracts.
We should check for that in both cases, as the contract suggests that the
method in question is overrideable.

svn: r18160
This commit is contained in:
Stevie Strickland 2010-02-18 21:54:27 +00:00
parent 0971d37b70
commit 7abafad8b1

View File

@ -4103,11 +4103,39 @@
'neg))
(test/spec-passed
'class/c-first-order-4
'class/c-first-order-5
'(contract (class/c (field [n number?]))
(class object% (super-new) (field [n 3]))
'pos
'neg))
(test/pos-blame
'class/c-first-order-6
'(contract (class/c (super [m (-> any/c number? number?)]))
object%
'pos
'neg))
(test/pos-blame
'class/c-first-order-7
'(contract (class/c (super [m (-> any/c number? number?)]))
(class object% (super-new) (define/pubment (m x) (add1 x)))
'pos
'neg))
(test/pos-blame
'class/c-first-order-7
'(contract (class/c (super [m (-> any/c number? number?)]))
(class object% (super-new) (define/public-final (m x) (add1 x)))
'pos
'neg))
(test/spec-passed
'class/c-first-order-8
'(contract (class/c (super [m (-> any/c number? number?)]))
(class object% (super-new) (define/public (m x) (add1 x)))
'pos
'neg))
;
;