summaryrefslogtreecommitdiffhomepage
path: root/test/Xmobar/Plugins/Monitors/CommonSpec.hs
blob: 84cfbf30b1299eb74c1aafb24a82a32a883b170c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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" $
      do 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