ribosome-root-0.3.0.0: test/u/SyntaxSpec.hs
{-# LANGUAGE TemplateHaskell #-}
{-# OPTIONS_GHC -F -pgmF htfpp #-}
module SyntaxSpec(
htf_thisModulesTests,
) where
import Chiasma.Data.TmuxError (TmuxError)
import Chiasma.Test.Tmux (TmuxTestConf(..))
import Data.DeepPrisms (deepPrisms)
import Data.Default (def)
import Test.Framework
import Ribosome.Api.Buffer (setCurrentBufferContent)
import Ribosome.Api.Syntax (executeSyntax)
import Ribosome.Control.Monad.Ribo (Ribo)
import Ribosome.Data.Syntax (
Syntax(Syntax),
syntaxHighlight,
syntaxMatch,
)
import Ribosome.Error.Report.Class (ReportError(..))
import Ribosome.System.Time (sleep)
import Ribosome.Test.Embed (defaultTestConfig)
import Ribosome.Test.Screenshot (assertScreenshot)
import Ribosome.Test.Tmux (tmuxSpec')
import TestError (TestError)
data SyntaxSpecError =
Test TestError
|
Tmux TmuxError
deepPrisms ''SyntaxSpecError
instance ReportError SyntaxSpecError where
errorReport _ =
undefined
syntax :: Syntax
syntax =
Syntax [syntaxMatch "TestColons" "::"] [syntaxHighlight "TestColons"
[("cterm", "reverse"), ("ctermfg", "1"), ("gui", "reverse"), ("guifg", "#dc322f")]] []
syntaxSpec :: Ribo () SyntaxSpecError ()
syntaxSpec = do
setCurrentBufferContent ["function :: String -> Int", "function _ = 5"]
_ <- executeSyntax syntax
sleep 0.5
assertScreenshot "syntax" False 0
test_syntax :: IO ()
test_syntax =
tmuxSpec' def { ttcWidth = 300, ttcHeight = 51, ttcGui = False } (defaultTestConfig "syntax") def syntaxSpec