diff options
Diffstat (limited to 'testsuite/tests/lib/IO/openFile004.hs')
-rw-r--r-- | testsuite/tests/lib/IO/openFile004.hs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/testsuite/tests/lib/IO/openFile004.hs b/testsuite/tests/lib/IO/openFile004.hs new file mode 100644 index 0000000000..4124abb0de --- /dev/null +++ b/testsuite/tests/lib/IO/openFile004.hs @@ -0,0 +1,23 @@ +-- !!! Open a non-existent file for writing + +import Control.Monad +import Data.Char +import System.Directory +import System.IO + +file = "openFile004.out" + +main = do + b <- doesFileExist file + when b (removeFile file) + + h <- openFile file WriteMode + hPutStr h "hello world\n" + hClose h + + h <- openFile file ReadMode + let loop = do + b <- hIsEOF h + if b then return () + else do c <- hGetChar h; putChar c; loop + loop |