factor/extra/io/streams/peek/peek-tests.factor

102 lines
2.3 KiB
Factor
Raw Normal View History

2011-09-16 22:34:19 -04:00
! Copyright (C) 2011 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
2011-09-26 01:54:53 -04:00
USING: accessors byte-arrays combinators
combinators.short-circuit destructors io io.encodings.ascii
io.encodings.binary io.private io.streams.byte-array
io.streams.peek io.streams.string kernel locals make math
sequences tools.test vectors ;
2011-09-16 22:34:19 -04:00
IN: io.streams.peek.tests
[ CHAR: a ]
[ "abc" <string-reader> <peek-stream> stream-read1 ] unit-test
[ CHAR: a ]
[ "abc" <string-reader> <peek-stream> stream-peek1 ] unit-test
[ f ]
[ "" <string-reader> <peek-stream> stream-peek1 ] unit-test
[ CHAR: a ]
[ "abc" <string-reader> <peek-stream> stream-peek1 ] unit-test
[ "ab" 99 ]
[ "abc" <string-reader> <peek-stream> "c" swap stream-read-until ] unit-test
[ "ab" f ]
[ "ab" <string-reader> <peek-stream> "c" swap stream-read-until ] unit-test
[ CHAR: a ]
[
"abc" <string-reader> <peek-stream>
[ stream-peek1 drop ]
[ stream-peek1 ] bi
] unit-test
[ "ab" ]
[
"abc" <string-reader> <peek-stream>
2 swap stream-peek
] unit-test
[ "ab" ]
[
"abc" <string-reader> <peek-stream>
2 over stream-peek drop
2 swap stream-peek
] unit-test
[
{
B{ 97 98 99 100 }
B{ 97 98 99 100 101 102 }
B{ 97 98 }
B{ 99 100 }
B{ 101 102 }
B{ 103 104 }
B{ 105 106 107 108 }
B{ 105 106 107 108 109 110 111 112 }
B{ 105 106 107 108 109 110 111 112 113 114 }
}
] [
[
"abcdefghijklmnopqrstuvwxyz" >byte-array binary <byte-reader> <peek-stream>
4 over stream-peek ,
6 over stream-peek ,
2 over stream-read ,
2 over stream-read ,
2 over stream-read ,
2 over stream-read ,
4 over stream-peek ,
8 over stream-peek ,
10 swap stream-read ,
] { } make
] unit-test
[
{
"abcd"
"abcdef"
"ab"
"cd"
"ef"
"gh"
"ijkl"
"ijklmnop"
"ijklmnopqr"
}
]
[
[
"abcdefghijklmnopqrstuvwxyz" >byte-array ascii <byte-reader> <peek-stream>
4 over stream-peek ,
6 over stream-peek ,
2 over stream-read ,
2 over stream-read ,
2 over stream-read ,
2 over stream-read ,
4 over stream-peek ,
8 over stream-peek ,
10 swap stream-read ,
] { } make
] unit-test