xmobar-0.39: test/Xmobar/Plugins/Monitors/CommonSpec.hs
module Xmobar.Plugins.Monitors.CommonSpec
( main
, spec
) where
import Test.Hspec
import Xmobar.Plugins.Monitors.Common
main :: IO ()
main = hspec spec
spec :: Spec
spec =
describe "Common.padString" $ do
it "returns given string when called with default values" $
padString 0 0 "" False "" "test" `shouldBe` "test"
it "truncates to max width" $ do
let maxw = 3
givenStr = "mylongstr"
expectedStr = take maxw givenStr
padString 0 maxw "" False "" givenStr `shouldBe` expectedStr
it "truncates to max width and concatenate with ellipsis" $ do
let maxw = 3
givenStr = "mylongstr"
ellipsis = "..."
expectedStr = (++ ellipsis) . take 3 $ givenStr
padString 0 maxw "" False ellipsis givenStr `shouldBe` expectedStr
it "does not pad empty strings" $ do
let padChars = " "
givenStr = ""
expectedStr = ""
padString 0 0 padChars False "" givenStr `shouldBe` expectedStr