@@ -9,9 +9,9 @@ module Tests.Properties
99 ) where
1010
1111import Control.Applicative ((<$>), (<*>))
12−import Control.Arrow ((***), first, second)
12+import Control.Arrow ((***), second)
1313import Data.Bits ((.&.))
14−import Data.Char (chr, isDigit, isHexDigit, isLower, isSpace, isLetter, isUpper, ord)
14+import Data.Char (chr, isDigit, isHexDigit, isLower, isSpace, isUpper, ord)
1515import Data.Int (Int8, Int16, Int32, Int64)
1616import Data.Monoid (Monoid(..))
1717import Data.String (IsString(fromString))
@@ -23,7 +23,6 @@ import Data.Text.Internal.Search (indices)
2323import Data.Text.Lazy.Read as TL
2424import Data.Text.Read as T
2525import Data.Word (Word, Word8, Word16, Word32, Word64)
26−import Data.Maybe (mapMaybe)
2726import Numeric (showEFloat, showFFloat, showGFloat, showHex)
2827import Prelude hiding (replicate)
2928import Test.Framework (Test, testGroup)
@@ -230,13 +229,6 @@ sf_uncons p = (uncons . L.filter p) `eqP`
230229 (fmap (second unpackS) . S.uncons . S.filter p)
231230t_uncons = uncons `eqP` (fmap (second unpackS) . T.uncons)
232231tl_uncons = uncons `eqP` (fmap (second unpackS) . TL.uncons)
233−
234−unsnoc xs@(_:_) = Just (init xs, last xs)
235−unsnoc [] = Nothing
236−
237−t_unsnoc = unsnoc `eqP` (fmap (first unpackS) . T.unsnoc)
238−tl_unsnoc = unsnoc `eqP` (fmap (first unpackS) . TL.unsnoc)
239−
240232s_head = head `eqP` S.head
241233sf_head p = (head . L.filter p) `eqP` (S.head . S.filter p)
242234t_head = head `eqP` T.head
@@ -334,14 +326,6 @@ t_toUpper_upper t = p (T.toUpper t) >= p t
334326 where p = T.length . T.filter isUpper
335327tl_toUpper_upper t = p (TL.toUpper t) >= p t
336328 where p = TL.length . TL.filter isUpper
337−t_toTitle_title t = all (<= 1) (caps t)
338− where caps = fmap (T.length . T.filter isUpper) . T.words . T.toTitle
339−t_toTitle_1stNotLower = and . notLow . T.toTitle . T.filter stable
340− where notLow = mapMaybe (fmap (not . isLower) . (T.find isLetter)) . T.words
341− -- Surprise! The Spanish/Portuguese ordinal indicators changed
342− -- from category Ll (letter, lowercase) to Lo (letter, other)
343− -- in Unicode 7.0
344− stable c = c /= '\170' && c /= '\186'
345329
346330justifyLeft k c xs = xs ++ L.replicate (k - length xs) c
347331justifyRight m n xs = L.replicate (m - length xs) n ++ xs
@@ -983,8 +967,6 @@ tests =
983967 testProperty "sf_uncons" sf_uncons,
984968 testProperty "t_uncons" t_uncons,
985969 testProperty "tl_uncons" tl_uncons,
986− testProperty "t_unsnoc" t_unsnoc,
987− testProperty "tl_unsnoc" tl_unsnoc,
988970 testProperty "s_head" s_head,
989971 testProperty "sf_head" sf_head,
990972 testProperty "t_head" t_head,
@@ -1048,9 +1030,7 @@ tests =
10481030 testProperty "tl_toLower_lower" tl_toLower_lower,
10491031 testProperty "t_toUpper_length" t_toUpper_length,
10501032 testProperty "t_toUpper_upper" t_toUpper_upper,
1051− testProperty "tl_toUpper_upper" tl_toUpper_upper,
1052− testProperty "t_toTitle_title" t_toTitle_title,
1053− testProperty "t_toTitle_1stNotLower" t_toTitle_1stNotLower
1033+ testProperty "tl_toUpper_upper" tl_toUpper_upper
10541034 ],
10551035
10561036 testGroup "justification" [