ribosome-0.9.9.9: test/Ribosome/Test/BufferTest.hs
module Ribosome.Test.BufferTest where
import Path (relfile)
import qualified Polysemy.Test as Test
import Polysemy.Test (UnitTest, assert, assertEq, evalMaybe, (/==), (===))
import Ribosome.Api.Buffer (bufferCount, bufferForFile, bufferIsFile, edit)
import Ribosome.Data.FileBuffer (FileBuffer (FileBuffer))
import Ribosome.Host.Api.Effect (nvimGetCurrentBuf)
import Ribosome.Host.Test.Run (embedTest_)
test_bufferForFile :: UnitTest
test_bufferForFile =
embedTest_ do
file1 <- Test.tempFile [] [relfile|file.x|]
file2 <- Test.tempFile [] [relfile|file.y|]
edit file1
edit file2
assertEq 2 =<< bufferCount
cb <- nvimGetCurrentBuf
assert =<< bufferIsFile cb
FileBuffer buf path <- evalMaybe =<< bufferForFile file1
cb /== buf
path === file1