ribosome-0.9.9.9: test/Ribosome/Test/UndoTest.hs
module Ribosome.Test.UndoTest where
import Polysemy.Test (UnitTest, assertEq)
import Ribosome.Api.Buffer (currentBufferContent, setCurrentBufferContent)
import Ribosome.Api.Register (setregLine, unnamedRegister)
import Ribosome.Api.Window (setCurrentCursor)
import Ribosome.Host.Api.Effect (nvimCommand)
import Ribosome.Host.Test.Run (embedTest_)
test_undo :: UnitTest
test_undo =
embedTest_ do
setCurrentBufferContent orig
setCurrentCursor 1 0
setregLine unnamedRegister new
nvimCommand "normal! p"
assertEq (orig <> new) =<< currentBufferContent
nvimCommand "undo"
assertEq orig =<< currentBufferContent
where
orig =
["line1", "line2"]
new =
["new1", "new2"]