packages feed

ktx-codec-0.0.1.0: test/Spec.hs

module Main where

import Control.Monad (guard)
import Data.List (isSuffixOf)
import Debug.Trace (traceM)
import Shower (printer)
import System.Directory (listDirectory)
import System.FilePath ((</>))

import qualified Codec.Ktx as Ktx1

assetsPath :: FilePath
assetsPath = ".." </> "assets"

main :: IO ()
main = do
  assets <- listDirectory assetsPath

  mapM_ testKtx1 do
    fp <- assets
    guard $ ".ktx" `isSuffixOf` fp
    pure $ assetsPath </> fp

testKtx1 :: FilePath -> IO ()
testKtx1 source =
  Ktx1.fromFile source >>= \case
    Left (offset, err) -> do
      traceM err
      fail $ unwords
        [ "KTX-1 load error in"
        , source
        , "at"
        , show offset
        ]
    Right ktx -> do
      printer ktx