40 lines
		
	
	
		
			927 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			927 B
		
	
	
	
		
			Factor
		
	
	
IN: locals.backend.tests
 | 
						|
USING: tools.test locals.backend kernel arrays ;
 | 
						|
 | 
						|
[ 3 ] [ 3 >r 1 get-local r> drop ] unit-test
 | 
						|
 | 
						|
[ 4 ] [ 3 4 >r >r 2 get-local 2 drop-locals ] unit-test
 | 
						|
 | 
						|
: get-local-test-1 ( -- x ) 3 >r 1 get-local r> drop ;
 | 
						|
 | 
						|
\ get-local-test-1 must-infer
 | 
						|
 | 
						|
[ 3 ] [ get-local-test-1 ] unit-test
 | 
						|
 | 
						|
: get-local-test-2 ( -- x ) 3 4 >r >r 2 get-local 2 drop-locals ;
 | 
						|
 | 
						|
\ get-local-test-2 must-infer
 | 
						|
 | 
						|
[ 4 ] [ get-local-test-2 ] unit-test
 | 
						|
 | 
						|
: get-local-test-3 ( -- a b ) 3 4 >r >r 2 get-local r> r> 2array ;
 | 
						|
 | 
						|
\ get-local-test-3 must-infer
 | 
						|
 | 
						|
[ 4 { 3 4 } ] [ get-local-test-3 ] unit-test
 | 
						|
 | 
						|
: get-local-test-4 ( -- a b )
 | 
						|
    3 4 >r >r r> r> dup swap >r swap >r r> r> 2array ;
 | 
						|
 | 
						|
\ get-local-test-4 must-infer
 | 
						|
 | 
						|
[ 4 { 3 4 } ] [ get-local-test-4 ] unit-test
 | 
						|
 | 
						|
[ 1 2 ] [ 1 2 2 load-locals r> r> ] unit-test
 | 
						|
 | 
						|
: load-locals-test-1 ( -- a b ) 1 2 2 load-locals r> r> ;
 | 
						|
 | 
						|
\ load-locals-test-1 must-infer
 | 
						|
 | 
						|
[ 1 2 ] [ load-locals-test-1 ] unit-test
 |