Some new compiler tests
parent
05ecd04e2f
commit
92781739c8
|
@ -0,0 +1,11 @@
|
||||||
|
IN: compiler.tests.generic
|
||||||
|
USING: tools.test math kernel compiler.units definitions ;
|
||||||
|
|
||||||
|
GENERIC: bad ( -- )
|
||||||
|
M: integer bad ;
|
||||||
|
M: object bad ;
|
||||||
|
|
||||||
|
[ 0 bad ] must-fail
|
||||||
|
[ "" bad ] must-fail
|
||||||
|
|
||||||
|
[ ] [ [ \ bad forget ] with-compilation-unit ] unit-test
|
|
@ -1,8 +1,8 @@
|
||||||
USING: compiler.units definitions tools.test sequences ;
|
USING: compiler.units definitions tools.test sequences ;
|
||||||
IN: compiler.tests.redefine14
|
IN: compiler.tests.redefine14
|
||||||
|
|
||||||
! TUPLE: bad ;
|
TUPLE: bad ;
|
||||||
!
|
|
||||||
! M: bad length 1 2 3 ;
|
M: bad length 1 2 3 ;
|
||||||
!
|
|
||||||
! [ ] [ [ { bad length } forget ] with-compilation-unit ] unit-test
|
[ ] [ [ { bad length } forget ] with-compilation-unit ] unit-test
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
IN: compiler.tests.redefine17
|
||||||
|
USING: tools.test classes.mixin compiler.units arrays kernel.private
|
||||||
|
strings sequences vocabs definitions kernel ;
|
||||||
|
|
||||||
|
<< "compiler.tests.redefine17" words forget-all >>
|
||||||
|
|
||||||
|
GENERIC: bong ( a -- b )
|
||||||
|
|
||||||
|
M: array bong ;
|
||||||
|
|
||||||
|
M: string bong length ;
|
||||||
|
|
||||||
|
MIXIN: mixin
|
||||||
|
|
||||||
|
INSTANCE: array mixin
|
||||||
|
|
||||||
|
: blah ( a -- b ) { mixin } declare bong ;
|
||||||
|
|
||||||
|
[ { } ] [ { } blah ] unit-test
|
||||||
|
|
||||||
|
[ ] [ [ \ array \ mixin remove-mixin-instance ] with-compilation-unit ] unit-test
|
||||||
|
|
||||||
|
[ ] [ [ \ string \ mixin add-mixin-instance ] with-compilation-unit ] unit-test
|
||||||
|
|
||||||
|
[ 0 ] [ "" blah ] unit-test
|
||||||
|
|
||||||
|
MIXIN: mixin1
|
||||||
|
|
||||||
|
INSTANCE: string mixin1
|
||||||
|
|
||||||
|
MIXIN: mixin2
|
||||||
|
|
||||||
|
GENERIC: billy ( a -- b )
|
||||||
|
|
||||||
|
M: mixin2 billy ;
|
||||||
|
|
||||||
|
M: array billy drop "BILLY" ;
|
||||||
|
|
||||||
|
INSTANCE: string mixin2
|
||||||
|
|
||||||
|
: bully ( a -- b ) { mixin1 } declare billy ;
|
||||||
|
|
||||||
|
[ "" ] [ "" bully ] unit-test
|
||||||
|
|
||||||
|
[ ] [ [ \ string \ mixin1 remove-mixin-instance ] with-compilation-unit ] unit-test
|
||||||
|
|
||||||
|
[ ] [ [ \ array \ mixin1 add-mixin-instance ] with-compilation-unit ] unit-test
|
||||||
|
|
||||||
|
[ "BILLY" ] [ { } bully ] unit-test
|
Loading…
Reference in New Issue