Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
53 lines (41 sloc) 1.09 KB
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Control.Monad
import System.Directory
import System.INotify as INotify
import Utils
file, file2 :: String
file = "hello"
file2 = "hello2"
write :: String -> IO ()
write path =
writeFile (path ++ '/':file) ""
move :: String -> IO ()
move path =
renameFile (path ++ '/':file) (path ++ '/':file2)
remove :: String -> IO ()
remove path =
removeFile (path ++ '/':file2)
action :: String -> IO ()
action path = do
write path
move path
remove path
main :: IO ()
main =
inTestEnviron [AllEvents] action $ \ events -> do
let cookie = head [ c | MovedOut _ _ c <- events ]
when (expected cookie ~= events)
testSuccess
putStrLn $ explainFailure (expected cookie) events
testFailure
expected :: Cookie -> [Event]
expected cookie =
[ Created False "hello"
, Opened False (Just "hello")
, Modified False (Just "hello")
, Closed False (Just "hello") True
, MovedOut False "hello" cookie
, MovedIn False "hello2" cookie
, Deleted False "hello2"
]