implemented left
This commit is contained in:
parent
d71d3c86e9
commit
60c662396f
|
@ -19,7 +19,10 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
-}
|
-}
|
||||||
|
|
||||||
module Mtlstats.Format (padNum) where
|
module Mtlstats.Format
|
||||||
|
( padNum
|
||||||
|
, left
|
||||||
|
) where
|
||||||
|
|
||||||
-- | Pad an 'Int' with leading zeroes to fit a certain character width
|
-- | Pad an 'Int' with leading zeroes to fit a certain character width
|
||||||
padNum
|
padNum
|
||||||
|
@ -36,3 +39,12 @@ padNum size n
|
||||||
pLen = size - sLen
|
pLen = size - sLen
|
||||||
pad = replicate pLen '0'
|
pad = replicate pLen '0'
|
||||||
in pad ++ str
|
in pad ++ str
|
||||||
|
|
||||||
|
-- | Aligns text to the left within a field (clipping if necessary)
|
||||||
|
left
|
||||||
|
:: Int
|
||||||
|
-- ^ The width of the field
|
||||||
|
-> String
|
||||||
|
-- ^ The text to align
|
||||||
|
-> String
|
||||||
|
left n str = take n $ str ++ repeat ' '
|
||||||
|
|
|
@ -26,8 +26,9 @@ import Test.Hspec (Spec, context, describe, it, shouldBe)
|
||||||
import Mtlstats.Format
|
import Mtlstats.Format
|
||||||
|
|
||||||
spec :: Spec
|
spec :: Spec
|
||||||
spec = describe "Mtlstats.Format"
|
spec = describe "Mtlstats.Format" $ do
|
||||||
padNumSpec
|
padNumSpec
|
||||||
|
leftSpec
|
||||||
|
|
||||||
padNumSpec :: Spec
|
padNumSpec :: Spec
|
||||||
padNumSpec = describe "padNum" $ do
|
padNumSpec = describe "padNum" $ do
|
||||||
|
@ -51,3 +52,14 @@ padNumSpec = describe "padNum" $ do
|
||||||
context "-1234, four digits" $
|
context "-1234, four digits" $
|
||||||
it "should be -1234" $
|
it "should be -1234" $
|
||||||
padNum 4 (-1234) `shouldBe` "-1234"
|
padNum 4 (-1234) `shouldBe` "-1234"
|
||||||
|
|
||||||
|
leftSpec :: Spec
|
||||||
|
leftSpec = describe "left" $ do
|
||||||
|
|
||||||
|
context "fit" $
|
||||||
|
it "should pad the text" $
|
||||||
|
left 5 "foo" `shouldBe` "foo "
|
||||||
|
|
||||||
|
context "overflow" $
|
||||||
|
it "should truncate the text" $
|
||||||
|
left 2 "foo" `shouldBe` "fo"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user