1 USING: io.streams.string io kernel arrays namespaces make
3 IN: io.streams.string.tests
5 [ "" ] [ "" [ contents ] with-string-reader ] unit-test
9 "line 1\nline 2\nline 3" [ readln read1 ] with-string-reader
13 { { "line 1" "line 2" "line 3" } } [
14 "line 1\nline 2\nline 3" [ lines ] with-string-reader
17 { { "" "foo" "bar" "baz" } } [
18 "\rfoo\r\nbar\rbaz\n" [ lines ] with-string-reader
21 [ f ] [ "" [ readln ] with-string-reader ] unit-test
23 [ "xyzzy" ] [ [ "xyzzy" write ] with-string-writer ] unit-test
25 [ "a" ] [ "abc" [ 1 read ] with-string-reader ] unit-test
26 [ "ab" ] [ "abc" [ 2 read ] with-string-reader ] unit-test
27 [ "abc" ] [ "abc" [ 3 read ] with-string-reader ] unit-test
28 [ "abc" ] [ "abc" [ 4 read ] with-string-reader ] unit-test
29 [ "abc" f ] [ "abc" [ 3 read read1 ] with-string-reader ] unit-test
32 { "It seems " CHAR: J }
33 { "obs has lost h" CHAR: i }
34 { "s grasp on reality again.\n" f }
36 "It seems Jobs has lost his grasp on reality again.\n" [
43 { "" CHAR: \r } [ "\r\n" [ "\r" read-until ] with-string-reader ] unit-test
44 { f f } [ "" [ "\r" read-until ] with-string-reader ] unit-test
47 "hello\nhi" [ readln 2 read ] with-string-reader
51 "hello\r\nhi" [ readln 2 read ] with-string-reader
55 "hello\rhi" [ readln 2 read ] with-string-reader
59 [ f ] [ "" [ 0 read ] with-string-reader ] unit-test
60 [ f ] [ "" [ 1 read ] with-string-reader ] unit-test
61 [ f ] [ "" [ readln ] with-string-reader ] unit-test
62 [ "\"\"" ] [ "\"\"" [ readln ] with-string-reader ] unit-test