| 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'. |
| |
| 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 |
| :qa! |
| ENDTEST |
| |
| 1111 ----- |
| 2222 ----- |
| |
| 123456789 |