{-# LANGUAGE CPP #-} module Test.Hspec.Core.ConfigSpec (spec) where import Prelude () import Helper import System.Directory import Test.Hspec.Core.Config spec :: Spec spec = around_ inTempDirectory $ around_ (withEnvironment [("HOME", "foo")]) $ do describe "readConfig" $ do it "recognizes options from HSPEC_OPTIONS" $ do withEnvironment [("HSPEC_OPTIONS", "--color")] $ do configColorMode <$> readConfig defaultConfig [] `shouldReturn` ColorAlways it "recognizes options from HSPEC_*" $ do withEnvironment [("HSPEC_COLOR", "yes")] $ do configColorMode <$> readConfig defaultConfig [] `shouldReturn` ColorAlways describe "readConfigFiles" $ do it "reads .hspec" $ do dir <- getCurrentDirectory let name = dir ".hspec" writeFile name "--diff --foo 'bar baz'" readConfigFiles `shouldReturn` [(name, ["--diff", "--foo", "bar baz"])] #ifndef mingw32_HOST_OS it "reads ~/.hspec" $ do let name = "my-home/.hspec" createDirectory "my-home" writeFile name "--diff" withEnvironment [("HOME", "my-home")] $ do readConfigFiles `shouldReturn` [(name, ["--diff"])] context "without $HOME" $ do it "returns empty list" $ do readConfigFiles `shouldReturn` [] context "without current directory" $ do it "returns empty list" $ do dir <- getCurrentDirectory removeDirectory dir readConfigFiles `shouldReturn` [] #endif