factor/core/io/io-tests.factor

76 lines
1.5 KiB
Factor
Raw Normal View History

2007-09-20 18:09:08 -04:00
USING: arrays io io.files kernel math parser strings system
tools.test words namespaces make io.encodings.8-bit
io.encodings.binary sequences io.files.unique ;
2008-03-01 17:00:45 -05:00
IN: io.tests
2007-09-20 18:09:08 -04:00
[ f ] [
2008-03-26 18:07:50 -04:00
"resource:core/io/test/no-trailing-eol.factor" run-file
2008-03-01 17:00:45 -05:00
"foo" "io.tests" lookup
2007-09-20 18:09:08 -04:00
] unit-test
! Make sure we use correct to_c_string form when writing
[ ] [ "\0" write ] unit-test
[ B{ 3 2 3 4 5 } ]
[
"seek-test1" unique-file binary
[
[
B{ 1 2 3 4 5 } write flush 0 seek-absolute seek-output
B{ 3 } write
] with-file-writer
] [
file-contents
] 2bi
] unit-test
[ B{ 1 2 3 4 3 } ]
[
"seek-test2" unique-file binary
[
[
B{ 1 2 3 4 5 } write flush -1 seek-relative seek-output
B{ 3 } write
] with-file-writer
] [
file-contents
] 2bi
] unit-test
[ B{ 1 2 3 4 5 0 3 } ]
[
"seek-test3" unique-file binary
[
[
B{ 1 2 3 4 5 } write flush 1 seek-relative seek-output
B{ 3 } write
] with-file-writer
] [
file-contents
] 2bi
] unit-test
[ B{ 3 } ]
[
B{ 1 2 3 4 5 } "seek-test4" unique-file binary [
set-file-contents
] [
[
-3 seek-end seek-input 1 read
] with-file-reader
] 2bi
] unit-test
[ B{ 2 } ]
[
B{ 1 2 3 4 5 } "seek-test5" unique-file binary [
set-file-contents
] [
[
3 seek-absolute seek-input
-2 seek-relative seek-input
1 read
] with-file-reader
] 2bi
] unit-test