| Tests for undo tree. |
| Since this script is sourced we need to explicitly break changes up in |
| undo-able pieces. Do that by setting 'undolevels'. |
| Also tests :earlier and :later. |
| |
| STARTTEST |
| :echo undotree().entries |
| ENDTEST |
| |
| STARTTEST |
| :" Delete three characters and undo |
| Gx:set ul=100 |
| x:set ul=100 |
| x:.w! test.out |
| g-:.w >>test.out |
| g-:.w >>test.out |
| g-:.w >>test.out |
| g-:.w >>test.out |
| :" |
| :/^111/w >>test.out |
| :" Delete three other characters and go back in time step by step |
| $x:set ul=100 |
| x:set ul=100 |
| x:.w >>test.out |
| :sleep 1 |
| g-:.w >>test.out |
| g-:.w >>test.out |
| g-:.w >>test.out |
| g-:.w >>test.out |
| g-:.w >>test.out |
| g-:.w >>test.out |
| g-:.w >>test.out |
| g-:.w >>test.out |
| 10g+:.w >>test.out |
| :" |
| :/^222/w >>test.out |
| :" Delay for three seconds and go some seconds forward and backward |
| :sleep 2 |
| Aa:set ul=100 |
| Ab:set ul=100 |
| Ac:set ul=100 |
| :.w >>test.out |
| :ear 1s |
| :.w >>test.out |
| :ear 3s |
| :.w >>test.out |
| :later 1s |
| :.w >>test.out |
| :later 1h |
| :.w >>test.out |
| :" |
| :" test undojoin |
| Goaaaa:set ul=100 |
| obbbbu:.w >>test.out |
| obbbb:set ul=100 |
| :undojoin |
| occccu:.w >>test.out |
| :e! Xtest |
| ione one one:set ul=100 |
| :w! |
| otwo:set ul=100 |
| otwo:set ul=100 |
| :w |
| othree:earlier 1f |
| :" expect "one one one\ntwo\ntwo" |
| :%yank a |
| :earlier 1f |
| :" expect "one one one" |
| :%yank b |
| :earlier 1f |
| :" expect empty line |
| :%yank c |
| :later 1f |
| :" expect "one one one" |
| :%yank d |
| :later 1f |
| :" expect "one one one\ntwo\ntwo" |
| :%yank e |
| :later 1f |
| :" expect "one one one\ntwo\ntwo\nthree" |
| ggO---:0put e |
| ggO---:0put d |
| ggO---:0put c |
| ggO---:0put b |
| ggO---:0put a |
| ggO---:w >>test.out |
| :so small.vim |
| :set nocp viminfo+=nviminfo |
| :enew! |
| oa: |
| :set ul=100 |
| ob: |
| :set ul=100 |
| o1a2=setline('.','1234') |
| |
| uu:" |
| oc: |
| :set ul=100 |
| o1a2=setline('.','1234') |
| |
| u:" |
| od: |
| :set ul=100 |
| o1a2=string(123) |
| u:" |
| :%w >>test.out |
| :qa! |
| ENDTEST |
| |
| 1111 ----- |
| 2222 ----- |
| |
| 123456789 |