diff options
Diffstat (limited to 'test/Plugins/Monitors')
| -rw-r--r-- | test/Plugins/Monitors/CommonSpec.hs | 29 | 
1 files changed, 29 insertions, 0 deletions
| diff --git a/test/Plugins/Monitors/CommonSpec.hs b/test/Plugins/Monitors/CommonSpec.hs new file mode 100644 index 0000000..847368c --- /dev/null +++ b/test/Plugins/Monitors/CommonSpec.hs @@ -0,0 +1,29 @@ +module Plugins.Monitors.CommonSpec +  ( main +  , spec +  ) where + +import Test.Hspec +import 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 | 
