i3ipc-0.1.0.0: test/Spec.hs
import Test.Hspec
import qualified Data.ByteString.Lazy as BL
import Data.Aeson ( decode )
import Data.Maybe ( isJust )
import qualified I3IPC.Event as Evt
import qualified I3IPC.Reply as Reply
main :: IO ()
main = hspec $ do
describe "Events" $ do
it "Deserialize WindowEvent" $ do
f <- BL.readFile "./test/event/winevent.json"
let w = decode f :: Maybe Evt.WindowEvent
isJust w `shouldBe` True
it "Deserialize WorkspaceEvent" $ do
f <- BL.readFile "./test/event/workspace.json"
let w = decode f :: Maybe Evt.WorkspaceEvent
isJust w `shouldBe` True
describe "Replies" $ do
it "Deserialise OutputReply" $ do
f <- BL.readFile "./test/reply/output.json"
let o = decode f :: Maybe Reply.OutputsReply
isJust o `shouldBe` True
it "Deserialise TreeReply" $ do
f <- BL.readFile "./test/reply/tree.json"
let o = decode f :: Maybe Reply.Node
isJust o `shouldBe` True
it "Deserialise VersionReply" $ do
f <- BL.readFile "./test/reply/version.json"
let o = decode f :: Maybe Reply.VersionReply
isJust o `shouldBe` True
it "Deserialise WorkspaceReply" $ do
f <- BL.readFile "./test/reply/workspace.json"
let o = decode f :: Maybe Reply.WorkspaceReply
isJust o `shouldBe` True