haskell-ffprobe-0.1.0.0: test/FFProbe/Data/TestFormat.hs
module FFProbe.Data.TestFormat (specs) where
import Data.Aeson
import FFProbe.Data.Format
import FFProbe.Data.Tags
import Test.Hspec
import Utils
import Prelude hiding (id)
specs :: Spec
specs = describe "Format Parsing" $ do
it "Should Parse the correct values" $ do
rawJson <- getAssetContent "format.json"
shouldBeRight
(eitherDecodeStrict rawJson)
( \format -> do
filename format `shouldBe` "A.mkv"
streamsCount format `shouldBe` 5
programsCount format `shouldBe` 0
streamGroupsCount format `shouldBe` 0
formatName format `shouldBe` "matroska,webm"
formatLongName format `shouldBe` "Matroska / WebM"
startTime format `shouldBe` 0.0
duration format `shouldBe` 5272.96
bitrate format `shouldBe` 5406763
length (tags format) `shouldBe` 1
lookupTag "ENCODER" format `shouldBe` Just (StringTag "Lavf60.16.100")
)