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
|
||||
padNum
|
||||
|
@ -36,3 +39,12 @@ padNum size n
|
|||
pLen = size - sLen
|
||||
pad = replicate pLen '0'
|
||||
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
|
||||
|
||||
spec :: Spec
|
||||
spec = describe "Mtlstats.Format"
|
||||
spec = describe "Mtlstats.Format" $ do
|
||||
padNumSpec
|
||||
leftSpec
|
||||
|
||||
padNumSpec :: Spec
|
||||
padNumSpec = describe "padNum" $ do
|
||||
|
@ -51,3 +52,14 @@ padNumSpec = describe "padNum" $ do
|
|||
context "-1234, four digits" $
|
||||
it "should be -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