diff options
Diffstat (limited to 'libraries/base/tests/IO')
-rw-r--r-- | libraries/base/tests/IO/all.T | 1 | ||||
-rw-r--r-- | libraries/base/tests/IO/encoding003.hs | 23 | ||||
-rw-r--r-- | libraries/base/tests/IO/encoding003.stdout | 1 |
3 files changed, 25 insertions, 0 deletions
diff --git a/libraries/base/tests/IO/all.T b/libraries/base/tests/IO/all.T index bb73e99fec..8272ef2c0c 100644 --- a/libraries/base/tests/IO/all.T +++ b/libraries/base/tests/IO/all.T @@ -144,6 +144,7 @@ test('encoding001', compile_and_run, ['']) test('encoding002', normal, compile_and_run, ['']) +test('encoding003', normal, compile_and_run, ['']) test('environment001', [when(msys(), expect_fail), # Doesn't work on MSYS; see #5599 diff --git a/libraries/base/tests/IO/encoding003.hs b/libraries/base/tests/IO/encoding003.hs new file mode 100644 index 0000000000..12ed28b657 --- /dev/null +++ b/libraries/base/tests/IO/encoding003.hs @@ -0,0 +1,23 @@ +import System.IO +import System.Directory +import Data.Char + +tempFile = "temp" + +create :: IO () +create = do + h <- openFile tempFile WriteMode + hSetEncoding h latin1 + hPutStr h [chr 128] + hClose h + +main :: IO () +main = do + create + + utf8Ignore <- mkTextEncoding "UTF8//IGNORE" + h <- openFile tempFile ReadMode + hSetEncoding h utf8Ignore + hGetContents h >>= putStrLn + + removeFile tempFile diff --git a/libraries/base/tests/IO/encoding003.stdout b/libraries/base/tests/IO/encoding003.stdout new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/libraries/base/tests/IO/encoding003.stdout @@ -0,0 +1 @@ + |