diff --git a/basis/io/ports/ports-tests.factor b/basis/io/ports/ports-tests.factor index 7f198fdedf..b2acabc329 100644 --- a/basis/io/ports/ports-tests.factor +++ b/basis/io/ports/ports-tests.factor @@ -1,6 +1,6 @@ -USING: alien.c-types alien.data destructors io io.directories -io.encodings.binary io.files io.files.temp kernel libc math -sequences tools.test ; +USING: accessors alien.c-types alien.data destructors io +io.directories io.encodings.ascii io.encodings.binary io.files +io.files.temp io.pipes kernel libc math sequences tools.test ; IN: io.ports.tests ! Make sure that writing malloced storage to a file works, and @@ -23,3 +23,9 @@ IN: io.ports.tests ] unit-test [ ] [ "test.txt" temp-file delete-file ] unit-test + +! Getting the stream-element-type of an output-port was broken +[ +byte+ ] [ binary [ stream-element-type ] [ dispose ] bi ] unit-test +[ +byte+ ] [ binary [ out>> stream-element-type ] [ dispose ] bi ] unit-test +[ +character+ ] [ ascii [ stream-element-type ] [ dispose ] bi ] unit-test +[ +character+ ] [ ascii [ out>> stream-element-type ] [ dispose ] bi ] unit-test \ No newline at end of file diff --git a/basis/io/ports/ports.factor b/basis/io/ports/ports.factor index ee09deb511..3acb9bff64 100644 --- a/basis/io/ports/ports.factor +++ b/basis/io/ports/ports.factor @@ -111,8 +111,7 @@ TUPLE: output-port < buffered-port ; [ nip ] [ buffer>> buffer-capacity <= ] 2bi [ drop ] [ stream-flush ] if ; inline -M: output-port stream-element-type - stream>> stream-element-type ; inline +M: output-port stream-element-type drop +byte+ ; inline M: output-port stream-write1 dup check-disposed