Merge branch 'master' of git://factorcode.org/git/factor
[factor/jcg.git] / basis / compiler / tests / redefine9.factor
blob7b0f8a2e9c04d542d4d2f080a525c301df9ffbd9
1 USING: eval tools.test compiler.units vocabs multiline words
2 kernel generic.math ;
3 IN: compiler.tests
5 ! Mixin redefinition did not recompile all necessary words.
7 [ ] [ [ "compiler.tests.redefine9" forget-vocab ] with-compilation-unit ] unit-test
9 [ ] [
10     <"
11     USING: kernel math math.order sorting ;
12     IN: compiler.tests.redefine9
13     MIXIN: my-mixin
14     INSTANCE: fixnum my-mixin
15     GENERIC: my-generic ( a -- b )
16     ! We add the bogus quotation here to hinder inlining
17     ! since otherwise we cannot trigger this bug.
18     M: my-mixin my-generic 1 + [ [ <=> ] sort ] drop ;
19     "> eval
20 ] unit-test
22 [ ] [
23     <"
24     USE: math
25     IN: compiler.tests.redefine9
26     TUPLE: my-tuple ;
27     INSTANCE: my-tuple my-mixin
28     "> eval
29 ] unit-test
32     "my-tuple" "compiler.tests.redefine9" lookup boa
33     "my-generic" "compiler.tests.redefine9" lookup
34     execute
35 ] [ no-math-method? ] must-fail-with