on master help sign in
More subtle tests

--HG-- extra : convert_revision : 384044c20b612a9ba5a70dbbbb9d4811b294b4b4

commit33ab32dd07541001c6232c9b7ba8971dc1652c2b authorBryan O'Sullivan <bos@serpentine.com> dateThu 14 Oct 2010, 23:07 (16 years ago) parent4667a18
1 file changed+30
tests/benchmarks/DecodeUtf8.hs+30
tests/benchmarks/DecodeUtf8.hs+30
@@ -47,6 +47,31 @@ string h = do
4747 t <- hGetContents h
4848 rnf t `seq` return ()
4949
50+string_len h = do
51+ hSetEncoding h utf8
52+ t <- hGetContents h
53+ print (length t)
54+
55+lazy_string_utf8 h = do
56+ bs <- BL.hGetContents h
57+ let t = U8.toString bs
58+ rnf t `seq` return ()
59+
60+lazy_string_utf8_len h = do
61+ bs <- BL.hGetContents h
62+ let t = U8.toString bs
63+ print (length t)
64+
65+strict_string_utf8 h = do
66+ bs <- B.hGetContents h
67+ let t = U8.toString bs
68+ rnf t `seq` return ()
69+
70+strict_string_utf8_len h = do
71+ bs <- B.hGetContents h
72+ let t = U8.toString bs
73+ print (length t)
74+
5075main = do
5176 [kind,name] <- getArgs
5277 h <- openFile name ReadMode
@@ -59,3 +84,8 @@ main = do
5984 "lazy" -> lazy h
6085 "lazy_io" -> lazy_io h
6186 "string" -> string h
87+ "string_len" -> string_len h
88+ "lazy_string_utf8" -> lazy_string_utf8 h
89+ "lazy_string_utf8_len" -> lazy_string_utf8_len h
90+ "strict_string_utf8" -> strict_string_utf8 h
91+ "strict_string_utf8_len" -> strict_string_utf8_len h