packages feed

chiasma-test-0.10.0.0: integration/Chiasma/Test/CaptureTest.hs

module Chiasma.Test.CaptureTest where

import Polysemy.Test (UnitTest, assertEq)

import Chiasma.Command.Pane (capturePane, sendKeys)
import Chiasma.Data.SendKeysParams (Key (Lit))
import qualified Chiasma.Data.TmuxError as TmuxError
import Chiasma.Data.TmuxError (TmuxError)
import Chiasma.Effect.TmuxClient (ScopedTmux)
import Chiasma.Test.Tmux (tmuxTest)
import Chiasma.Test.Wait (assertWait)
import Chiasma.Tmux (withTmux)

test_capture :: UnitTest
test_capture =
  tmuxTest do
    restop @TmuxError @(ScopedTmux _ _) do
      withTmux $ resumeHoist TmuxError.codec do
        sendKeys 0 [Lit "echo 1"]
        assertWait (capturePane 0) (assertEq ["$ echo 1", "1", "$"])