etc-0.3.0.0: test/System/Etc/Extra/EnvMisspellTest.hs
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedLists #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
module System.Etc.Extra.EnvMisspellTest where
import RIO
import qualified RIO.Vector as Vector
import Test.Tasty (TestTree, testGroup)
import Test.Tasty.HUnit (assertBool, assertEqual, testCase)
import System.Etc
tests :: TestTree
tests = testGroup
"env misspells"
[ testCase "it warns when misspell is present" $ do
let input = mconcat
[ "{\"etc/entries\": {"
, " \"greeting\": { \"etc/spec\": { \"env\": \"GREETING\" }}}}"
]
(spec :: ConfigSpec ()) <- parseConfigSpec input
let result = getEnvMisspellingsPure spec ["GREEING"]
assertBool "expecting to get a warning for typo" (not $ Vector.null result)
assertEqual "expecting to get typo for key GREETING"
(EnvMisspell "GREEING" "GREETING")
(Vector.head result)
]