diff options
Diffstat (limited to 'test/Xmobar/Plugins/Monitors/CpuSpec.hs')
| -rw-r--r-- | test/Xmobar/Plugins/Monitors/CpuSpec.hs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/test/Xmobar/Plugins/Monitors/CpuSpec.hs b/test/Xmobar/Plugins/Monitors/CpuSpec.hs index d3155ef..1af0790 100644 --- a/test/Xmobar/Plugins/Monitors/CpuSpec.hs +++ b/test/Xmobar/Plugins/Monitors/CpuSpec.hs @@ -11,6 +11,15 @@ import Data.List main :: IO () main = hspec spec +remove :: String -> String -> String +remove w "" = "" +remove w s@(c:cs) + | w `isPrefixOf` s = remove w (drop (length w) s) + | otherwise = c : remove w cs + +remtags :: String -> String +remtags = remove "<fc=red>" . remove "<fc=green>" . remove "</fc>" + spec :: Spec spec = describe "CPU Spec" $ do @@ -21,9 +30,9 @@ spec = cpuValue `shouldSatisfy` (\item -> "Cpu:" `isPrefixOf` item) it "works with bar template" $ do let args = ["-L","3","-H","50","--normal","green","--high","red", "-t", "Cpu: <total>% <bar>"] - cpuArgs <- getArguments $ map (filter ('#' /=)) args + cpuArgs <- getArguments args cpuValue <- runCpu cpuArgs - cpuValue `shouldSatisfy` (all (`elem` ":#") . last . words) + cpuValue `shouldSatisfy` (all (`elem` ":#") . remtags . last . words) it "works with no icon pattern template" $ do let args = ["-L","3","-H","50","--normal","green","--high","red", "-t", "Cpu: <total>% <bar>", "--", "--load-icon-pattern", "<icon=bright_%%.xpm/>"] cpuArgs <- getArguments args |
