packages feed

spdx-license-0.1.0: test/Spec.hs

module Main where

import qualified Data.Text.IO as T
import Distribution.SPDX.Template
import System.Directory
import Test.Hspec
import Text.Megaparsec

main :: IO ()
main = do
  contents <- listDirectory "test/data"
  licenseFiles <- traverse T.readFile $ fmap ("test/data/" <>) contents
  let parseRes = traverse (uncurry $ runParser license) $ zip contents licenseFiles
  let prettyRes = fmap (map prettyLicense) parseRes
  hspec $ do
    describe "parse and pretty printing" $ do
      it "should roundtrip" $
        prettyRes `shouldBe` Right licenseFiles