[project @ 2001-05-18 16:54:04 by simonmar]
[ghc-hetmet.git] / ghc / tests / lib / IO / hGetBuffering001.hs
1 import IO
2
3 main = 
4     sequence (map hIsOpen [stdin, stdout, stderr]) >>= \ opens ->
5     print opens >>
6     sequence (map hIsClosed [stdin, stdout, stderr]) >>= \ closeds ->
7     print closeds >>
8     sequence (map hIsReadable [stdin, stdout, stderr]) >>= \ readables ->
9     print readables >>
10     sequence (map hIsWritable [stdin, stdout, stderr]) >>= \ writables ->
11     print writables >>
12     sequence (map hIsBlockBuffered [stdin, stdout, stderr]) >>= \ buffereds ->
13     print buffereds >>
14     sequence (map hIsLineBuffered [stdin, stdout, stderr]) >>= \ buffereds ->
15     print buffereds >>
16     sequence (map hIsNotBuffered [stdin, stdout, stderr]) >>= \ buffereds ->
17     print buffereds
18   where
19     hIsBlockBuffered h = hGetBuffering h >>= \ b -> return $ case b of { BlockBuffering _ -> True; _ -> False }
20     hIsLineBuffered  h = hGetBuffering h >>= \ b -> return $ case b of { LineBuffering -> True; _ -> False }
21     hIsNotBuffered   h = hGetBuffering h >>= \ b -> return $ case b of { NoBuffering -> True; _ -> False }