{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
module Headroom.FileTypeSpec
  ( spec
  )
where

import           Headroom.Configuration         ( makeHeadersConfig
                                                , parseConfiguration
                                                )
import           Headroom.Configuration.Types   ( Configuration(..) )
import           Headroom.Embedded              ( defaultConfig )
import           Headroom.FileType
import           Headroom.FileType.Types        ( FileType(..) )
import           RIO
import           Test.Hspec


spec :: Spec
spec = do
  describe "fileTypeByExt" $ do
    it "parses FileType from file extension" $ do
      pHeadersConfig <- cLicenseHeaders <$> parseConfiguration defaultConfig
      headersConfig  <- makeHeadersConfig pHeadersConfig
      fileTypeByExt headersConfig "hs" `shouldBe` Just Haskell