]> gitweb.factorcode.org Git - factor.git/blob - basis/macros/macros-tests.factor
c8dc0ec16d849fa81542ffca5e986b79ba89ebb3
[factor.git] / basis / macros / macros-tests.factor
1 IN: macros.tests
2 USING: tools.test macros math kernel arrays
3 vectors io.streams.string prettyprint parser eval see ;
4
5 MACRO: see-test ( a b -- quot ) + ;
6
7 [ t ] [ \ see-test macro? ] unit-test
8
9 [ "USING: macros math ;\nIN: macros.tests\nMACRO: see-test ( a b -- quot ) + ;\n" ]
10 [ [ \ see-test see ] with-string-writer ]
11 unit-test
12
13 [ t ] [ \ see-test macro? ] unit-test
14
15 [ t ] [
16     "USING: math ;\nIN: macros.tests\n: see-test ( a b -- c ) - ;\n" dup eval( -- )
17     [ \ see-test see ] with-string-writer =
18 ] unit-test
19
20 [ f ] [ \ see-test macro? ] unit-test
21
22 [ ] [ "USING: macros stack-checker kernel ; IN: hanging-macro MACRO: c ( quot -- ) infer drop [ ] ; : a ( -- ) [ a ] c ;" eval( -- ) ] unit-test
23
24 [ ] [ "IN: macros.tests USE: macros MACRO: foo ( -- x ) [ ] ;" eval( -- ) ] unit-test
25     [ "IN: macros.tests USE: macros MACRO: foo ( -- x ) [ ] ; inline" eval( -- ) ] must-fail