packages feed

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