@@ -37,6 +37,9 @@ crashy onException p = unsafePerformIO $
37 let types = e :: SomeException
37 let types = e :: SomeException
38 in trace ("*** Exception: " ++ show e) return onException
38 in trace ("*** Exception: " ++ show e) return onException
40+tracer f a = let r = f a
40prop_T_pack_unpack = (T.unpack . T.pack) `eq` id
43prop_T_pack_unpack = (T.unpack . T.pack) `eq` id
41prop_TL_pack_unpack = (TL.unpack . TL.pack) `eq` id
44prop_TL_pack_unpack = (TL.unpack . TL.pack) `eq` id
42prop_T_stream_unstream = (S.unstream . S.stream) `eq` id
45prop_T_stream_unstream = (S.unstream . S.stream) `eq` id
@@ -300,7 +303,10 @@ prop_TL_tails = L.tails `eqP` (map unpackS . TL.tails)
301prop_T_split_i t = id `eq` (T.intercalate t . T.split t)
304prop_T_split_i t = id `eq` (T.intercalate t . T.split t)
302prop_T_splitTimes_i k t = id `eq` (T.intercalate t . T.splitTimes k t)
305prop_T_splitTimes_i k t = id `eq` (T.intercalate t . T.splitTimes k t)
303−prop_T_splitTimes_split t = T.splitTimes maxBound t `eq` T.split t
306+prop_T_splitTimes_split k t = T.splitTimes k t `eq` \u ->
307+ case L.splitAt k (T.split t u) of
309+ (a,b) -> a ++ [T.intercalate t b]
304prop_T_splitTimesEnd_i k t = id `eq` (T.intercalate t . T.splitTimesEnd k t)
310prop_T_splitTimesEnd_i k t = id `eq` (T.intercalate t . T.splitTimesEnd k t)
305prop_T_splitTimesEnd_split t = T.splitTimesEnd maxBound t `eq` T.split t
311prop_T_splitTimesEnd_split t = T.splitTimesEnd maxBound t `eq` T.split t
306prop_TL_split_i c = id `eq` (TL.intercalate (TL.singleton c) . TL.split c)
312prop_TL_split_i c = id `eq` (TL.intercalate (TL.singleton c) . TL.split c)