factor/core/io/encodings/encodings-tests.factor

76 lines
1.5 KiB
Factor
Raw Normal View History

USING: io.files io.streams.string io io.streams.byte-array
tools.test kernel io.encodings.ascii io.encodings.utf8
namespaces accessors io.encodings ;
IN: io.streams.encodings.tests
2007-09-20 18:09:08 -04:00
[ { } ]
2008-05-06 15:45:28 -04:00
[ "resource:core/io/test/empty-file.txt" ascii <file-reader> lines ]
2007-09-20 18:09:08 -04:00
unit-test
: lines-test ( stream -- line1 line2 )
[ readln readln ] with-input-stream ;
2007-09-20 18:09:08 -04:00
[
"This is a line."
"This is another line."
] [
2008-05-06 15:45:28 -04:00
"resource:core/io/test/windows-eol.txt"
ascii <file-reader> lines-test
2007-09-20 18:09:08 -04:00
] unit-test
[
"This is a line."
"This is another line."
] [
2008-05-06 15:45:28 -04:00
"resource:core/io/test/mac-os-eol.txt"
ascii <file-reader> lines-test
2007-09-20 18:09:08 -04:00
] unit-test
[
"This is a line."
"This is another line."
] [
2008-05-06 15:45:28 -04:00
"resource:core/io/test/unix-eol.txt"
ascii <file-reader> lines-test
2007-09-20 18:09:08 -04:00
] unit-test
[
"1234"
] [
"Hello world\r\n1234" <string-reader>
dup stream-readln drop
4 swap stream-read
] unit-test
[
"1234"
] [
"Hello world\r\n1234" <string-reader>
dup stream-readln drop
4 swap stream-read-partial
] unit-test
2007-09-20 18:09:08 -04:00
[
CHAR: 1
] [
"Hello world\r\n1234" <string-reader>
dup stream-readln drop
stream-read1
] unit-test
[ utf8 ascii ] [
"foo" utf8 [
input-stream get code>>
ascii decode-input
input-stream get code>>
] with-byte-reader
] unit-test
[ utf8 ascii ] [
utf8 [
output-stream get code>>
ascii encode-output
output-stream get code>>
] with-byte-writer drop
] unit-test