diff --git a/basis/alien/strings/strings-tests.factor b/basis/alien/strings/strings-tests.factor index 484809469f..c1a509041e 100644 --- a/basis/alien/strings/strings-tests.factor +++ b/basis/alien/strings/strings-tests.factor @@ -1,6 +1,6 @@ USING: alien.strings tools.test kernel libc io.encodings.8-bit io.encodings.utf8 io.encodings.utf16 -io.encodings.ascii alien ; +io.encodings.ascii alien io.encodings.string ; IN: alien.strings.tests [ "\u0000ff" ] @@ -28,3 +28,7 @@ unit-test ] unit-test [ f ] [ f utf8 alien>string ] unit-test + +[ "hello" ] [ "hello" utf16 encode utf16 decode ] unit-test + +[ "hello" ] [ "hello" utf16 string>alien utf16 alien>string ] unit-test diff --git a/basis/io/streams/memory/memory.factor b/basis/io/streams/memory/memory.factor index daadbb0e81..20d9f4eb0c 100644 --- a/basis/io/streams/memory/memory.factor +++ b/basis/io/streams/memory/memory.factor @@ -1,6 +1,6 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel accessors alien.accessors math io ; +USING: kernel accessors alien alien.c-types alien.accessors math io ; IN: io.streams.memory TUPLE: memory-stream alien index ; @@ -11,3 +11,9 @@ TUPLE: memory-stream alien index ; M: memory-stream stream-read1 [ [ alien>> ] [ index>> ] bi alien-unsigned-1 ] [ [ 1+ ] change-index drop ] bi ; + +M: memory-stream stream-read + [ + [ index>> ] [ alien>> ] bi <displaced-alien> + swap memory>byte-array + ] [ [ + ] change-index drop ] 2bi ;