chromatin-0.1.0.0: test/u/RunSpec.hs
{-# OPTIONS_GHC -F -pgmF htfpp #-}
module RunSpec(
htf_thisModulesTests
) where
import Control.Monad.IO.Class (liftIO)
import Neovim (vim_call_function', toObject, vim_command)
import Test.Framework
import UnliftIO.Directory (getCurrentDirectory)
import Chromatin.Data.Chromatin (Chromatin)
import Chromatin.Data.ActiveRplugin (ActiveRplugin(ActiveRplugin))
import Chromatin.Data.Rplugin (Rplugin(Rplugin))
import Chromatin.Data.RpluginName (RpluginName(RpluginName))
import Chromatin.Data.RpluginSource (RpluginSource(Stack))
import Chromatin.Test.Unit (specWithDef)
import Chromatin.Run (runRplugin)
import qualified Chromatin.Run as RunRpluginResult (RunRpluginResult(Success))
import Config (vars)
runSpec :: Chromatin ()
runSpec = do
cwd <- getCurrentDirectory
let rplugin = Rplugin (RpluginName "chromatin") (Stack cwd)
result <- runRplugin rplugin
_ <- vim_command "sleep 500m"
exists <- vim_call_function' "exists" [toObject ":CrmDiag"]
liftIO $ assertEqual (RunRpluginResult.Success (ActiveRplugin 3 rplugin)) result
liftIO $ assertEqual (toObject (2 :: Int)) exists
test_run :: IO ()
test_run =
vars >>= specWithDef runSpec