@@ -226,12 +226,17 @@ sf_toCaseFold_length p xs =
226226 (S.length . S.toCaseFold . S.filter p $ s) >= (length . L.filter p $ xs)
227227 where s = S.streamList xs
228228t_toCaseFold_length t = T.length (T.toCaseFold t) >= T.length t
229+tl_toCaseFold_length t = TL.length (TL.toCaseFold t) >= TL.length t
229230t_toLower_length t = T.length (T.toLower t) >= T.length t
230231t_toLower_lower t = p (T.toLower t) >= p t
231232 where p = T.length . T.filter isLower
233+tl_toLower_lower t = p (TL.toLower t) >= p t
234+ where p = TL.length . TL.filter isLower
232235t_toUpper_length t = T.length (T.toUpper t) >= T.length t
233236t_toUpper_upper t = p (T.toUpper t) >= p t
234237 where p = T.length . T.filter isUpper
238+tl_toUpper_upper t = p (TL.toUpper t) >= p t
239+ where p = TL.length . TL.filter isUpper
235240
236241justifyLeft k c s = s ++ replicate (k - length s) c
237242justifyRight m n s = replicate (m - length s) n ++ s
@@ -370,12 +375,19 @@ tl_tails = L.tails `eqP` (map unpackS . TL.tails)
370375
371376t_split_i t = id `eq` (T.intercalate t . T.split t)
372377t_splitTimes_i k t = id `eq` (T.intercalate t . T.splitTimes k t)
378+tl_splitTimes_i k t = id `eq` (TL.intercalate t . TL.splitTimes k t)
373379t_splitTimes_split k t = T.splitTimes k t `eq` \u ->
374380 case L.splitAt k (T.split t u) of
375381 (a,[]) -> a
376382 (a,b) -> a ++ [T.intercalate t b]
383+tl_splitTimes_split k t = TL.splitTimes k t `eq` \u ->
384+ case L.splitAt (fromIntegral k) (TL.split t u) of
385+ (a,[]) -> a
386+ (a,b) -> a ++ [TL.intercalate t b]
377387t_splitTimesEnd_i k t = id `eq` (T.intercalate t . T.splitTimesEnd k t)
388+tl_splitTimesEnd_i k t = id `eq` (TL.intercalate t . TL.splitTimesEnd k t)
378389t_splitTimesEnd_split t = T.splitTimesEnd maxBound t `eq` T.split t
390+tl_splitTimesEnd_split t = TL.splitTimesEnd maxBound t `eq` TL.split t
379391tl_split_i t = id `eq` (TL.intercalate t . TL.split t)
380392
381393t_splitWith p = splitWith p `eqP` (map unpackS . T.splitWith p)
@@ -615,10 +627,13 @@ tests = [
615627 testProperty "s_toCaseFold_length" s_toCaseFold_length,
616628 testProperty "sf_toCaseFold_length" sf_toCaseFold_length,
617629 testProperty "t_toCaseFold_length" t_toCaseFold_length,
630+ testProperty "tl_toCaseFold_length" tl_toCaseFold_length,
618631 testProperty "t_toLower_length" t_toLower_length,
619632 testProperty "t_toLower_lower" t_toLower_lower,
633+ testProperty "tl_toLower_lower" tl_toLower_lower,
620634 testProperty "t_toUpper_length" t_toUpper_length,
621− testProperty "t_toUpper_upper" t_toUpper_upper
635+ testProperty "t_toUpper_upper" t_toUpper_upper,
636+ testProperty "tl_toUpper_upper" tl_toUpper_upper
622637 ],
623638
624639 testGroup "justification" [
@@ -750,9 +765,13 @@ tests = [
750765 testGroup "breaking many" [
751766 testProperty "t_split_i" t_split_i,
752767 testProperty "t_splitTimes_i" t_splitTimes_i,
768+ testProperty "tl_splitTimes_i" tl_splitTimes_i,
753769 testProperty "t_splitTimes_split" t_splitTimes_split,
770+ testProperty "tl_splitTimes_split" tl_splitTimes_split,
754771 testProperty "t_splitTimesEnd_i" t_splitTimesEnd_i,
772+ testProperty "tl_splitTimesEnd_i" tl_splitTimesEnd_i,
755773 testProperty "t_splitTimesEnd_split" t_splitTimesEnd_split,
774+ testProperty "tl_splitTimesEnd_split" tl_splitTimesEnd_split,
756775 testProperty "tl_split_i" tl_split_i,
757776 testProperty "t_splitWith" t_splitWith,
758777 testProperty "t_splitWith_count" t_splitWith_count,