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

76 lines
1.4 KiB
Factor
Raw Normal View History

USING: accessors io io.encodings io.encodings.ascii
io.encodings.utf8 io.files io.streams.byte-array
io.streams.string kernel namespaces tools.test ;
IN: io.encodings.tests
2007-09-20 18:09:08 -04:00
[ { } ]
[ "vocab:io/test/empty-file.txt" ascii file-lines ]
2007-09-20 18:09:08 -04:00
unit-test
: lines-test ( file encoding -- line1 line2 )
[ readln readln ] with-file-reader ;
2007-09-20 18:09:08 -04:00
[
"This is a line."
"This is another line."
] [
2009-02-15 20:53:21 -05:00
"vocab:io/test/windows-eol.txt"
ascii lines-test
2007-09-20 18:09:08 -04:00
] unit-test
[
"This is a line."
"This is another line."
] [
2009-02-15 20:53:21 -05:00
"vocab:io/test/mac-os-eol.txt"
ascii lines-test
2007-09-20 18:09:08 -04:00
] unit-test
[
"This is a line."
"This is another line."
] [
2009-02-15 20:53:21 -05:00
"vocab:io/test/unix-eol.txt"
ascii 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