USING: io.streams.string io kernel arrays namespaces make tools.test ; IN: io.streams.string.tests [ "line 1" CHAR: l ] [ "line 1\nline 2\nline 3" dup stream-readln swap stream-read1 ] unit-test [ f ] [ "" stream-readln ] unit-test [ "xyzzy" ] [ [ "xyzzy" write ] with-string-writer ] unit-test [ "a" ] [ 1 "abc" stream-read ] unit-test [ "ab" ] [ 2 "abc" stream-read ] unit-test [ "abc" ] [ 3 "abc" stream-read ] unit-test [ "abc" ] [ 4 "abc" stream-read ] unit-test [ "abc" f ] [ 3 "abc" [ stream-read ] keep stream-read1 ] unit-test [ { { "It seems " CHAR: J } { "obs has lost h" CHAR: i } { "s grasp on reality again.\n" f } } ] [ [ "It seems Jobs has lost his grasp on reality again.\n" [ "J" read-until 2array , "i" read-until 2array , "X" read-until 2array , ] with-input-stream ] { } make ] unit-test [ "hello" "hi" ] [ "hello\nhi" dup stream-readln 2 rot stream-read ] unit-test [ "hello" "hi" ] [ "hello\r\nhi" dup stream-readln 2 rot stream-read ] unit-test [ "hello" "hi" ] [ "hello\rhi" dup stream-readln 2 rot stream-read ] unit-test