]> gitweb.factorcode.org Git - factor.git/blob - basis/compiler/tests/redefine25.factor
804bbcd77c20cffe8d627d44e2beec0e659a7f08
[factor.git] / basis / compiler / tests / redefine25.factor
1 USING: tools.test compiler.units classes.mixin definitions\r
2 kernel kernel.private ;\r
3 IN: compiler.tests.redefine25\r
4 \r
5 MIXIN: empty-mixin\r
6 \r
7 : empty-mixin-test-1 ( a -- ? ) empty-mixin? ;\r
8 \r
9 TUPLE: a-superclass ;\r
10 \r
11 : empty-mixin-test-2 ( a -- ? ) { a-superclass } declare empty-mixin? ;\r
12 \r
13 TUPLE: empty-mixin-member < a-superclass ;\r
14 \r
15 [ f ] [ empty-mixin-member new empty-mixin? ] unit-test\r
16 [ f ] [ empty-mixin-member new empty-mixin-test-1 ] unit-test\r
17 [ f ] [ empty-mixin-member new empty-mixin-test-2 ] unit-test\r
18 \r
19 [ ] [\r
20     [\r
21         \ empty-mixin-member \ empty-mixin add-mixin-instance\r
22     ] with-compilation-unit\r
23 ] unit-test\r
24 \r
25 [ t ] [ empty-mixin-member new empty-mixin? ] unit-test\r
26 [ t ] [ empty-mixin-member new empty-mixin-test-1 ] unit-test\r
27 [ t ] [ empty-mixin-member new empty-mixin-test-2 ] unit-test\r
28 \r
29 [ ] [\r
30     [\r
31         \ empty-mixin forget\r
32         \ empty-mixin-member forget\r
33         \ empty-mixin-test-1 forget\r
34         \ empty-mixin-test-2 forget\r
35     ] with-compilation-unit\r
36 ] unit-test\r