packages feed

hscdio-0.1.0.0: test/Test/Libcdio/Upstream/Foreign/OsX.hs

{-|
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.OsX (tests) where


import qualified Test.HUnit as U
import Test.HUnit ( (@?), (~:) )

import qualified Data.Maybe as Y

import Foreign.Libcdio.Device
import Foreign.Libcdio.Disc

import Test.Libcdio.Upstream.Foreign.Common


tests :: U.Test
tests = "Foreign.Libcdio.Test.OsX" ~: U.TestList tests'
  where tests' | haveDriver DriverOsX =
                  [ find DriverOsX Nothing check
                  ]
               | otherwise = []

check :: (Cdio, String) -> U.Assertion
check (cdio, source) = do
    checkSource cdio [source]
    -- can't supply arbitrary access modes
    --checkAccessMode cdio ["OS X"]
    
    m <- discMode cdio
    Y.isJust m @? "Error getting disc mode for device '" ++ source ++ "'"