{-| Description: Copyright: (c) 2020-2021 Sam May License: GPL-3.0-or-later Maintainer: ag@eitilt.life Stability: experimental Portability: portable The CDTEXT file used in this module comes via Pigeon at (warning for a /lot/ of swearing). The encoding was later manually set to ASCII. -} module Test.Libcdio.Unit.Sound.RevolutionDays (tests) where import qualified Test.HUnit as U import Test.HUnit ( (~:) ) import qualified Data.ByteString as BS import qualified Data.Either.Compat as E import qualified Data.Text as T import Sound.Libcdio.Read.CdText import Test.Libcdio.Unit.Sound.Common testFile :: FilePath testFile = dataFile "revolution-days.cdtext" tests :: U.Test tests = "Sound.Libcdio.Test.RevolutionDays" ~: U.TestList [ binary ] binary :: U.Test binary = "Binary CDTEXT is read properly" ~: U.TestCase $ do bs <- BS.readFile testFile x <- parseCdText bs . withLanguage English $ checkLanguage [(English, infos)] E.fromRight (U.assertFailure "Could not read binary data") x infos :: [Info] infos = emptyInfo { title = Just $ T.pack "REVOLUTION DAYS" , performer = Just $ T.pack "BARCLAY JAMES HARVEST FEATURING LES HOLROYD" } : map (\t -> emptyInfo { title = Just $ T.pack t }) [ "IT'S MY LIFE" , "MISSING YOU" , "THAT WAS THEN... THIS IS NOW" , "PRELUDE" , "JANUARY MORNING" , "LOVE ON THE LINE" , "QUIERO EL SOL" , "TOTALLY COOL" , "LIFE IS FOR LIVING" , "SLEEPY SUNDAY" , "REVOLUTION DAY" , "MARLENE (from the BERLIN SUITE)" ]