RegressionTests__DirectoryStreamTest.st
author Claus Gittinger <cg@exept.de>
Tue, 09 Jul 2019 18:53:03 +0200
changeset 2327 bf482d49aeaf
parent 2156 6f444eaf1286
permissions -rw-r--r--
#QUALITY by exept class: RegressionTests::StringTests added: #test82c_expanding

"{ Package: 'stx:goodies/regression' }"

"{ NameSpace: RegressionTests }"

TestCase subclass:#DirectoryStreamTest
	instanceVariableNames:'testDirName'
	classVariableNames:''
	poolDictionaries:''
	category:'tests-Regression-Streams'
!

!DirectoryStreamTest class methodsFor:'documentation'!

documentation
"
    documentation to be added.

    [author:]
        sr

    [instance variables:]

    [class variables:]

    [see also:]

"
! !

!DirectoryStreamTest methodsFor:'helpers'!

testDirName
    testDirName isNil ifTrue:[
        testDirName := UUID genRandomUUID printString asFilename.
    ].

    ^ testDirName
! !

!DirectoryStreamTest methodsFor:'initialize / release'!

tearDown
    self testDirName recursiveRemove
! !

!DirectoryStreamTest methodsFor:'tests'!

test01
    "basic open for appending."

    |s dir t|

    dir := self testDirName.
    dir asFilename makeDirectory.
    s := DirectoryStream directoryNamed:dir.

    OperatingSystem isMSDOSlike ifTrue:[
        "/ skip '.', '..'
        s nextLine; nextLine.
    ].

    self assert:s atEnd.
    self assert:s nextLine isNil.

    s close.

    self assert:dir asFilename directoryContents size == 0.

    (dir asFilename construct:'file1') writingFileDo:[:s | s nextPutAll:'foo'].

    dir := self testDirName.
    dir asFilename makeDirectory.
    s := DirectoryStream directoryNamed:dir.

    OperatingSystem isMSDOSlike ifTrue:[
        "/ skip '.', '..'
        s nextLine; nextLine.
    ].

    self assert:s atEnd not.
    self assert:(t := s nextLine) = 'file1'.
    self assert:s atEnd.
    self assert:s nextLine isNil.

    s close.

    self assert:dir asFilename directoryContents size == 1.

    "
     self new test01
    "
! !

!DirectoryStreamTest class methodsFor:'documentation'!

version
    ^ '$Header$'
!

version_CVS
    ^ '$Header$'
! !