summaryrefslogtreecommitdiff
path: root/libraries/base/tests/IO
diff options
context:
space:
mode:
authorMax Bolingbroke <batterseapower@hotmail.com>2013-04-10 21:25:05 +0100
committerMax Bolingbroke <batterseapower@hotmail.com>2013-04-10 21:25:05 +0100
commit39001864aebbceafff89e5c3f311936ed837b11a (patch)
treefb60306c10cd8fd07318973fa6dfc7ce92cf42d8 /libraries/base/tests/IO
parent69a8c2d23a75f9f1bda59f14c61fbd057e200126 (diff)
downloadhaskell-39001864aebbceafff89e5c3f311936ed837b11a.tar.gz
Add test for #7522
Diffstat (limited to 'libraries/base/tests/IO')
-rw-r--r--libraries/base/tests/IO/all.T1
-rw-r--r--libraries/base/tests/IO/encoding003.hs23
-rw-r--r--libraries/base/tests/IO/encoding003.stdout1
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 @@
+