45 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Factor
		
	
	
		
		
			
		
	
	
			45 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Factor
		
	
	
| 
								 | 
							
								USING: io io.pipes io.streams.string io.encodings.utf8
							 | 
						||
| 
								 | 
							
								io.streams.duplex io.encodings io.timeouts namespaces
							 | 
						||
| 
								 | 
							
								continuations tools.test kernel calendar destructors
							 | 
						||
| 
								 | 
							
								accessors debugger math ;
							 | 
						||
| 
								 | 
							
								IN: io.pipes.tests
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[ "Hello" ] [
							 | 
						||
| 
								 | 
							
								    utf8 <pipe> [
							 | 
						||
| 
								 | 
							
								        "Hello" print flush
							 | 
						||
| 
								 | 
							
								        readln
							 | 
						||
| 
								 | 
							
								    ] with-stream
							 | 
						||
| 
								 | 
							
								] unit-test
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[ { } ] [ { } run-pipeline ] unit-test
							 | 
						||
| 
								 | 
							
								[ { f } ] [ { [ f ] } run-pipeline ] unit-test
							 | 
						||
| 
								 | 
							
								[ { "Hello" } ] [
							 | 
						||
| 
								 | 
							
								    "Hello" [
							 | 
						||
| 
								 | 
							
								        { [ input-stream [ utf8 <decoder> ] change readln ] } run-pipeline
							 | 
						||
| 
								 | 
							
								    ] with-string-reader
							 | 
						||
| 
								 | 
							
								] unit-test
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[ { f "Hello" } ] [
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        [ output-stream [ utf8 <encoder> ] change "Hello" print flush f ]
							 | 
						||
| 
								 | 
							
								        [ input-stream [ utf8 <decoder> ] change readln ]
							 | 
						||
| 
								 | 
							
								    } run-pipeline
							 | 
						||
| 
								 | 
							
								] unit-test
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[
							 | 
						||
| 
								 | 
							
								    utf8 <pipe> [
							 | 
						||
| 
								 | 
							
								        5 seconds over set-timeout
							 | 
						||
| 
								 | 
							
								        stream-readln
							 | 
						||
| 
								 | 
							
								    ] with-disposal
							 | 
						||
| 
								 | 
							
								] must-fail
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[ ] [
							 | 
						||
| 
								 | 
							
								    1000 [
							 | 
						||
| 
								 | 
							
								        utf8 <pipe> [
							 | 
						||
| 
								 | 
							
								            [ in>> dispose ]
							 | 
						||
| 
								 | 
							
								            [ out>> "hi" over stream-write dispose ]
							 | 
						||
| 
								 | 
							
								            bi
							 | 
						||
| 
								 | 
							
								        ] curry ignore-errors
							 | 
						||
| 
								 | 
							
								    ] times
							 | 
						||
| 
								 | 
							
								] unit-test
							 |