From 8322ff9452102f58ac66f1c055465e8a6914e8d4 Mon Sep 17 00:00:00 2001 From: Joe Groff Date: Thu, 13 Oct 2011 15:24:28 -0700 Subject: [PATCH] io.streams.peek: test with memory-stream Some binary stream types use memcpy to implement read-unsafe, while element-agnostic wrapper streams have to use copy. Make sure peek-stream works with both when it has to divide a read between the peek buffer and the underlying buffer (it does). --- extra/io/streams/peek/peek-tests.factor | 30 +++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/extra/io/streams/peek/peek-tests.factor b/extra/io/streams/peek/peek-tests.factor index 8a99206d0f..7aa8d3d977 100644 --- a/extra/io/streams/peek/peek-tests.factor +++ b/extra/io/streams/peek/peek-tests.factor @@ -99,3 +99,33 @@ IN: io.streams.peek.tests 10 swap stream-read , ] { } make ] unit-test + +[ + { + B{ 0 1 2 3 } + B{ 0 1 2 3 4 5 } + B{ 0 1 } + B{ 2 3 } + B{ 4 5 } + B{ 6 7 } + B{ 8 9 10 11 } + B{ 8 9 10 11 12 13 14 15 } + B{ 8 9 10 11 12 13 14 15 16 17 } + } +] +[ + [ + [ + 26 iota >byte-array + 4 over stream-peek , + 6 over stream-peek , + 2 over stream-read , + 2 over stream-read , + 2 over stream-read , + 2 over stream-read , + 4 over stream-peek , + 8 over stream-peek , + 10 swap stream-read , + ] { } make + ] with-destructors +] unit-test