factor/basis/io/pipes/pipes-tests.factor

45 lines
1.0 KiB
Factor
Raw Normal View History

2008-05-05 04:15:24 -04:00
USING: io io.pipes io.streams.string io.encodings.utf8
2008-05-13 19:24:46 -04:00
io.streams.duplex io.encodings io.timeouts namespaces
continuations tools.test kernel calendar destructors
accessors debugger math ;
IN: io.pipes.tests
[ "Hello" ] [
2008-05-05 04:15:24 -04:00
utf8 <pipe> [
"Hello" print flush
readln
] with-stream
] unit-test
2008-05-05 20:12:22 -04:00
[ { } ] [ { } run-pipeline ] unit-test
[ { f } ] [ { [ f ] } run-pipeline ] unit-test
2008-05-05 04:15:24 -04:00
[ { "Hello" } ] [
"Hello" [
{ [ input-stream [ utf8 <decoder> ] change readln ] } run-pipeline
2008-05-05 04:15:24 -04:00
] with-string-reader
] unit-test
[ { f "Hello" } ] [
{
2008-05-05 04:15:24 -04:00
[ output-stream [ utf8 <encoder> ] change "Hello" print flush f ]
[ input-stream [ utf8 <decoder> ] change readln ]
2008-05-05 20:12:22 -04:00
} run-pipeline
] unit-test
2008-05-13 19:24:46 -04:00
[
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