@@ -24,7 +24,7 @@ import Data.Text.Internal.Search (indices)
24import Data.Text.Lazy.Read as TL
24import Data.Text.Lazy.Read as TL
25import Data.Text.Read as T
25import Data.Text.Read as T
26import Data.Word (Word, Word8, Word16, Word32, Word64)
26import Data.Word (Word, Word8, Word16, Word32, Word64)
27−import Numeric (showHex)
27+import Numeric (showGFloat, showHex)
28import Prelude hiding (replicate)
28import Prelude hiding (replicate)
29import Test.Framework (Test, testGroup)
29import Test.Framework (Test, testGroup)
30import Test.Framework.Providers.QuickCheck2 (testProperty)
30import Test.Framework.Providers.QuickCheck2 (testProperty)
@@ -779,6 +779,15 @@ tb_realfloat = (TB.toLazyText . TB.realFloat) `eq` (TL.pack . show)
779tb_realfloat_float (a::Float) = tb_realfloat a
779tb_realfloat_float (a::Float) = tb_realfloat a
780tb_realfloat_double (a::Double) = tb_realfloat a
780tb_realfloat_double (a::Double) = tb_realfloat a
782+tb_formatRealFloat_G :: (RealFloat a, Show a) => a -> Precision a -> Property
783+tb_formatRealFloat_G a prec =
784+ TB.formatRealFloat TB.Generic p a ===
785+ TB.fromString (showGFloat p a "")
786+ where p = precision a prec
788+tb_formatRealFloat_G_float (a::Float) = tb_formatRealFloat_G a
789+tb_formatRealFloat_G_double (a::Double) = tb_formatRealFloat_G a
782-- Reading.
791-- Reading.
784t_decimal (n::Int) s =
793t_decimal (n::Int) s =
@@ -1284,7 +1293,9 @@ tests =
1285 testGroup "realfloat" [
1294 testGroup "realfloat" [
1286 testProperty "tb_realfloat_double" tb_realfloat_double,
1295 testProperty "tb_realfloat_double" tb_realfloat_double,
1287− testProperty "tb_realfloat_float" tb_realfloat_float
1296+ testProperty "tb_realfloat_float" tb_realfloat_float,
1297+ testProperty "tb_formatRealFloat_G_float" tb_formatRealFloat_G_float,
1298+ testProperty "tb_formatRealFloat_G_double" tb_formatRealFloat_G_double
1289 testProperty "tb_fromText" tb_fromText,
1300 testProperty "tb_fromText" tb_fromText,
1290 testProperty "tb_singleton" tb_singleton
1301 testProperty "tb_singleton" tb_singleton