--- a/RegressionTests__FileStreamTest.st Thu Sep 21 11:17:56 2000 +0200
+++ b/RegressionTests__FileStreamTest.st Wed Sep 27 09:51:29 2000 +0200
@@ -388,6 +388,100 @@
"
self testRewrite2
"
+!
+
+testWrite1
+ "basic writing"
+
+ self testWrite:1024.
+ self testWrite:2048.
+ self testWrite:4096.
+ self testWrite:8192.
+ self testWrite:8192*2.
+ self testWrite:8192*4.
+ self testWrite:8192*8.
+ self testWrite:8192*16.
+ self testWrite:8192*32.
+ self testWrite:8192*64.
+ self testWrite:8192*128.
+
+ "
+ self testWrite1
+ "
+!
+
+testWrite2
+ "basic writing"
+
+ 10 timesRepeat:[
+ self testWrite1.
+ ].
+
+ "
+ self testWrite2
+ "
+!
+
+testWrite3
+ "basic writing"
+
+ |interruptor|
+
+ interruptor := [
+ [true] whileTrue:[
+ Delay waitForMilliseconds:10.
+ ].
+ ] forkAt:9.
+
+ [
+ 50 timesRepeat:[
+ self testWrite1.
+ ].
+ ] valueNowOrOnUnwindDo:[
+ interruptor terminate
+ ].
+
+ "
+ self testWrite3
+ "
+!
+
+testWrite:size
+ "basic writing"
+
+ |file s sz buffer byte|
+
+ buffer := ByteArray new:size.
+ 1 to:buffer size do:[:idx |
+ buffer at:idx put:(idx \\ 256)
+ ].
+
+ file := Filename newTemporary.
+ s := file writeStream.
+
+ s binary.
+ s nextPutAll:buffer.
+ s close.
+
+ sz := file fileSize.
+ sz ~= size ifTrue:[self error:'size mismatch'].
+
+ s := file readStream.
+ s binary.
+ 1 to:size do:[:idx |
+ byte := s next.
+ byte ~~ (idx \\ 256) ifTrue:[self error:'read data mismatch'].
+ ].
+ s close.
+
+ (file binaryContentsOfEntireFile ~= buffer) ifTrue:[
+ self error:'read data mismatch2'
+ ].
+ file delete.
+
+ "
+ self testWrite:1024
+ "
! !
!FileStreamTest class methodsFor:'documentation'!