]> gitweb.factorcode.org Git - factor.git/blob - basis/locals/backend/backend-tests.factor
Create basis vocab root
[factor.git] / basis / locals / backend / backend-tests.factor
1 IN: locals.backend.tests
2 USING: tools.test locals.backend kernel arrays ;
3
4 [ 3 ] [ 3 >r 1 get-local r> drop ] unit-test
5
6 [ 4 ] [ 3 4 >r >r 2 get-local 2 drop-locals ] unit-test
7
8 : get-local-test-1 ( -- x ) 3 >r 1 get-local r> drop ;
9
10 \ get-local-test-1 must-infer
11
12 [ 3 ] [ get-local-test-1 ] unit-test
13
14 : get-local-test-2 ( -- x ) 3 4 >r >r 2 get-local 2 drop-locals ;
15
16 \ get-local-test-2 must-infer
17
18 [ 4 ] [ get-local-test-2 ] unit-test
19
20 : get-local-test-3 ( -- a b ) 3 4 >r >r 2 get-local r> r> 2array ;
21
22 \ get-local-test-3 must-infer
23
24 [ 4 { 3 4 } ] [ get-local-test-3 ] unit-test
25
26 : get-local-test-4 ( -- a b )
27     3 4 >r >r r> r> dup swap >r swap >r r> r> 2array ;
28
29 \ get-local-test-4 must-infer
30
31 [ 4 { 3 4 } ] [ get-local-test-4 ] unit-test
32
33 [ 1 2 ] [ 1 2 2 load-locals r> r> ] unit-test
34
35 : load-locals-test-1 ( -- a b ) 1 2 2 load-locals r> r> ;
36
37 \ load-locals-test-1 must-infer
38
39 [ 1 2 ] [ load-locals-test-1 ] unit-test