tomland-1.3.3.3: test/Test/Toml/Parser/Examples.hs
module Test.Toml.Parser.Examples
( examplesSpec
) where
import Data.Either (isRight)
import System.Directory (listDirectory)
import Test.Hspec (Spec, describe, it, runIO, shouldBe)
import Toml.Parser (parse)
import qualified Data.Text.IO as TIO
examplesSpec :: Spec
examplesSpec = describe "Can parse official TOML examples" $ do
files <- runIO $ listDirectory exampleDir
mapM_ example files
example :: FilePath -> Spec
example file = it ("can parse file " ++ file) $ do
toml <- TIO.readFile (exampleDir ++ file)
isRight (parse toml) `shouldBe` True
exampleDir :: FilePath
exampleDir = "test/examples/"