{-| Description: Copyright: (c) 2019 Sam May License: GPL-3.0-or-later Maintainer: ag@eitilt.life Stability: experimental Portability: portable -} module Test.Libcdio.Upstream.Foreign.Track (tests) where import qualified Test.HUnit as U import Test.HUnit ( (@?), (@=?), (~:) ) import qualified Data.Maybe as Y import Foreign.Libcdio.Device import Foreign.Libcdio.Track import Test.Libcdio.Upstream.Foreign.Common tests :: U.Test tests = "Foreign.Libcdio.Test.Track" ~: U.TestList [ open ] open :: U.Test open = "Track accessing works correctly" ~: U.TestCase $ do c <- cdioOpen (Just . dataFile $ "cdda.cue") DriverUnknown cdio <- case c of Nothing -> U.assertFailure "Can't open the image file" Just c' -> return c' t <- trackAt cdio 1000 Y.isNothing t @? "Overlarge addresses aren't caught" ts <- mapM (trackAt cdio) $ 301 : [0..9] mapM_ (Just 1 @=?) ts l <- trackAt cdio 302 Just DiscLeadout @=? l