@@ -24,7 +24,7 @@ import Data.Text.Internal.Search (indices)
2424import Data.Text.Lazy.Read as TL
2525import Data.Text.Read as T
2626import Data.Word (Word, Word8, Word16, Word32, Word64)
27−import Numeric (showHex)
27+import Numeric (showGFloat, showHex)
2828import Prelude hiding (replicate)
2929import Test.Framework (Test, testGroup)
3030import Test.Framework.Providers.QuickCheck2 (testProperty)
@@ -779,6 +779,15 @@ tb_realfloat = (TB.toLazyText . TB.realFloat) `eq` (TL.pack . show)
779779tb_realfloat_float (a::Float) = tb_realfloat a
780780tb_realfloat_double (a::Double) = tb_realfloat a
781781
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
787+
788+tb_formatRealFloat_G_float (a::Float) = tb_formatRealFloat_G a
789+tb_formatRealFloat_G_double (a::Double) = tb_formatRealFloat_G a
790+
782791-- Reading.
783792
784793t_decimal (n::Int) s =
@@ -1284,7 +1293,9 @@ tests =
12841293 ],
12851294 testGroup "realfloat" [
12861295 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
12881299 ],
12891300 testProperty "tb_fromText" tb_fromText,
12901301 testProperty "tb_singleton" tb_singleton