diff -r c0d7256b8c00 -r 2cbca29e95be RegressionTests__ExternalStreamTest.st --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/RegressionTests__ExternalStreamTest.st Tue Dec 18 19:48:33 2001 +0100 @@ -0,0 +1,144 @@ +"{ Package: 'exept:regression' }" + +"{ NameSpace: Rel5 }" + +TestCase subclass:#ExternalStreamTest + instanceVariableNames:'' + classVariableNames:'' + poolDictionaries:'' + category:'Streams-New-Tests' +! + + +!ExternalStreamTest methodsFor:'tests'! + +createWithSize10:fileName + "helper" + + (fileName asFilename exists) ifTrue:[ + fileName asFilename delete + ]. + fileName asFilename writeStream + nextPutAll:'1234567890'; + close. + self assert:(fileName asFilename exists). + self assert:(fileName asFilename fileSize == 10). + + " + self new createWithSize10:'xxx1' + " +! + +testPosition1 + |h s ch| + + self createWithSize10:'xxx3'. + + h := OperatingSystem openFileForRead:'xxx3'. + s := ExternalReadStream on:h. + + self assert:( s atEnd not ). + self assert:( s position == 0 ). + + ch := s next. + self assert:( ch = $1 ). + self assert:( s position == 1 ). + + s skip:1. + self assert:( s position == 2 ). + self assert:( s peek = $3 ). + self assert:( s position == 2 ). + s skip:1. + self assert:( s position == 3 ). + self assert:( s peek = $4 ). + self assert:( s position == 3 ). + + s close. + + 'xxx3' asFilename delete. + + " + self new testPosition1 + " +! + +testRead1 + "open an existing file for reading; should read 10 chars" + + |h s nBytesRead| + + self createWithSize10:'xxx3'. + + h := OperatingSystem openFileForRead:'xxx3'. + s := ExternalReadStream on:h. + + '1234567890' do:[:eachExpected | + self assert:( s next == eachExpected ). + ]. + + s close. + + 'xxx3' asFilename delete. + + " + self new testRead1 + " +! + +testRead2 + "open an existing file for reading; should read 10 chars" + + |h s| + + self createWithSize10:'xxx3'. + + h := OperatingSystem openFileForRead:'xxx3'. + s := ExternalReadStream on:h. + s binary. + + '1234567890' do:[:eachExpected | + |eachRead| + + eachRead := s next. + self assert:( eachRead == eachExpected asciiValue ). + ]. + + s close. + + 'xxx3' asFilename delete. + + " + self new testRead2 + " +! + +testRead3 + "open an existing file for reading; should read 10 chars" + + |h s bytesRead| + + self createWithSize10:'xxx3'. + + h := OperatingSystem openFileForRead:'xxx3'. + s := ExternalReadStream on:h. + + self assert:( s atEnd not ). + + bytesRead := s next:10. + self assert:( bytesRead = '1234567890' ). + self assert:( s atEnd ). + + s close. + + 'xxx3' asFilename delete. + + " + self new testRead3 + " +! ! + +!ExternalStreamTest class methodsFor:'documentation'! + +version + ^ '$Header$' +! !